汇编中看似微不足道的问题:我想将整个XMM0寄存器复制到XMM3。我试过了

movdq xmm3, xmm0


但是MOVDQ不能用于在两个XMM寄存器之间移动值。我该怎么办?

最佳答案

它是movapdmovapsmovdqa

movaps xmm3, xmm0


他们都做同样的事情,但是有一个陷阱:


movapdmovaps在浮点域中运行。
movdqa在整数域中运行


根据您的数据类型使用适当的一种,以避免域更改停顿。

另外,没有理由使用movapd。始终使用movaps代替,因为movapd需要一个额外的字节来编码。

08-07 14:36