是否存在合并MM和YMM技术的性能损失?

时间:2013-10-21 00:43:11

标签: optimization assembly intel sse avx

我必须避免在SSE和AVX之间切换。我认为MM们是不同的技术,但不得不问。下一个代码会导致处罚吗?:

vmovq XMM0, RAX
pinsrw MM0, EDX, 1
vmovd XMM5, EBX
movdq2q MM1, XMM2

1 个答案:

答案 0 :(得分:1)

MMX寄存器不会对AVX的低部分进行别名,因此没有像AVX256和SSE之间那样的状态转换危险。

然而

真的没有理由混合使用MMX和AVX(或者完全使用MMX,因为SSE是普遍可用的并且避免了与MMX使用相关的几种危险,并且还提供了更多的寄存器名称)。你为什么不简单地在AVX(或SSE?)

中完成所有操作