我想交換兩個256位向量A和B中的16位值。夢幻般的方法是找到一個內置指令來完成它。不幸的是,我找不到,我認爲這項工作沒有任何指示。諸如洗牌,置換,混合等指令保留或破壞目的地中的值。是什麼我在尋找如下: vector A : |a0|a1|a2|a3|a4|a5|a6|a7||a8|a9|a10|a11|a12|a13|a14|a15|
Vector B : |b0|b1|b2|b3|b4|b5
我試圖通過對AVX2使用Intel intrinsincs將浮點值轉換爲整數值。我的簡單代碼如下: void convert_f2i(float *fin, int *iout, int iLen)
{
int i, index, iDiv8, iLeft;
int *iin1;
__m256 v0;
__m256i vi0;
iDiv8 = i