Cause:
This diagnostic message is emitted when a vector type conversion is attempted inside the loop which is not supported by hardware or emulation sequence. The vector type conversions supported (either by hardware or emulation sequence) are from {signed/unsigned-8/16/32/64bit integers, 32/64bit floats, and 64/128bit complex} to {signed/unsigned-8/16/32/64bit integers, 32/64bit floats, and 64/128bit complex}. QuAD precision FP is not directky supported by the harware. Below is an example for this scenario.
Example:
void foo2(double *a, long double *b, int n){ int i; #pragma ivdep for (i=0; i<n; i++){ a[i] = b[i]; } }
$ icc example20.c -c -vec-report2
example20.c(5): (col. 12) remark: loop was not vectorized: type conversion prohibits vectorization