Instruction Sets Overview
The ARM architecture supports three instruction sets:
- The A64 instruction set, introduced in ARMv8-A to support the 64-bit architecture.
- The A32 instruction set, referred to as ARM in pre-ARMv8 architectures.
- The T32 instruction set, referred to as Thumb in pre-ARMv8 architectures.
A64 and A32 have a fixed instruction length of 32-bits. T32 was introduced as a supplementary set of 16-bit instructions that supported better code density for user code. Over time T32 evolved into a 32- and 16-bit mixed length instruction set, providing compilers the opportunity to balance performance and code size trade-offs in a single instruction set.