You copied the Doc URL to your clipboard.

Predeclared core register names in AArch64 state

In AArch64 state, the predeclared core registers are different from those in AArch32 state.

Table 5 shows the predeclared core registers in AArch64 state:

Table 5. Predeclared core registers in AArch64 state

Register names

Meaning

W0-W30

32-bit general purpose registers.

X0-X30

64-bit general purpose registers.

WZR

32-bit RAZ/WI register. This is the name for register 31 when it is used as the zero register in a 32-bit context.

XZR

64-bit RAZ/WI register. This is the name for register 31 when it is used as the zero register in a 64-bit context.

WSP

32-bit stack pointer. This is the name for register 31 when it is used as the stack pointer in a 32-bit context.

SP

64-bit stack pointer. This is the name for register 31 when it is used as the stack pointer in a 64-bit context.

LR

Link register. This is a synonym for X30.


You can write the register names either in all upper case or all lower case.

Note

In AArch64 state, the PC is not a general purpose register and you cannot access it by name.

Was this page helpful? Yes No