Smpyhl, Multiply signed 16 msb – Texas Instruments TMS320C67X/C67X+ DSP User Manual
Page 282
SMPYHL
Multiply Signed 16 MSB x Signed 16 LSB With Left Shift and Saturation
3-222
Instruction Set
SPRU733
Multiply Signed 16 MSB
y
Signed 16 LSB With Left Shift and Saturation
SMPYHL
Syntax
SMPYHL (.unit) src1, src2, dst
.unit = .M1 or .M2
Compatibility
C62x, C64x, C67x, and C67x+ CPU
Opcode
31
29
28
27
23
22
18
17
13
12
11
7
6
5
4
3
2
1
0
creg
z
dst
src2
src1
x 0 1 0 1 0 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
smsb16
xslsb16
sint
.M1, .M2
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 8000 0000h, then the result
is saturated to 7FFF FFFFh. If a saturation occurs, the SAT bit in CSR is set
one cycle after dst is written.
Execution
if (cond)
{
if (((src1
src2)
<<
1) != 8000 0000h)
((src1
src2)
<<
1)
→
dst
else
7FFF FFFFh
→
dst
}
else nop
Pipeline
Stage
E1
E2
Read
src1, src2
Written
dst
Unit in use
.M
Instruction Type
Single-cycle (16 × 16)
Delay Slots
1
See Also
MPYHL, SMPY, SMPYH, SMPYLH
Pipeline