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