Dianostic 15476: scalar loop cost: xxxx

By Anoop Madhusoodhanan Prabha,

Published:09/11/2014   Last Updated:09/11/2014

This vectorization diagnostic is emitted starting from Intel(R) C++ Compiler 15.0

Cause:

This vectorization diagnostic is emitted with report level 3 and above. This diagnostic message emits the static estimate of the number of execution cycles which each iteration of the loop body will take when it executes with scalar operands. Below is a code snippet which demonstrates this.

Examples:

#include<stdio.h>
#include<math.h>
#define SIZE 100
int main(){
    float a[SIZE], x;
    a[:] = __sec_implicit_index(0);
    x = __sec_reduce_all_zero(a[:] == 1 ? 0 : 1);
    printf("%fn",x);
    return 0;
}
$ icpc test11.cc -c -qopt-report3 -qopt-report-phase=vec -qopt-report-file=stderr

Begin optimization report for: main()

    Report from: Vector optimizations [vec]


LOOP BEGIN at test11.cc(6,12)
   remark #15300: LOOP WAS VECTORIZED
   remark #15449: unmasked aligned unit stride stores: 1
   remark #15475: --- begin vector loop cost summary ---
   remark #15476: scalar loop cost: 4
   remark #15477: vector loop cost: 1.000
   remark #15478: estimated potential speedup: 3.960
   remark #15479: lightweight vector operations: 4
   remark #15487: type converts: 1
   remark #15488: --- end vector loop cost summary ---
LOOP END

LOOP BEGIN at test11.cc(7,9)
   remark #15300: LOOP WAS VECTORIZED
   remark #15448: unmasked aligned unit stride loads: 1
   remark #15475: --- begin vector loop cost summary ---
   remark #15476: scalar loop cost: 165
   remark #15477: vector loop cost: 43.250
   remark #15478: estimated potential speedup: 3.810
   remark #15479: lightweight vector operations: 7
   remark #15481: heavy-overhead vector operations: 1
   remark #15488: --- end vector loop cost summary ---
LOOP END

 

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804