Intel 253666-024US Manuel D’Utilisation

Page de 760
3-630 Vol. 2A
MOVHLPS— Move Packed Single-Precision Floating-Point Values High to Low
INSTRUCTION SET REFERENCE, A-M
MOVHLPS— Move Packed Single-Precision Floating-Point Values High 
to Low
Description
Moves two packed single-precision floating-point values from the high quadword of 
the source operand (second operand) to the low quadword of the destination 
operand (first operand). The high 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[63:0] ← SRC[127:64];
(* DEST[127:64] unchanged *)
Intel C/C++ Compiler Intrinsic Equivalent
MOVHLPS __m128 _mm_movehl_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.
Opcode
Instruction
64-Bit 
Mode
Compat/
Leg Mode
Description
OF 12 /r
MOVHLPS xmm1, xmm2 Valid
Valid
Move two packed single-
precision floating-point values 
from high quadword of xmm2 to 
low quadword of xmm1.