ARMv8 is 64-bit. With 32-bit compatibility.
The ARMv8 architecture introduces 64-bit support to the ARM architecture with a focus on power-efficient implementation while maintaining compatibility with existing 32-bit software. By adopting a clean approach ARMv8-A processors extend the performance range available while maintaining the low power consumption characteristics of the ARM processors that will power tomorrow's most innovative and efficient devices. ARM has 3 different product tiers supporting the ARMv8-A architecture: High Performance, High Efficiency, and Ultra-High Efficiency.
ARMv8-A introduces 64-bit architecture support to the ARM architecture and includes:
- 64-bit general purpose registers, SP (stack pointer) and PC (program counter)
- 64-bit data processing and extended virtual addressing
Two main execution states:
- AArch64 - The 64-bit execution state including exception model, memory -model, programmers' model and instruction set support for that state
- AArch32 - The 32-bit execution state including exception model, memory model, programmers' model and instruction set support for that state
Anything lower (like ARMv7) is 32-bit.