为什么以下嵌套循环没有矢量化?

时间:2016-09-23 19:34:08

标签: c++ nested-loops simd

gcc godbolt代码。

gcc godbolt显示代码使用i386的imul指令,而不是_mm_mul_ps

#include <iostream>
using namespace std;
int main(void){
  int A[2400];
  int B[12];
  int iA, iB;

  //version 3
  for(iA = 0; iA < 200*3*4; iA+=1200){
    for(iB = 0; iB < 3*4; ++iA, ++iB){
      A[iA]*=B[iB];
    }   
  }
  for(iA = 0; iA < 200*3*4; iA++){
    cout<<A[iA];
  }
}

0 个答案:

没有答案