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.
For more details of the A64, A32 and T32 instruction sets, see the Arm Compiler armasm User Guide.