SIMD指令详解:从数据插入到整数运算
1. 数据插入指令
在SIMD编程中,有一系列用于数据插入的指令,如 pinsr* 和 vpinsr* 。这些指令的目标操作数是一个128位的XMM寄存器。 pinsr* 指令的源操作数可以是内存位置或32位通用寄存器( pinsrq 指令需要64位寄存器),第三个操作数是一个8位立即值,用于指定索引(车道号)。
以下是这些指令的具体形式:
pinsrw xmmdest, reg32, imm8 ; imm8 = 0 to 7
pinsrw xmmdest, mem16, imm8 ; imm8 = 0 to 7
vpinsrw xmmdest, xmmsrc2, reg32, imm8 ; imm8 = 0 to 7
vpinsrw xmmdest, xmmsrc2, mem16, imm8 ; imm8 = 0 to 7
pinsrd xmmdest, reg32, imm8 ; imm8 = 0 to 3
pinsrd xmmdest, mem32, imm8 ; imm8 = 0 to 3
vpinsrd xmmdest, xmmsrc2, reg32, imm8 ; imm8 = 0 to 3
vpinsrd xmmdest, xmmsrc2, mem32, imm8 ; imm8 = 0 to 3
pinsrq xmmdest, reg64, im
超级会员免费看
订阅专栏 解锁全文
2万+

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



