3.2.1. Thumb-2

ARMv7 supports Thumb-2 technology, which is a major enhancement to the 16-bit Thumb instruction set. It adds 32-bit instructions that can be freely intermixed with 16-bit instructions in a program. The additional 32-bit instructions enable Thumb-2 to cover most of the functionality of the ARM instruction set. The availability of 16-bit and 32-bit instructions combines the code density of earlier versions of Thumb with the performance of the ARM instruction set.

An important difference between the ARMv7-A Thumb instruction set and the ARMv7-A ARM instruction set is that most 32-bit Thumb instructions are unconditional, whereas most ARM instructions can be conditional. However, Thumb-2 introduces a conditional execution instruction IT, which is a logical if-then-else operation. You can apply the IT instruction to up to four subsequent instructions to make them conditional.

Copyright © 2014 ARM. All rights reserved.ARM DAI0425