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

Diagnostic 15537: loop was not vectorized: implied FP exception model prevents usage of SVML library needed for truncation or integer divide/remainder. Consider changing compiler flags and/or directives in the source to enable fast FP model and to mask FP

$
0
0

Cause:

This vectorization diagnostic is emitted starting from Intel(R) C++ Compiler 15.0. This diagnostic message is emitted when the loop attempted for vectorization is compiled with compiler option -fp-model strict. The vectorizer will not use the SVML library when user uses floating point model "strict" during the compilation. In order to get the vectorized version, the user should change the floating point model.

Examples:

void foo(int *a, int *b, int n){
  int i;
  for (i=0;i<n;i++){
    a[i] /= b[i];
  }
}

$ icpc test49.cc -c -qopt-report2 -qopt-report-phase=vec -qopt-report-file=stderr -fp-model strict

Begin optimization report for: foo(int *, int *, int)
    Report from: Vector optimizations [vec]
LOOP BEGIN at test49.cc(3,3)

<Multiversioned v1>
   remark #15537: loop was not vectorized: implied FP exception model prevents usage of SVML library needed for truncation or integer divide/remainder. Consider changing compiler flags and/or directives in the source to enable fast FP model and to mask FP exceptions   [ test49.cc(4,5) ]

LOOP END
LOOP BEGIN at test49.cc(3,3)

<Multiversioned v2>
   remark #15304: loop was not vectorized: non-vectorizable loop instance from multiversioning

LOOP END


Viewing all articles
Browse latest Browse all 3384

Trending Articles



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