MOVHPD
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.
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