SIMD指令详解与应用
1. (v)pshuflw和(v)pshufhw指令
(v)pshuflw和(v)pshufhw指令用于支持在XMM或YMM寄存器内进行16位字的混洗操作。其语法如下:
pshuflw xmmdest, xmmsrc/mem128, imm8
pshufhw xmmdest, xmmsrc/mem128, imm8
vpshuflw xmmdest, xmmsrc/mem128, imm8
vpshufhw xmmdest, xmmsrc/mem128, imm8
vpshuflw ymmdest, ymmsrc/mem256, imm8
vpshufhw ymmdest, ymmsrc/mem256, imm8
- 128位lw变体 :将源操作数的高64位复制到XMMdest操作数的相同位置,然后使用索引(imm8)操作数从XMMsrc/mem128操作数的低四字中选择字通道0到3,移动到目标操作数的低4个通道。例如,若imm8的低2位为10b,则pshuflw指令会将源中的通道2复制到目标操作数的通道0。需要注意的是,pshuflw不会修改重叠YMM寄存器的高128位,而vpshuflw会将这些高位清零。
- 256位vpshuflw指令 :每次复制两对字,一对位于YMM目标寄存器的高128位,另一对位于低128位,以及256位源位置。索引(imm8)选择对于低128位和高128位是相同的。
- 128位hw变体
超级会员免费看
订阅专栏 解锁全文

784

被折叠的 条评论
为什么被折叠?



