Multiply 32-Bit x 32-Bit Into 64-Bit Result MPYID
3-159 Instruction SetSPRU733
Multiply 32-Bit 32-Bit Into 64-Bit Result
MPYID
Syntax MPYID (.unit) src1, src2, dst
.unit = .M1 or .M2
Compatibility C67x and C67x+ CPU
Opcode
31 292827 2322 1817 131211 76543210
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
sint
xsint
sdint
.M1, .M2 01000
src1
src2
dst
cst5
xsint
sdint
.M1, .M2 01100
Description The src1 operand is multiplied by the src2 operand. The 64-bit result is placed
in the dst register pair.
Execution if (cond) lsb32(src1 src2) → dst_l
msb32(src1 src2) → dst_h
else nop
Pipeline
Stage
E1 E2 E3 E4 E5 E6 E7 E8 E9 E10
Read src1
src2
src1
src2
src1
src2
src1
src2
Written dst_l dst_h
Unit in use
.M .M .M .M
Instruction Type MPYID
Delay Slots 9 (8 if dst_l is src of next instruction)
Pipeline