Multiply Two Double-Precision Floating-Point Values

 

MPYDP

 

 

 

Multiply Two Double-Precision Floating-Point Values

 

 

 

 

 

 

 

MPYDP

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

MPYDP (.unit) src1, src2, dst

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.unit = .M1 or .M2

 

 

 

 

 

 

 

 

 

 

 

 

Compatibility

 

 

C67x and C67x+ CPU

 

 

 

 

 

 

 

 

 

 

 

 

Opcode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

31

29

28

27

23

22

18

17

13

12

11

7

6

5

4

3

2

1

0

creg

z

dst

src2

src1

x

0 1 1 1 0 0 0

0 0 0 s p

3 155511 1

 

Opcode map field used... For operand type...

Unit

 

 

 

 

 

src1

dp

.M1, .M2

 

src2

dp

 

 

dst

dp

 

 

 

Description

The src1 operand is multiplied by the src2 operand. The result is placed in dst.

Execution

if (cond)

src1 ￿ src2 dst

 

 

else

nop

 

Notes:

1)If one source is SNaN or QNaN, the result is a signed NaN_out. If either source is SNaN, the INVAL bit is set also. The sign of NaN_out is the exclusive-OR of the input signs.

2)Signed infinity multiplied by signed infinity or a normalized number (other than signed 0) returns signed infinity. Signed infinity multiplied by signed 0 returns a signed NaN_out and sets the INVAL bit.

3)If one or both sources are signed 0, the result is signed 0 unless the other source is NaN or signed infinity, in which case the result is signed NaN_out.

4)A denormalized source is treated as signed 0 and the DENn bit is set. The INEX bit is set except when the other source is signed infinity, signed NaN, or signed 0. Therefore, a signed infinity multiplied by a denormal- ized number gives a signed NaN_out and sets the INVAL bit.

5)If rounding is performed, the INEX bit is set.

SPRU733

Instruction Set

3-145

Page 205
Image 205
Texas Instruments TMS320C67X/C67X+ DSP manual Multiply Two Double-Precision Floating-Point Values, Mpydp