The Thumb-2 Instruction Set The "Cortex" (ARMv7) family introduced Thumb-2 It is a separate instruction decoder, not a decompressor any more It is an extension of the previous Thumb machine code It can access all registers All core features can be accessed New ITE instruction (if then else), ARM defined a Unified Assembler Language You can build the same source as ARM or Thumb instructions The idea saves a lot of conditionals and unmaintained code Unfortunately, it is not trivial It is now possible to build Thumb-only devices Cortex-A (application processor) has both ARM and Thumb2 Cortex-M (microcontroller) only includes a Thumb2 decoder This also required a change in the IRQ vectors Not a problem when making incompatible changes anyways