DPTRUNC
Convert Double-Precision Floating-Point Value to Integer With Truncation
3-108
Instruction Set
SPRU733
Convert Double-Precision Floating-Point Value to Integer
With Truncation
DPTRUNC
Syntax
DPTRUNC
(.unit)
src2
,
dst
.unit = .L1 or .L2
Compatibility
C67x and C67x+ CPU
Opcode
31
29
28
27
23
22
18
17
13
12
11
5
4
3
2
1
0
creg
z
dst
src2
0 0 0 0 0 x 0 0 0 0 0 0 1 1 1 0
s p
3
1
5
5
1
1
1
Opcode map field used...
For operand type...
Unit
src2
dst
dp
sint
.L1, .L2
Description
The 64-bit double-precision value in
src2
is converted to an integer and placed
in
dst
. This instruction operates like
DPINT
except that the rounding modes in
the FADCR are ignored; round toward zero (truncate) is always used. The
64-bit operand is read in one cycle by using the
src2
port for the 32 MSBs and
the src1 port for the 32 LSBs.
Execution
if (cond)
int(
src2
)
→
dst
else
nop
Notes:
1) If
src2
is NaN, the maximum signed integer (7FFF FFFFh or
8000 0000h) is placed in
dst
and the INVAL bit is set.
2) If
src2
is signed infinity or if overflow occurs, the maximum signed integer
(7FFF FFFFh or 8000 0000h) is placed in
dst
and the INEX and OVER bits
are set. Overflow occurs if
src2
is greater than 2
31
−
1 or less than
−
2
31
.
3) If
src2
is denormalized, 0000 0000h is placed in
dst
and the INEX and
DEN2 bits are set.
4) If rounding is performed, the INEX bit is set.