【发布时间】:2013-04-24 00:53:38
【问题描述】:
许多 SSE “mov”指令指定它们正在移动浮点值。例如:
- MOVHLPS - 将压缩单精度浮点值从高移到低
- MOVSD - 移动标量双精度浮点值
- MOVUPD - 移动未对齐的压缩双精度浮点值
为什么这些指令不简单地说它们移动 32 位或 64 位值?如果它们只是移动位,为什么指令指定它们用于浮点值?无论您是否将这些位解释为浮点,它们肯定会起作用吗?
【问题讨论】:
-
可能浮点数在协处理器寄存器上
-
这些指令在 SSE 寄存器 (xmm0-9) 上运行,它可以保存浮点或整数值。