Quantcast
Channel: Intel Developer Zone Articles
Viewing all articles
Browse latest Browse all 3384

Diagnostic 15303: routine skipped: no vectorization candidates

$
0
0

Cause:

This diagnostic is emitted by Intel(R) C++ Compiler 14.0 and below. This diagnostic message is emitted when the function modifies the ebx/rbx register. Vectorization requires aligned stack frame: 16 bytes for XMM, 32 bytes for YMM and 64 bytes for ZMM. When EBX/RBX register is used in inline ASM, the necessary stack frame alignment may become unenforceable and hence vectorization attempts will stop.  

Examples:


void foo(int *A, int *B, int n){

	  int i;

  __asm {

	    push rbx

	    mov ebx, eax

	  }

  for (i=0;i<n;i++){

	    B[i] += A[i];

	  }

  __asm {

	    pop rbx

	  }

	}

$ icpc -c -vec-report2 test58.cc -fasm-blocks -xAVX
test58.cc(1): (col. 32) remark: routine skipped: no vectorization candidates

 


Viewing all articles
Browse latest Browse all 3384

Trending Articles