Diagnostic 15023: loop was not vectorized: unsupported loop structure

Cause:

This vectorization message is emitted when there are multiple exit points from a given loop.  Below is an example for this scenario. Here the for loop has two different points from the loop (Due to the call to exit(1)) and is not a good candidate for vectorization.

Example:

#include<iostream>
int main(){
double a[16], b[16], c[16];
  for (int i = 0; i < 16; i++) {
    if (a[i] != 5 ||
        b[i] != 2 ||
        c[i] != 0) {
      printf("failedn");
      exit(1);
      }
  }
return 0;
}


$ icc -vec-report2 example82.cc
example82.cc(4): (col. 3) remark: loop was not vectorized: unsupported loop structure

For more complete information about compiler optimizations, see our Optimization Notice.