Fujitsu SPARC JPS1 Implementation Supplement Manual page 73

Fujitsu sparc64 v
Table of Contents

Advertisement

SPARC64 V floating-point hardware has its specific range of computation. If either
the values of input operands or the value of the intermediate result shows that the
computation may not fall in the range that hardware provides, SPARC64 V generates
an
fp_exception_other
and the operation is taken over by software.
The kernel emulation routine completes the remaining floating-point operation in
accordance with the IEEE 754-1985 floating-point standard (impl. dep. #3).
SPARC64 V implements a nonstandard mode, enabled when FSR.NS is set (see
FSR_nonstandard_fp (NS) on page 18). Depending on the setting in FSR.NS, the
behavior of SPARC64 V with respect to the floating-point computation varies.
B.6.1
fp_exception_other
SPARC64 V may invoke an
unfinished_FPop
FsMULd(s,d), FMUL(s,d), FDIV(s,d), FSQRT(s,d) floating-point instructions. In
addition, Floating-point Multiply-Add/Subtract instructions generate the exception,
since the instruction is the combination of a multiply and an add/subtract operation:
FMADD(s,d), FMSUB(s,d), FNMADD(s,d), and FNMADD(s,d).
The following basic policies govern the detection of boundary conditions:
1. When one of the operands is a denormalized number and the other operand is a
normal non-zero floating-point number (except for a NaN or an infinity), an
fp_exception_other
the result is a zero or an overflow are excluded.
2. When both operands are denormalized numbers, except for the cases in which the
result is a zero or an overflow, an
is signalled.
3. When both operands are normal, the result before rounding is a denormalized
number and TEM.UFM = 0, and
is signalled, except for the cases in which the result is a zero.
When the result is expected to be a constant, such as an exact zero or an infinity, and
an insignificant computation will furnish the result, SPARC64 V tries to calculate the
result without signalling an
62
SPARC JPS1 Implementation Supplement: Fujitsu SPARC64 V • Release 1.0, 1 July 2002
exception (tt = 022
Exception (ftt=
fp_exception_other
(ftt = 02
) in FsTOd, FdTOs, FADD(s,d), FSUB(s,d),
16
with
unfinished_FPop
fp_exception_other
fp_exception_other
unfinished_FPop
) with FSR.ftt = 02
16
unfinished_FPop
(tt = 022
) exception with FSR.ftt =
16
condition is signalled. The cases in which
with
unfinished_FPop
with
unfinished_FPop
exception.
(
)
unfinished_FPop
16
)
condition
condition

Advertisement

Table of Contents
loading

Table of Contents