【发布时间】:2011-02-10 20:19:39
【问题描述】:
gcc 是否有内存对齐编译指示,类似于英特尔编译器中的#pragma vector aligned?
我想告诉编译器使用对齐的加载/存储指令优化特定循环。为避免可能的混淆,这与结构打包无关。
例如:
#if defined (__INTEL_COMPILER)
#pragma vector aligned
#endif
for (int a = 0; a < int(N); ++a) {
q10 += Ix(a,0,0)*Iy(a,1,1)*Iz(a,0,0);
q11 += Ix(a,0,0)*Iy(a,0,1)*Iz(a,1,0);
q12 += Ix(a,0,0)*Iy(a,0,0)*Iz(a,0,1);
q13 += Ix(a,1,0)*Iy(a,0,0)*Iz(a,0,1);
q14 += Ix(a,0,0)*Iy(a,1,0)*Iz(a,0,1);
q15 += Ix(a,0,0)*Iy(a,0,0)*Iz(a,1,1);
}
谢谢
【问题讨论】:
标签: optimization memory gcc alignment pragma