TM1100 Preliminary Data Book
Philips Semiconductors
A-40
PRELIMINARY INFORMATION
File: ops.fm5, modified 7/23/99
IEEE status ags from oating-point add
SYNTAX
[ IF r
guard ] faddflags rsrc1 rsrc2
→ rdest
FUNCTION
if r
guard then
r
dest
← ieee_ags((oat)rsrc1 + (oat)rsrc2)
ATTRIBUTES
Function unit
falu
Operation code
112
Number of operands
2
Modier
No
Modier range
—
Latency
3
Issue slots
1, 4
DESCRIPTION
The faddflags operation computes the IEEE exceptions that would result from computing the sum r
src1+rsrc2
and stores a bit vector representing the exception ags into r
dest. The argument values are in IEEE single-precision
oating-point format; the result is an integer bit vector. The bit vector stored in r
dest has the same format as the IEEE
exception bits in the PCSW. The exception ags in PCSW are left unchanged by this operation. Rounding is according
to the IEEE rounding mode bits in PCSW. If an argument is denormalized, zero is substituted before computing the
sum, and the IFZ bit in the result is set. If the sum would be denormalized, the OFZ bit in the result is set.
The faddflags operation optionally takes a guard, specied in r
guard. If a guard is present, its LSB controls the
modication of the destination register. If the LSB of r
guard is 1, rdest is written; otherwise, rdest is not changed.
EXAMPLES
Initial Values
Operation
Result
r10 = 0x7f7fffff (3.402823466e+38),
r20 = 0x3f800000 (1.0)
faddflags r10 r20
→ r60
r60
← 0x2 (INX)
r30 = 0,
r10 = 0x7f7fffff (3.402823466e+38)
IF r30 faddflags r10 r10
→ r50 no change, since guard is false
r40 = 1,
r10 = 0x7f7fffff (3.402823466e+38)
IF r40 faddflags r10 r10
→ r70 r70 ← 0xa (OVF INX)
r80 = 0x00a00000 (1.469367939e–38),
r81 = 0x80800000 (–1.17549435e–38)
faddflags r80 r81
→ r100
r100
← 0x46 (OFZ UNF INX)
r95 = 0x7f800000 (+INF),
r96 = 0xff800000 (–INF)
faddflags r95 r96
→ r105
r105
← 0x10 (INV)
r98 = 0x40400000 (3.0),
r99 = 0x00400000 (5.877471754e–39)
faddflags r98 r99
→ r111
r111
← 0x20 (IFZ)
OFZ
IFZ
INV
OVF
UNF
INX
DBZ
0
1
2
3
4
5
6
7
31
00
SEE ALSO
faddags