Vol. 2A 3-663
INSTRUCTION SET REFERENCE, A-M
MOVQ—Move Quadword
MOVQ—Move Quadword
Description
Copies a quadword from the source operand (second operand) to the destination
operand (first operand). The source and destination operands can be MMX tech-
nology registers, XMM registers, or 64-bit memory locations. This instruction can be
used to move a quadword between two MMX technology registers or between an
MMX technology register and a 64-bit memory location, or to move data between two
XMM registers or between an XMM register and a 64-bit memory location. The
instruction cannot be used to transfer data between memory locations.
When the source operand is an XMM register, the low quadword is moved; when the
destination operand is an XMM register, the quadword is stored to the low quadword
of the register, and the high quadword is cleared to all 0s.
In 64-bit mode, use of the REX prefix in the form of REX.R permits this instruction to
access additional registers (XMM8-XMM15).
Operation
MOVQ instruction when operating on MMX technology registers and memory locations:
DEST ← SRC;
MOVQ instruction when source and destination operands are XMM registers:
DEST[63:0] ← SRC[63:0];
MOVQ instruction when source operand is XMM register and destination
operand is memory location:
DEST ← SRC[63:0];
MOVQ instruction when source operand is memory location and destination
operand is XMM register:
DEST[63:0] ← SRC;
Opcode Instruction 64-Bit
Mode
Compat/
Leg Mode
Description
0F 6F /r MOVQ mm, mm/m64 Valid Valid Move quadword from mm/m64
to mm.
0F 7F /r MOVQ mm/m64, mm Valid Valid Move quadword from mm to
mm/m64.
F3 0F 7E MOVQ xmm1, xmm2/m64 Valid Valid Move quadword from
xmm2/mem64 to xmm1.
66 0F D6 MOVQ xmm2/m64, xmm1 Valid Valid Move quadword from xmm1 to
xmm2/mem64.