Single-Precision Floating-Point Multiply
MPYSP
4-59
TMS320C67x Floating-Point Instruction Set
Syntax
MPYSP (.unit)
src1, src2, dst
.unit = .M1 or .M2
Opcode map field used...
For operand type...
Unit
src1
src2
dst
sp
xsp
sp
.M1, .M2
Opcode
31
29 28 27
23 22
18 17
creg
z
dst
src2
13 12 11
5
4
3
2
1
0
x
1 1 1 0 0
0
0
0
s
p
3
5
5
5
5
7
6
0
0
src1
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) If signed 0 is multiplied by signed infinity, the result is signed NaN_out
and the INVAL bit is set.
5) 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.
6) If rounding is performed, the INEX bit is set.