
Philips Semiconductors
DSPCPU Operations for TM1300
PRODUCT SPECIFICATION
A-87
IEEE status flags from convert floating-point to
integer using PCSW rounding mode
SYNTAX
[ IF rguard ] ifixieeeflags rsrc1
→
rdest
FUNCTION
if
rguard
then
rdest
←
ieee_flags((long) ((float)rsrc1))
ATTRIBUTES
Function unit
Operation code
Number of operands
Modifier
Modifier range
Latency
Issue slots
falu
122
1
No
—
3
1, 4
DESCRIPTION
The
ifixieeeflags
operation computes the IEEE exceptions that would result from converting the single-
precision IEEE floating-point value in rsrc1 to a signed integer, and an integer bit vector representing the computed
exception flags is written into rdest The bit vector stored in rdest has the same format as the IEEE exception bits in
the PCSW. The exception flags in PCSW are left unchanged by this operation. Rounding is according to the IEEE
rounding mode bits in PCSW. If rsrc1 is denormalized, zero is substituted before computing the conversion, and the
IFZ bit in the result is set.
The
ifixieeeflags
operation optionally takes a guard, specified in rguard If a guard is present, its LSB controls
the modification of the destination register. If the LSB of rguardis 1, rdestis written; otherwise, rdestis not changed.
EXAMPLES
Initial Values
Operation
Result
r30 = 0x40400000 (3.0)
r35 = 0x40247ae1 (2.57)
r10 = 0,
r40 = 0xff4fffff (–3.402823466e+38)
r20 = 1,
r40 = 0xff4fffff (–3.402823466e+38)
r45 = 0x7f800000 (+INF))
r50 = 0xbfc147ae (-1.51)
r60 = 0x00400000 (5.877471754e-39)
r70 = 0xffffffff (QNaN)
r80 = 0xffbfffff (SNaN)
ifixieeeflags r30
→
r100
ifixieeeflags r35
→
r102
IF r10 ifixieeeflags r40
→
r105
r100
←
0
r102
←
0x02 (INX)
no change, since guard is false
IF r20 ifixieeeflags r40
→
r110
r110
←
0x10 (INV)
ifixieeeflags r45
→
r112
ifixieeeflags r50
→
r115
ifixieeeflags r60
→
r117
ifixieeeflags r70
→
r120
ifixieeeflags r80
→
r122
r112
←
0x10 (INV)
r115
←
0x02 (INX)
r117
←
0x20 (IFZ)
r120
←
0x10 (INV)
r122
←
0x10 (INV)
OFZ
IFZ
INV
OVF
UNF
INX
DBZ
0
1
2
3
4
5
6
7
0
31
0
SEE ALSO
ifixieee ufixieeeflags
ifixrzflags ufixrzflags
ifixieeeflags