8-26 Vol. 1
PROGRAMMING WITH THE X87 FPU
metic instructions. It should be noted that some non-arithmetic instructions can signal a floating-point stack (fault)
exception, but this exception is not the result of an operation on an operand.
8.5
X87 FPU FLOATING-POINT EXCEPTION CONDITIONS
The following sections describe the various conditions that cause a floating-point exception to be generated by the
x87 FPU and the masked response of the x87 FPU when these conditions are detected. IntelĀ® 64 and IA-32 Archi-
Table 8-9. Arithmetic and Non-arithmetic Instructions
Non-arithmetic Instructions
Arithmetic Instructions
FABS
F2XM1
FCHS
FADD/FADDP
FCLEX
FBLD
FDECSTP
FBSTP
FFREE
FCOM/FCOMP/FCOMPP
FINCSTP
FCOS
FINIT/FNINIT
FDIV/FDIVP/FDIVR/FDIVRP
FLD (register-to-register)
FIADD
FLD (extended format from memory)
FICOM/FICOMP
FLD constant
FIDIV/FIDIVR
FLDCW
FILD
FLDENV
FIMUL
FNOP
FIST/FISTP
1
FRSTOR
FISUB/FISUBR
FSAVE/FNSAVE
FLD (single and double)
FST/FSTP (register-to-register)
FMUL/FMULP
FSTP (extended format to memory)
FPATAN
FSTCW/FNSTCW
FPREM/FPREM1
FSTENV/FNSTENV
FPTAN
FSTSW/FNSTSW
FRNDINT
WAIT/FWAIT
FSCALE
FXAM
FSIN
FXCH
FSINCOS
FSQRT
FST/FSTP (single and double)
FSUB/FSUBP/FSUBR/FSUBRP
FTST
FUCOM/FUCOMP/FUCOMPP
FXTRACT
FYL2X/FYL2XP1
NOTE:
1. The FISTTP instruction in SSE3 is an arithmetic x87 FPU instruction.