3-638 Vol. 2A MOVLHPS—Move Packed Single-Precision Floating-Point Values Low to High
INSTRUCTION SET REFERENCE, A-M
MOVLHPS—Move Packed Single-Precision Floating-Point Values Low to
High
Description
Moves two packed single-precision floating-point values from the low quadword of
the source operand (second operand) to the high quadword of the destination
operand (first operand). The low quadword of the destination operand is left
unchanged.
In 64-bit mode, use of the REX.R prefix permits this instruction to access additional
registers (XMM8-XMM15).
Operation
DEST[127:64] ← SRC[63:0];
(* DEST[63:0] unchanged *)
Intel C/C++ Compiler Intrinsic Equivalent
MOVHLPS __m128 _mm_movelh_ps(__m128 a, __m128 b)
SIMD Floating-Point Exceptions
None.
Protected Mode Exceptions
#NM If CR0.TS[bit 3] = 1.
#UD If CR0.EM[bit 2] = 1.
If CR4.OSFXSR[bit 9] = 0.
If CPUID.01H:EDX.SSE[bit 25] = 0.
If the LOCK prefix is used.
Real Address Mode Exceptions
Same exceptions as in protected mode.
Virtual 8086 Mode Exceptions
Same exceptions as in protected mode.
Opcode Instruction 64-Bit
Mode
Compat/
Leg Mode
Description
OF 16 /r MOVLHPS xmm1,
xmm2
Valid Valid Move two packed single-precision
floating-point values from low quadword
of xmm2 to high quadword of xmm1.