3-389
INSTRUCTION SET REFERENCE
MAXPS—Packed Single-FP Maximum (Continued)
Real Address Mode Exceptions
Interrupt 13
If any part of the operand would lie outside of the effective address space
from 0 to 0FFFFH.
#UD
If CR0.EM = 1.
#NM
If TS bit in CR0 is set.
#XM
For an unmasked Streaming SIMD Extension numeric exception
(CR4.OSXMMEXCPT =1).
#UD
For an unmasked Streaming SIMD Extension numeric exception
(CR4.OSXMMEXCPT =0).
#UD
If CR4.OSFXSR(bit 9) = 0.
#UD
If CPUID.XMM(EDX bit 25) = 0.
Virtual 8086 Mode Exceptions
Same exceptions as in Real Address Mode.
#PF(fault-code) For a page fault.
Comments
Note that if only one source is a NaN for these instructions, the Src2 operand (either NaN or real
value) is written to the result; this differs from the behavior for other instructions as defined in
Table 7-9 in Chapter 7, Floating-Point Unit of the Intel Architecture Software DeveloperÂ’s
Manual, Volume 1, which is to always write the NaN to the result, regardless of which source
operand contains the NaN. This approach for MAXPS allows compilers to use the MAXPS
instruction for common C conditional constructs. If instead of this behavior, it is required that
the NaN source operand be returned, the min/max functionality can be emulated using a
sequence of instructions: comparison followed by AND, ANDN, and OR.