3
我目前正在研究AVX Intrinsics来并行化我的代码。 至于现在我想写一个基准,看看我能得到多少加速。将整数数组装入AVX寄存器
void randomtable (uint32_t crypto[4][64])
{
int k = 1;
for (int i=0;i<4;i++)
{
k++;
for (int j=0;j<64;j++)
{ crypto[i][j]= (k+j)%64; }
}
}
int main (void)
{
uint32_t crypt0[4][64];
randomtable(crypt0);
__m256i ymm0 = _m256_load_si256(&crypt0[0][0]);
}
我的问题是如何将数组的前8个元素加载到ymm0中?
我正在用gcc编译-mavx -march =天然-g -O0 -std = C99
编译错误:错误:不兼容的类型使用类型初始化类型 '__m256i' 时 'INT'
你似乎已经用'_mm256_load_si256'(除了显而易见的错字)已经这样做了 - 你能更具体地说明实际问题吗? – 2014-09-10 12:01:08
以及我得到一个编译错误。使用GCC。 -mavx和-march = native被设置为CFLAGS ......错误:使用类型'int'初始化类型'__m256i'时的不兼容类型 – raddirad 2014-09-10 12:03:06
确定 - 请参阅下面的答案... – 2014-09-10 12:04:25