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.
Usage
Opcode | Assembly (Intel syntax) | Assembly (AT&T syntax) | icc intrinsic equivalent(s) | gcc 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.
Potential exceptions
This section is empty. You can help by adding to it. (July 2010) |
References
- gcc info page.
- Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M, November, 2006.
See also
- MOVAPS/MOVAPD
- MOVDDUP
- MOVHLPS
- MOVHPS/MOVHPD
- MOVLHPS
- MOVLPS/MOVLPD
- MOVMSKPS/MOVMSKPD
- MOVNTPS
- MOVSHDUP
- MOVSLDUP
- MOVSS/MOVSD
- MOVUPS/MOVUPD