MOVHPD explained

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

OpcodeAssembly (Intel syntax)Assembly (AT&T syntax) intrinsic equivalent(s) 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

See also

x86 instruction listings