MIPS R4000 Microprocessor User's Manual 195
Floating-Point Exceptions
Underflow Exception (U)
Two related events contribute to the Underflow exception:
• creation of a tiny nonzero result between ±2
Emin
which can
cause some later exception because it is so tiny
• extraordinary loss of accuracy during the approximation of
such tiny numbers by denormalized numbers.
IEEE Standard 754 allows a variety of ways to detect these events, but
requires they be detected the same way for all operations.
Tininess can be detected by one of the following methods:
• after rounding (when a nonzero result, computed as though
the exponent range were unbounded, would lie strictly
between ±2
Emin
)
• before rounding (when a nonzero result, computed as though
the exponent range and the precision were unbounded, would
lie strictly between ±2
Emin
).
The MIPS architecture requires that tininess be detected after rounding.
Loss of accuracy can be detected by one of the following methods:
• denormalization loss (when the delivered result differs
from what would have been computed if the exponent
range were unbounded)
• inexact result (when the delivered result differs from what
would have been computed if the exponent range and
precision were both unbounded).
The MIPS architecture requires that loss of accuracy be detected as an
inexact result.
Trap Enabled Results: If Underflow or Inexact traps are enabled, or if the
FS bit is not set, then an Unimplemented exception (E) is generated, and
the result register is not modified.
Trap Disabled Results: If Underflow and Inexact traps are not enabled
and the FS bit is set, the result is determined by the rounding mode and
the sign of the intermediate result (as listed in Table 7-1).