MOVHPD
Encyclopedia
In the x86 assembly programming language
, MOVHPD is the name for a specific action performable by modern x86 processors with 2nd-generation Streaming SIMD Extensions (SSE2)
. This action involves either copying a number from memory to temporary space or copying a number from temporary space to memory.
Specifically, MOVHPD causes the value at an 8-byte memory region to be either copied to or assigned from the upper half of an XMM register.
The source operand can be either an XMM register (xmm) or a memory address (m64). When the source operand is an XMM register, the destination operand must be a memory address. When the source operand is a memory address, the destination operand must be an XMM register.
Note that the lower half of the XMM register is unaffected by this operation.
x86 instruction listings
X86 assembly language
x86 assembly language is a family of backward-compatible assembly languages, which provide some level of compatibility all the way back to the Intel 8008. x86 assembly languages are used to produce object code for the x86 class of processors, which includes Intel's Core series and AMD's Phenom and...
, MOVHPD is the name for a specific action performable by modern x86 processors with 2nd-generation Streaming SIMD Extensions (SSE2)
SSE2
SSE2, Streaming SIMD Extensions 2, is one of the Intel SIMD processor supplementary instruction sets first introduced by Intel with the initial version of the Pentium 4 in 2001. It extends the earlier SSE instruction set, and is intended to fully supplant MMX. Intel extended SSE2 to create SSE3...
. This action involves either copying a number from memory to temporary space or copying a number from temporary space to memory.
Specifically, MOVHPD causes the value at an 8-byte memory region to be either copied to or assigned from the upper half of an XMM register.
Usage
Opcode | Assembly (Intel syntax) | Assembly (AT&T syntax) | icc Intel C++ Compiler Intel C++ Compiler is a group of C and C++ compilers from Intel Corporation available for GNU/Linux, Mac OS X, and Microsoft Windows.... intrinsic equivalent(s) |
gcc GNU Compiler Collection The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain... built-in(s) |
---|---|---|---|---|
66 0F 16 /r | MOVHPD xmm, m64 | MOVHPD m64, xmm | __m128d _mm_loadh_pd(__m128d a, double *dp) |
|
66 0F 17 /r | MOVHPD m64, xmm | MOVHPD xmm, m64 | void _mm_storeh_pd(double *pd, __m128d a) |
The source operand can be either an XMM register (xmm) or a memory address (m64). When the source operand is an XMM register, the destination operand must be a memory address. When the source operand is a memory address, the destination operand must be an XMM register.
Note that the lower half of the XMM register is unaffected by this operation.
See also
- MOVAPS/MOVAPDMOVAPDIn the x86 assembly programming language, MOVAPD is the name for a specific action performable by modern x86 processors with 2nd-generation Streaming SIMD Extensions . This action involves copying a pair of numbers to temporary space in the processor for use in other computations...
- MOVDDUPMOVDDUPIn the x86 assembly programming language, MOVDDUP is the name for a specific action performable by modern x86 processors with 3rd-generation Streaming SIMD Extensions...
- MOVHLPS
- MOVHPS/MOVHPD
- MOVLHPS
- MOVLPS/MOVLPD
- MOVMSKPS/MOVMSKPD
- MOVNTPS
- MOVSHDUP
- MOVSLDUP
- MOVSS/MOVSD
- MOVUPS/MOVUPD
x86 instruction listings
X86 instruction listings
The x86 instruction set has been extended several times, introducing wider registers and datatypes and/or new functionality.-x86 integer instructions:...