
190
Chapter 4: 128-Bit Media and Scientific Programming
AMD 64-Bit Technology
24593—Rev. 3.09—September 2003
location to the high-order 64 bits of an XMM register, or from
the high-order 64 bits of an XMM register to a 64-bit memory
location. In the memory-to-register case, the low-order 64 bits of
the destination XMM register are not modified.
The MOVLPS and MOVLPD instructions copy a vector of two
single-precision floating-point values (MOVLPS) or one double-
precision floating-point value (MOVLPD) from a 64-bit memory
location to the low-order 64 bits of an XMM register, or from the
low-order 64 bits of an XMM register to a 64-bit memory
location. In the memory-to-register case, the high-order 64 bits
of the destination XMM register are not modified.
The MOVHLPS instruction copies a vector of two single-
precision floating-point values from the high-order 64 bits of an
XMM register to the low-order 64 bits of another XMM register.
The high-order 64 bits of the destination XMM register are not
modified. The MOVLHPS instruction performs an analogous
operation except in the opposite direct (low-order to high-
order), and the low-order 64 bits of the destination XMM
register are not modified.
The MOVSS instruction copies a scalar single-precision
floating-point value from the low-order 32 bits of an XMM
register or a 32-bit memory location to the low-order 32 bits of
another XMM register, or vice versa. If the source operand is an
XMM register, the high-order 96 bits of the destination XMM
register are not modified. If the source operand is a 32-bit
memory location, the high-order 96 bits of the destination XMM
register are cleared to all 0s.
The MOVSD instruction copies a scalar double-precision
floating-point value from the low-order 64 bits of an XMM
register or a 64-bit memory location to the low-order 64 bits of
another XMM register, or vice versa. If the source operand is an
XMM register, the high-order 64 bits of the destination XMM
register are not modified. If the source operand is a memory
location, the high-order 64 bits of the destination XMM register
are cleared to all 0s.
The above MOVSD instruction should not be confused with the
same-mnemonic MOVSD (move string doubleword) instruction
in the general-purpose instruction set. Assemblers distinguish
the two instructions by their operand data types.