Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Diagnostic 15335: xxxx was not vectorized: vectorization possible but seems inefficient. Use vector always directive or -vec-threshold0 to override

$
0
0

Cause:

This vectorization diagnostic is emitted starting from Intel(R) C++ Compiler 15.0. By default the compiler heuristics decides the vectorization potential of each loop and only vectorizes when the vectorization threshold value is 100%. If the vectorization threshold lesser than 100%, it considers the vectorization as inefficient. This diagnostic message is emitted when the above condition is encountered. 

Examples:

void foo(int *b, int N){
  int i;
  for (i=0; i<5; i++) {
    b[2*i] = b[2*i] + 1;
  }
}
$ icpc test33.c -c -qopt-report2 -qopt-report-phase=vec -qopt-report-file=stderr
Begin optimization report for: foo(int *, int)
    Report from: Vector optimizations [vec]

LOOP BEGIN at test33.c(3,3)
   remark #15335: loop was not vectorized: vectorization possible but seems inefficient. Use vector always directive or -vec-threshold0 to override
LOOP END
 
Resolution:
 
Use #pragma vector allways or use compiler option -vec-threshold0 to override the compiler heuristics. ​

Viewing all articles
Browse latest Browse all 3384

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>