##
SSE Data Movement

Tuesday, 25 April 2000 23:30
Stefano Tommesani

- MOVAPS transfers 128 bits of packed data from memory to SIMD floating-point registers and vice versa, or between SIMD floating-point registers, while MOVUPS makes no assumption for alignment.
- MOVHPS transfers 64 bits of packed data from memory to the upper two fields of a SIMD floating-point register and vice versa, leaving the lower two fields unchanged.
- MOVHLPS transfers the upper 64-bits of the source register into the lower 64-bits of the destination register, while MOVLHPS transfers the lower 64-bits of the source register into the upper 64-bits of destination register.
- MOVLHPS transfers the lower 64-bits of the source register into the upper 64-bits of the 128-bit destination register, leaving the lower 64-bits of the destination register unchanged.
- MOVLPS transfers 64 bits of packed data from memory to the lower two fields of a SIMD floating-point register and vice versa, leaving the upper two fields unchanged.
- MOVMSKPS transfers the most significant bit of each of the four, packed, single-precision, floating-point numbers to an x86 integer register: this 4-bit value can then be used as a condition to perform branching.
- MOVSS transfers the least significant 32 bits from memory to a SIMD floating-point register or vice versa, and between registers.

Last Updated on Thursday, 25 April 2013 23:50