
Chapter 4: 128-Bit Media and Scientific Programming
187
24593—Rev. 3.09—September 2003
AMD 64-Bit Technology
Save and Restore Control and Status.
STMXCSR—Store MXCSR Control/Status Register
LDMXCSR—Load MXCSR Control/Status Register
The STMXCSR and LDMXCSR instructions save and restore
the 32-bit contents of the MXCSR register. For further
information, see “MXCSR Register” on page 140.
4.6
Instruction Summary—Floating-Point Instructions
This section summarizes the functions of the floating-point
instructions in the 128-bit media instruction subset. These
include floating-point instructions that use an XMM register for
source or destination and data-conversion instructions that
convert from floating-point to integers formats. For a summary
of the integer instructions in the 128-bit media instruction
subset, including data-conversion instructions that convert
from integer to floating-point formats, see “Instruction
Summary—Integer Instructions” on page 160.
For a summary of the 64-bit media floating-point instructions,
see “Instruction Summary—Floating-Point Instructions” on
page 265. For a summary of the x87 floating-point instructions,
see “Instruction Summary” on page 315.
The instructions are organized here by functional group—such
as data-transfer, vector arithmetic, and so on. Software running
at any privilege level can use any of these instructions, if the
CPUID instruction reports support for the instructions (see
“Feature Detection” on page 209). More detail on individual
instructions is given in the alphabetically organized “128-Bit
Media Instruction Reference” on page 1.
4.6.1
Syntax
The 128-bit media floating-point instructions have the same
syntax rules as those for the 128-bit media integer instructions,
described in “Syntax” on page 160. For an illustration of typical
syntax, see Figure 4-16 on page 160.
4.6.2
Data Transfer
The data-transfer instructions copy operands between 32-bit,
64-bit, or 128-bit memory locations and XMM registers. The
MOV mnemonic, which stands for
move
, is a misnomer. A copy
function is actually performed instead of a move. A new copy of
the source value is created at the destination address, and the
original copy remains unchanged at its source location.