VFP Exception Handling
ARM DDI 0301H
Copyright © 2004-2009 ARM Limited. All rights reserved.
22-22
ID012310
Non-Confidential, Unrestricted Access
22.12.3 FMUL and FNMUL
Detection of a potential exception is based on the initial product exponent, that is the sum of the
multiplicand and multiplier exponents. Table 22-9 lists the result for specific values of the initial
product exponent. The exponent values in Table 22-9 are in biased format. The exponent can be
incremented by a significand overflow condition, and this is the cause for the additional bounce
values near the real overflow threshold. The one additional value in the bounce range makes the
FMUL and FNMUL overflow detection ranges identical to those in Table 22-8 on page 22-21.
22.12.4 FMAC, FMSC, FNMAC, and FNMSC
The FMAC family of operations adds to the potential overflow range by generating significand
values from zero up to but not including four. In this case it is possible for the final exponent to
require incrementing by two to normalize the significand.
The bounce thresholds for the FADD family in Table 22-8 on page 22-21 and for the FMUL
family in Table 22-9 incorporate this additional factor. Those ranges are used to detect potential
exceptions for the FMAC family.
Table 22-9 FMUL family bounce thresholds
Initial product exponent value
Float value
Condition in full-compliance mode
DP
a
a. DP = double-precision.
SP
b
b. SP = single-precision.
SP
DP
>
0x7FF
-
DP overflow
-
Bounce
0x7FF
-
DP NaN or infinity
-
Bounce
0x7FE
-
DP maximum normal
-
Bounce
0x7FD
-
DP normal
-
Bounce
0x7FC
-
DP normal
-
Normal
>
0x47F
>
0xFF
SP overflow
Bounce
Normal
0x47F
0xFF
SP NaN or infinity
Bounce
Normal
0x47E
0xFE
SP maximum normal
Bounce
Normal
0x47D
0xFD
SP normal
Bounce
Normal
0x47C
0xFC
SP normal
Normal
Normal
0x3FF
0x7F
e = 0 bias value
Normal
Normal
0x381
0x01
SP normal
Normal
Normal
0x380
0x00
SP subnormal
Bounce
Normal
<
0x380
<
0x00
SP underflow
Bounce
Normal
0x001
-
DP normal
-
Normal
0x000
-
DP subnormal
-
Bounce
<
0x000
-
DP underflow
-
Bounce