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.

The following table shows the predeclared core registers in AArch64 state:

Table 4-1 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