8.2  Overview of SSE Floating-Point Exceptions

When an exceptional floating-point condition is detected during the execution of an SSE instruction, one of the exception flags MXCSR[5:0] may be set. If an exception flag is set and the corresponding mask bit in MXCSR[12:7] is 0, then execution of the instruction is terminated, no value is written to the destination, and an exception is generated. Otherwise, depending on the exceptional condition, either a default value is determined or execution proceeds.

The exceptional conditions are partitioned into two classes and are detected during two distinct phases of execution. The following two-step procedure is followed by both packed and scalar SSE floating-point instructions. Note that in the case of a packed instruction, the procedure is complicated by the requirement of parallel execution:

Pre- and post-computation SSE exceptions are discussed in detail in the following two subsections.

David Russinoff 2017-08-01