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

class="wikitable"
Opcode

! Assembly (Intel syntax)

! Assembly (AT&T syntax)

! {{mono|icc}} intrinsic equivalent(s)

! {{mono|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

{{Empty section|date=July 2010}}

References

  • {{mono|gcc}} {{mono|info}} page.
  • Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M, November, 2006.

See also