Cause:
This vectorization diagnostic is emitted starting from Intel(R) C++ Compiler 15.0. This diagnostic message is emitted when we have a nested "for" loop and the inner loop is vectorized. When the inner "for" loop is vectorized, this diagnostic is emitted for the outer loop.
Examples:
#define N 1000 float A[N][N]; void foo(int n){ int i,j; for (i=0;i<n;i++){ for (j=0;j<n;j++){ A[i][j]++; } } }
$ icpc test52.cc -c -qopt-report2 -qopt-report-phase=vec -qopt-report-file=stderr
Begin optimization report for: foo(int)
Report from: Vector optimizations [vec]
LOOP BEGIN at test52.cc(5,3)
remark #15542: loop was not vectorized: inner loop was already vectorized
LOOP BEGIN at test52.cc(6,5)
remark #15399: vectorization support: unroll factor set to 4
remark #15300: LOOP WAS VECTORIZED
LOOP END
LOOP BEGIN at test52.cc(6,5)
<Remainder>
remark #15301: REMAINDER LOOP WAS VECTORIZED
LOOP END
LOOP BEGIN at test52.cc(6,5)
<Remainder>
LOOP END
LOOP END