Diagnostic 15155: vectorization support: conversion from int to float 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 long long int variable is assigned to a double variable. So this results in a implicit conversion from int to double precision floating point. Below is an example for this scenario:

Example:

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


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

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