Multiply Signed 16 LSB x Signed 16 LSB
MPY
3-143
Instruction Set
SPRU733
Multiply Signed 16 LSB
Signed 16 LSB
MPY
Syntax
MPY
(.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
xslsb16
sint
.M1, .M2
11001
src1
src2
dst
scst5
xslsb16
sint
.M1, .M2
11000
Description
The
src1
operand is multiplied by the
src2
operand. The result is placed in
dst
.
The source operands are signed by default.
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
See Also
MPYU, MPYSU, MPYUS, SMPY
Pipeline