Diagnostic 15142: No suitable vector variant of function 'xxxx' found

Cause:

This diagnostic message is emitted when there is no matching vector version of the function which is invoked from a loop. Here since the vector version of the function is not available, the scalar version of the function is called in succession to emulate the vector behavior. Below is an example for this scenario.


Examples:
 


__declspec(vector(uniform(a)))

	int foo(int a);

void bar(int *A, int n){

	int i;

	#pragma simd for(i=0;i<n;i++){

	A[i] = foo(i);

	}

	}


$ icc example6.c -vec-report2 -c
example6.c(8): (col. 12) remark: No suitable vector variant of function 'foo' found
example6.c(7): (col. 3) remark: SIMD LOOP WAS VECTORIZED

Recommendation:

Use the following delcaration for the SIMD-enabled function: __declspec(vector(linear(i:1)))

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