2.19 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:
  • Scaled addressing.
  • 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.
Related concepts
4.3 Load immediate values
4.4 Load immediate values using MOV and MVN
Non-ConfidentialPDF file icon PDF versionARM DUI0379G
Copyright © 2007, 2008, 2011, 2012, 2014, 2015 ARM. All rights reserved.