相关疑难解决方法(0)

VPERMILPS指令的重点是什么(_mm_permute_ps)?

AVX指令集引入了VPERMILPS,它似乎是SHUFPS的简化版本(对于两个输入寄存器相同的情况).

例如,以下说明:

c5 f0 c6 c1 00          vshufps xmm0,xmm1,xmm1,0x0
Run Code Online (Sandbox Code Playgroud)

可以替换为:

c4 e3 79 04 c1 00       vpermilps xmm0,xmm1,0x0
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,VPERMILPS版本需要额外增加一个字节并执行相同的操作.根据指令表,两条指令占用1个CPU周期并具有相同的吞吐量.

引入这种指令有什么意义?我错过了什么吗?

编辑:这两个指令的区别之一.VPERMILPS将上部通道设置为零,而SHUFPS使它们不受影响.

x86 assembly instruction-set avx

11
推荐指数
1
解决办法
271
查看次数

标签 统计

assembly ×1

avx ×1

instruction-set ×1

x86 ×1