Vol. 2A 3-321
INSTRUCTION SET REFERENCE, A-M
FDIVR/FDIVRP/FIDIVR—Reverse Divide
The FIDIVR instructions convert an integer source operand to double extended-preci-
sion floating-point format before performing the division.
If an unmasked divide-by-zero exception (#Z) is generated, no result is stored; if the
exception is masked, an ∞ of the appropriate sign is stored in the destination
operand.
The following table shows the results obtained when dividing various classes of
numbers, assuming that neither overflow nor underflow occurs.
When the source operand is an integer 0, it is treated as a +0. This instruction’s oper-
ation is the same in non-64-bit modes and 64-bit mode.
Operation
IF DEST = 0
THEN
#Z;
ELSE
IF Instruction
= FIDIVR
THEN
DEST ← ConvertToDoubleExtendedPrecisionFP(SRC) / DEST;
ELSE (* Source operand is floating-point value *)
Table 3-30. FDIVR/FDIVRP/FIDIVR Results
DEST
−∞ −F −0 +0 +F+∞ NaN
−∞ *+∞ +∞ −∞ −∞ *NaN
SRC −F +0 +F****-F−0NaN
−I +0 +F****-F−0NaN
−0 +0 +0**−0 −0NaN
+0 −0 −0**+0 +0NaN
+I −0-F****+F +0NaN
+F −0-F****+F +0NaN
+
∞ * −∞ −∞ +∞ +∞ *NaN
NaN NaN NaN NaN NaN NaN NaN NaN
NOTES:
F Means finite floating-point value.
IMeans integer.
* Indicates floating-point invalid-arithmetic-operand (#IA) exception.
** Indicates floating-point zero-divide (#Z) exception.