我有一個向量,存儲在AVX寄存器中的元素{a0,a1,a2,a3}。現在,我想提出三點新的向量(也應該被存儲爲__m256d變量),可以說,b,c和d,包含以下元素: b = {a0,a1,a0,a0}
c = {a1,a2,a2,a1}
d = {a2,a3,a3,a2}
我怎樣才能做到這一點使用AVX?
我想交換兩個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