Intel® Fortran Compiler Vectorization Diagnostics
We have a similar catalog of vectorization diagnostics for the Intel® C++ Compiler HERE
The following diagnostic messages from the vectorization report produced by the Intel® Fortran Compiler. To obtain a vectorization report, use the -vec-report[n] option in Intel® Fortran for Linux* and Intel® Fortran Mac OS* X, or from the Intel® Visual Fortran for Windows /Qvec-report[:n] option.
| Diagnostics Number | Diagnostic Description |
| Diagnostic 15043 | loop was not vectorized: nonstandard loop is not a vectorization candidate |
| Diagnostic 15038 | loop was not vectorized: conditional assignment to a scalar |
| Diagnostic 15015 | loop was not vectorized: unsupported data type |
| Diagnostic 15011 | loop was not vectorized: statement cannot be vectorized |
| Diagnostic 15046 | loop was not vectorized: existence of vector dependence |
| Diagnostic 15018 | loop was not vectorized: not inner loop |
| Diagnostic 15002 | LOOP WAS VECTORIZED |
| Diagnostic 15003 | PARTIAL LOOP WAS VECTORIZED OpenMP SIMD LOOP WAS VECTORIZED REMAINDER LOOP WAS VECTORIZED FUSED LOOP WAS VECTORIZED REVERSED LOOP WAS VECTORIZED |
| Diagnostic 15037 | loop was not vectorized: vectorization possible but seems inefficient remainder loop was not vectorized: vectorization possible but seems inefficient |
| Diagnostic 15144 | vectorization support: unroll factor set to xxxx |
| Diagnostic 15133 | vectorization support: reference xxxx has aligned access |
| Diagnostic 15143 | loop was not vectorized: loop was transformed to memset or memcpy |
| Diagnostic 15023 | loop was not vectorized: unsupported loop structure |
| Diagnostic 15134 | vectorization support: reference xxxx has unaligned access |
| Diagnostic 15126 | vectorization support: unaligned access used inside loop body |
| Diagnostic 15048 | vector dependence: assumed ANTI dependence between xxxx line and xxxx line |
| Diagnostic 15042 | pragma supersedes previous setting |
| Diagnostic 15033 | loop was not vectorized: modifying order of operation not allowed under given switches |
| Diagnostic 15032 | loop was not vectorized: unsupported reduction |
| Diagnostic 15040 | loop was not vectorized: no instance of vectorized math function satisfies specified math function attributes |
| Diagnostic 15028 | loop was not vectorized: must preserve precise exceptions under given switches |
| Diagnostic 15021 | loop was not vectorized: #pragma novector used |
| Diagnostic 15123 | loop was not vectorized: the freestanding compiler flag prevents vector library calls |
| Diagnostic 13398 | Default vector length for function 'xxxx' is 1 and therefore invalid. A valid vector length needs to be explicitly specified. |
| Diagnostic 13399 | The 'xxxx' processor is not supported for vector functions. |
| Diagnostic 13395 | Command line flag overrides the target processor to 'xxxx' for the vector function xxxx where processor clause is 'xxxx'. |
| Diagnostic 15092 | FUNCTION WAS VECTORIZED. |
| Diagnostic 15140 | The function 'xxxx' declared as vector function in one module does not have prototype in another module. |
| Diagnostic 15142 | No suitable vector variant of function 'xxxx' found. |
| Diagnostic 15127 | vectorization support: call to function xxxx cannot be vectorized |
| Diagnostic 13378 | loop was not vectorized with "simd assert" |
| Diagnostic 13379 | loop was not vectorized with "simd" |
| Diagnostic 18015 | Switch statement inside #pragma simd loop has more than <var> case labels |
| Diagnostic 18016 | Switch statement in vector function has more than <var> case labels |
| Diagnostic 15125 | Invalid vectorlength clause specified |
| Diagnostic 15017 | loop was not vectorized: low trip count |
| Diagnostic 15167 | loop was not vectorized: memory reference is not naturally aligned |
| Diagnostic 13400 | The 'xxxx' processor specified in command line is not supported as default for vector functions |
| Diagnostic 15163 | vectorization support: number of FP up converts: single precision to double precision <val> |
| Diagnostic 15164 | vectorization support: number of FP down converts: double precision to single precision <val> |
| Diagnostic 15156 | vectorization support: conversion from float to int will be emulated |
| Diagnostic 15155 | conversion from int to float will be emulated |
| Diagnostic 15122 | function can't be vectorized: too many registers required to return value (big vector length) |
| Diagnostic 15135 | vectorization support: vectorization of this loop under -Os has impact on code size |