Thumb-2 technology is available in the ARMv6T2 and later architectures. Thumb-2 technology 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 Thumb instructions enable Thumb to cover most of the functionality of the ARM instruction set. The availability of 16-bit and 32-bit instructions enable Thumb-2 technology to combine the code density of earlier versions of Thumb with the performance of the ARM instruction set.
An important difference between the 32-bit Thumb instruction
set and the ARM instruction set is that most 32-bit Thumb instructions
are unconditional, whereas most ARM instructions can be conditional.
The 32-bit Thumb instruction set introduces a conditional execution
IT, that is a logical if-then-else operation
that you can apply to subsequent instructions to make them conditional.