From WikiChip
AArch64 - ARM
< arm
Revision as of 15:48, 20 September 2018 by David (talk | contribs)

v · d · e
ARM ISA
General
Variants
Extensions
Topics
Versions(all)

AArch64 is the 64-bit execution state of the ARMv8 ISA. A machine in this state executes operates on the A64 instruction set. This is in contrast to the AArch32 which describes the classical 32-bit ARM execution state.

Overview

The AArch64 execution state was introduced with the ARMv8 ISA for machines executing A64 instructions. A machine in AArch64 can only execute A64 instructions and cannot execute A32 or T32 instructions. However, unlike in AArch32, in the 64-bit state, instructions can access both the 64-bit and 32-bit registers.

Calling convention

See also: calling convention

Under AArch64, the first eight registers are used for passing parameters into a subroutine as well as to return a result value set. Generally, X0 through X18 can corrupt while X19-X29 must be preserved.

Register Role Requirement
X0 - X7 Parameter/result registers Can Corrupt
X8 Indirect result location register
X9 - X15 Temporary registers
X16 - X17 Intra-procedure call temporary
X18 Platform register, otherwise temporary
X19 - X29 Callee-saved register Must preserve
X30 Link Register Can Corrupt


Text document with shapes.svg This article is still a stub and needs your attention. You can help improve this article by editing this page and adding the missing information.