![](http://datasheet.mmic.net.cn/260000/PTM1300FBEA_datasheet_15959396/PTM1300FBEA_338.png)
TM1300 Data Book
Philips Semiconductors
A-52
PRODUCT SPECIFICATION
IEEE status flags from floating-point compare
less-than
pseudo-op for fgtrflags
SYNTAX
[ IF rguard ] flesflags rsrc1 rsrc2
→
rdest
FUNCTION
if
rguard
then
rdest
←
ieee_flags((float)rsrc1< (float)rsrc2)
ATTRIBUTES
Function unit
Operation code
Number of operands
Modifier
Modifier range
Latency
Issue slots
fcomp
145
2
No
—
1
3
DESCRIPTION
The
flesflags
operation is a pseudo operation transformed by the scheduler into an
fgtrflags
with the
arguments exchanged (
flesflags
’s rsrc1is
fgtrflags
’s rsrc2and vice versa). (Note: pseudo operations cannot
be used in assembly source files.)
The
flesflags
operation computes the IEEE exceptions that would result from computing the comparison
rsrc1<rsrc2 and stores a bit vector representing the exception flags into rdest The argument values are in IEEE
single-precision floating-point format; the result is an integer bit vector. 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. If
an argument is denormalized, zero is substituted before computing the comparison, and the IFZ bit in the result is set.
The
flesflags
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), r40 = 0 (0.0)
r30 = 0x40400000 (3.0)
r10 = 0, r60 = 0x3f800000 (1.0),
r30 = 0x40400000 (3.0)
r20 = 1, r60 = 0x3f800000 (1.0),
r30 = 0x40400000 (3.0)
r30 = 0x40400000 (3.0),
r60 = 0x3f800000 (1.0)
r30 = 0x40400000 (3.0),
r61 = 0xffffffff (QNaN)
r50 = 0x7f800000 (+INF)
r55 = 0xff800000 (-INF)
r60 = 0x3f800000 (1.0),
r65 = 0x00400000 (5.877471754e-39)
r50 = 0x7f800000 (+INF)
flesflags r30 r40
→
r80
flesflags r30 r30
→
r90
IF r10 flesflags r60 r30
→
r100
no change, since guard is false
r80
←
0
r90
←
0
IF r20 flesflags r60 r30
→
r110
r110
←
0
flesflags r30 r60
→
r120
r120
←
0
flesflags r30 r61
→
r121
r121
←
0x10 (INV)
flesflags r50 r55
→
r125
r125
←
0
flesflags r60 r65
→
r126
r126
←
0x20 (IFZ)
flesflags r50 r50
→
r127
r127
←
0
OFZ
IFZ
INV
OVF
UNF
INX
DBZ
0
1
2
3
4
5
6
7
0
31
0
SEE ALSO
fles iles fleqflags
readpcsw
flesflags