MPYSU
Multiply Signed 16 LSB x Unsigned 16 LSB
3-172
Instruction Set
SPRU733
Multiply Signed 16 LSB
Unsigned 16 LSB
MPYSU
Syntax
MPYSU
(.unit)
src1, src2, dst
.unit = .M1 or .M2
Compatibility
C62x, C64x, 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
op
0 0 0 0 0
s p
3
1
5
5
5
1
5
1
1
Opcode map field used...
For operand type...
Unit
Opfield
src1
src2
dst
slsb16
xulsb16
sint
.M1, .M2
11011
src1
src2
dst
scst5
xulsb16
sint
.M1, .M2
11110
Description
The
signed operand
src1
is multiplied by the unsigned operand
src2
. The result
is placed in
dst
. The
S
is needed in the mnemonic to specify a signed operand
when both signed and unsigned operands are used.
Execution
if (cond)
lsb16(
src1
)
×
lsb16(
src2
)
→
dst
else nop
Pipeline
Stage
E1
E2
Read
src1, src2
Written
dst
Unit in use
.M
Instruction Type
Multiply (16
×
16)
Delay Slots
1
Pipeline