- MOVAPD
In the x86 assembly programming language, MOVAPD is the name for a specific action performable by modern x86 processors with 2nd-generation Streaming SIMD Extensions (SSE2). This action involves copying a pair of numbers to temporary space in the processor for use in other computations. MOVAPD is one of the fastest ways to accomplish this effect.
Specifically, MOVAPD causes a 16-byte-aligned packed-doubles source to be copied to an XMM register or a 16-byte memory region.
Usage
The source operand can be either an XMM register ("xmm2") or a memory address ("m128").
The destination operand can be either an XMM register ("xmm1") or a memory address ("m128"). Note, however, that the source and destination operands cannot both be memory addresses.
Potential Exceptions
If a memory address operand is not 16-byte-aligned, a general protection exception (#GP) will be raised.
References
*"gcc info page."
*"Intel 64 and IA-32 Architectures Optimization Reference Manual", November, 2006.
*"Intel 64 and IA-32 Architectures Software Developer's Manual Volume 2A: Instruction Set Reference, A-M", November, 2006.ee also
*
MOVAPS /MOVAPD
*MOVDDUP
*MOVHLPS
*MOVHPS /MOVHPD
*MOVLHPS
*MOVLPS /MOVLPD
*MOVMSKPS /MOVMSKPD
*MOVNTPS
*MOVSHDUP
*MOVSLDUP
*MOVSS /MOVSD
*MOVUPS /MOVUPD x86 instruction listings
Wikimedia Foundation. 2010.