<<<    Index    >>>
F-10
GUIDELINES FOR WRITING SIMD FLOATING-POINT EXCEPTION 
F.4.2.3.CONDITION CODES, EXCEPTION FLAGS, AND RESPONSE FOR 
MASKED AND UNMASKED NUMERIC EXCEPTIONS
In the following, the masked response is what the processor provides when a masked exception
is raised by a Streaming SIMD Extensions numeric instruction. The same response is provided
by the floating-point emulator for Streaming SIMD Extensions numeric instructions, when cer-
tain components of the quadruple input operands generate exceptions that are masked (the em-
ulator also generates the correct answer, as specified by the IEEE standard wherever applicable,
in the case when no floating-point exception occurs). The unmasked response is what the emu-
lator provides to the user handler for those components of the quadruple input operands of the
Streaming SIMD Extensions instructions that raise unmasked exceptions. Note that for pre-
computation exceptions (floating-point faults), no result is provided to the user handler. For
post-computation exceptions (floating-point traps), a result is also provided to the user handler,
as specified below.
In the following tables, the result is denoted by ’res’, with the understanding that for the actual
instruction, the destination coincides with the first source operand (except for COMISS and
UCOMISS, whose destination is the EFLAGS register).
Table F-11.  #I - Invalid Operations
Instruction
Condition
Masked Response
Unmasked 
Response and 
Exception Code
ADDPS
src1 or src2 = SNaN
Refer to Table F-1 for NaN 
operands, #IA=1
src1, src2 
unchanged, #IA=1
ADDSS 
src1=+Inf, src2 = -Inf or
src1=-Inf, src2 = +Inf
res = QNaN Indefinite, 
#IA=1
SUBPS
src1 or src2 = SNaN
Refer to Table F-1 for NaN 
operands, #IA=1
src1, src2 
unchanged, #IA=1
SUBSS 
src1=+Inf, src2 = +Inf or
src1=-Inf, src2 = -Inf
res = QNaN Indefinite, 
#IA=1
MULPS
src1 or src2 = SNaN
Refer to Table F-1 for NaN 
operands, #IA=1
src1, src2 
unchanged, #IA=1
MULSS 
src1=±Inf, src2 = ±0 or
src1=±0, src2 = ±Inf
res = QNaN Indefinite, 
#IA=1
DIVPS
src1 or src2 = SNaN
Refer to Table F-1 for NaN 
operands, #IA=1
src1, src2 
unchanged, #IA=1
DIVSS 
src1=±Inf, src2 = ±Inf or
src1=±0, src2 = ±0
res = QNaN Indefinite, 
#IA=1
<<<    Index    >>>