Access to the inline barrel shifter
The ARM arithmetic logic unit has a 32-bit barrel shifter that is capable of shift and rotate operations.
The second operand to many ARM and Thumb data-processing and single register data-transfer instructions can be shifted, before the data-processing or data-transfer is executed, as part of the instruction. This supports, but is not limited to:
Multiplication by an immediate value.
Constructing immediate values.
32-bit Thumb instructions give almost the same access to the barrel shifter as ARM instructions.
The 16-bit Thumb instructions only allow access to the barrel shifter using separate instructions.