4:516
Volume 4: IA-32 SSE Instruction Reference
LDMXCSR: Load SSE Control/Status
Operation:
MXCSR = m32;
Description:
The MXCSR control/status register is used to enable masked/unmasked exception
handling, to set rounding modes, to set flush-to-zero mode, and to view exception
status flags. The following figure shows the format and encoding of the fields in MXCSR.
31-16
15
10
5
0
Bits 5-0 indicate whether an SSE numerical exception has been detected. They are
“sticky” flags, and can be cleared by using the LDMXCSR instruction to write zeroes to
these fields. If a LDMXCSR instruction clears a mask bit and sets the corresponding
exception flag bit, an exception will not be immediately generated. The exception will
occur only upon the next SSE instruction to cause this type of exception. The Intel SSE
architecture uses only one exception flag for each exception. There is no provision for
individual exception reporting within a packed data type. In situations where multiple
identical exceptions occur within the same instruction, the associated exception flag is
updated and indicates that at least one of these conditions happened. These flags are
cleared upon reset.
Bits 12-7 configure numerical exception masking; an exception type is masked if the
corresponding bit is set and it is unmasked if the bit is clear. These enables are set upon
reset, meaning that all numerical exceptions are masked.
Bits 14-13 encode the rounding-control, which provides for the common
round-to-nearest mode, as well as directed rounding and true chop. Rounding control
affects the arithmetic instructions and certain conversion instructions. The encoding for
RC is as follows:
The rounding-control is set to round to nearest upon reset.
Opcode
Instruction
Description
0F,AE,/2
LDMXCSR m32
Load SSE control/status word from m32.
Reserved
FZ
RC
RC
PM
UM
OM
ZM
DM
IM
Rsvd
PE
UE
OE
ZE
DE
IE
Rounding Mode
RC Field
Description
Round to nearest (even)
00B
Rounded result is the closest to the infinitely
precise result. If two values are equally
close, the result is the even value (that is,
the one with the least-significant bit of zero).
Round down (to minus infinity)
01B
Rounded result is close to but no greater
than the infinitely precise result
Round up (toward positive infinity)
10B
Rounded result is close to but no less than
the infinitely precise result.
Round toward zero (truncate)
11B
Rounded result is close to but no greater in
absolute value than the infinitely precise
result.
Summary of Contents for ITANIUM ARCHITECTURE
Page 1: ......
Page 7: ...402 Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 199: ...4 192 Volume 4 Base IA 32 Instruction Reference FWAIT Wait See entry for WAIT ...
Page 352: ...Volume 4 Base IA 32 Instruction Reference 4 345 ROL ROR Rotate See entry for RCL RCR ROL ROR ...
Page 589: ...4 582 Volume 4 IA 32 SSE Instruction Reference ...
Page 590: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 Index ...
Page 591: ...Index Intel Itanium Architecture Software Developer s Manual Rev 2 3 ...
Page 603: ...INDEX Index 12 Index for Volumes 1 2 3 and 4 ...
Page 604: ......