DPTRUNC Convert Double-Precision Floating-Point Value to Integer With Truncation

 

 

Convert Double-Precision Floating-Point Value to Integer

 

 

 

 

 

DPTRUNC

 

 

 

 

 

 

 

 

 

 

With Truncation

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 15511 1

Opcode map field used...

For operand type...

Unit

 

 

 

src2

dp

.L1, .L2

dst

sint

 

 

 

 

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 231 − 1 or less than −231.

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.

3-108

Instruction Set

SPRU733

Page 168
Image 168
Texas Instruments TMS320C67X/C67X+ DSP manual Dptrunc, With Truncation