Signed or Unsigned Integer Multiply 16lsb x 16msb
Syntax
Opcode
31
29 28 27
creg
z
dst
3
5
Description
Execution
MPYLH (.unit) src1 , src2 , dst
or
MPYLHU (.unit) src1 , src2 , dst
or
MPYLUHS (.unit) src1 , src2 , dst
or
MPYLSHU (.unit) src1 , src2 , dst
.unit = .M1 or .M2
Opcode map field used...
src1
src2
dst
src1
src2
dst
src1
src2
dst
src1
src2
dst
23 22
18 17
src2
5
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.
if (cond)
lsb16( src1 )
else
nop
MPYLH(U)/MPYLUHS/MPYLSHU
For operand type...
slsb16
xsmsb16
sint
ulsb16
xumsb16
uint
ulsb16
xsmsb16
sint
slsb16
xumsb16
sint
13 12 11
src1/cst
x
5
msb16( src2 )
TMS320C62x/C67x Fixed-Point Instruction Set
Unit
Opfield
Mnemonic
.M1,
10001
.M2
.M1,
10111
MPYLHU
.M2
.M1,
10101
MPYLUHS
.M2
.M1,
10011
MPYLSHU
.M2
7
6
5
4
3
op
0
0
0
0
5
dst
MPYLH
2
1
0
0
s
p
3-83
Need help?
Do you have a question about the TMS320C6000 Series and is the answer not in the manual?