Diagnostic 15156: vectorization support: conversion from float to int will be emulated

Cause:

This diagnostic message is emitted here because within the loop body there is an assignment statement such that the value of a float variable is assigned to a integer variable. So this results in a implicit conversion from float to int. Below is an example for this scenario:

Example:

void foo(unsigned int *a, double *b, int n){
  int i;
#pragma simd  
for (i=0; i<n; i++){
    a[i] = b[i];
  }
}


$ icc conv1.c -vec-report6 -c
conv1.c(5): (col. 5) remark: vectorization support: reference a has aligned access
conv1.c(5): (col. 5) remark: vectorization support: reference b has aligned access
conv1.c(5): (col. 12) remark: vectorization support: conversion from float to int will be emulated
conv1.c(4): (col. 3) remark: SIMD LOOP WAS VECTORIZED

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