Many SSE "mov" instructions specify that they are moving floating-point values. For example:
- MOVHLPS—Move Packed Single-Precision Floating-Point Values High to Low
- MOVSD—Move Scalar Double-Precision Floating-Point Value
- MOVUPD—Move Unaligned Packed Double-Precision Floating-Point Values
Why don't these instructions simply say that they move 32-bit or 64-bit values? If they're just moving bits around, why do the instructions specify that they are for floating-point values? Surely they would work whether you interpret those bits as floating-point or not?