Signed or Unsigned Integer Multiply 16msb x 16msb
MPYH(U/US/SU)
3-79
TMS320C62x/C67x Fixed-Point Instruction Set
Syntax
MPYH (.unit)
src1, src2, dst
or
MPYHU (.unit)
src1, src2, dst
or
MPYHUS (.unit)
src1, src2, dst
or
MPYHSU (.unit)
src1, src2, dst
.unit = .M1 or .M2
Opcode map field used... For operand type...
Unit
Opfield
Mnemonic
src1
src2
dst
smsb16
xsmsb16
sint
.M1, .M2
00001
MPYH
src1
src2
dst
umsb16
xumsb16
uint
.M1, .M2
00111
MPYHU
src1
src2
dst
umsb16
xsmsb16
sint
.M1, .M2
00101
MPYHUS
src1
src2
dst
smsb16
xumsb16
sint
.M1, .M2
00011
MPYHSU
Opcode
31
29 28 27
23 22
18 17
creg
z
dst
src2
13 12 11
5
4
3
2
1
0
x
op
0
0
0
s
p
3
5
5
5
5
7
6
0
0
src1/cst
Description
The
src1 operand is multiplied by the src2 operand. The result is placed in dst.
The source operands are signed by default. The S is needed in the mnemonic
to specify a signed operand when both signed and unsigned operands are
used.
Execution
if (cond)
msb16(
src1)
msb16(
src2)
→
dst
else
nop