Arithmetic shift left shl – Texas Instruments TMS320C67X/C67X+ DSP User Manual
Page 273
Arithmetic Shift Left
SHL
3-213
Instruction Set
SPRU733
Arithmetic Shift Left
SHL
Syntax
SHL (.unit) src2, src1, dst
.unit = .S1 or .S2
Compatibility
C62x, C64x, C67x, and C67x+ CPU
Opcode
31
29
28
27
23
22
18
17
13
12
11
6
5
4
3
2
1
0
creg
z
dst
src2
src1
x
op
1 0 0 0 s p
3
1
5
5
5
1
6
1
1
Opcode map field used...
For operand type...
Unit
Opfield
src2
src1
dst
xsint
uint
sint
.S1, .S2
11 0011
src2
src1
dst
slong
uint
slong
.S1, .S2
11 0001
src2
src1
dst
xuint
uint
ulong
.S1, .S2
01 0011
src2
src1
dst
xsint
ucst5
sint
.S1, .S2
11 0010
src2
src1
dst
slong
ucst5
slong
.S1, .S2
11 0000
src2
src1
dst
xuint
ucst5
ulong
.S1, .S2
01 0010
Description
The src2 operand is shifted to the left by the src1 operand. The result is placed
in dst. When a register is used, the six LSBs specify the shift amount and valid
values are 0−40. When an immediate is used, valid shift amounts are 0−31.
If 39
<
src1
<
64, src2 is shifted to the left by 40. Only the six LSBs of src1 are
used by the shifter, so any bits set above bit 5 do not affect execution.
Execution
if (cond)
src2
<<
src1
→
dst
else nop