Access to the inline barrel shifter in AArch32 state
The ARM arithmetic logic unit has a 32-bit barrel shifter that is capable of shift and rotate operations.
The second operand to many A32 and T32 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:
- Scaled addressing.
- Multiplication by an immediate value.
- Constructing immediate values.
32-bit T32 instructions give almost the same access to the barrel shifter as A32 instructions.
16-bit T32 instructions only allow access to the barrel shifter using separate instructions.