Multiply Signed 16 LSB x Signed 16 MSB MPYLH
3-161 Instruction SetSPRU733
Multiply Signed 16 LSB Signed 16 MSB
MPYLH
Syntax MPYLH (.unit) src1, src2, dst
.unit = .M1 or .M2
Compatibility C62x, C64x, C67x, and C67x+ CPU
Opcode
31 292827 2322 1817 131211 76543210
creg z dst src2 src1 x 1 0 0 0 1 0 0 0 0 0 s p
3 1 5 5 5 1 1 1
Opcode map field used... For operand type... Unit
src1
src2
dst
slsb16
xsmsb16
sint
.M1, .M2
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) × msb16(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 MPYLHU, MPYLSHU, MPYLUHS, SMPYLH
Pipeline