Integer Multiply With Left Shift and Saturation
SMPY(HL/LH/H)
3-115
TMS320C62x/C67x Fixed-Point Instruction Set
Syntax
SMPY (.unit)
src1, src2, dst
or
SMPYHL (.unit)
src1, src2, dst
or
SMPYLH (.unit)
src1, src2, dst
or
SMPYH (.unit)
src1, src2, dst
.unit = .M1 or .M2
Opcode map field used... For operand type...
Unit
Opfield
Mnemonic
src1
src2
dst
slsb16
xslsb15
sint
.M1, .M2
11010
SMPY
src1
src2
dst
smsb16
xslsb16
sint
.M1, .M2
01010
SMPYHL
src1
src2
dst
slsb16
xsmsb16
sint
.M1, .M2
10010
SMPYLH
src1
src2
dst
smsb16
xsmsb16
sint
.M1, .M2
00010
SMPYH
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 left shifted
by 1 and placed in
dst. If the left-shifted result is 0x8000 0000, then the result
is saturated to 0x7FFF FFFF. If a saturate occurs, the SAT bit in the CSR is set
one cycle after
dst is written.