如何在XMM寄存器之间移动128位值?

时间:2011-12-29 17:58:09

标签: assembly simd sse

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

movdq xmm3, xmm0

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

1 个答案:

答案 0 :(得分:10)

movapdmovapsmovdqa

movaps xmm3, xmm0

他们都做同样的事情,但有一个问题:

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

根据您的数据类型使用适当的数据类型以避免域名更改。

此外,没有理由使用movapd。请始终使用movaps,因为movapd需要额外的字节进行编码。