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