armviz

X16

alias W16architectural number 16

IP0 (first intra-procedure-call scratch register)

X1664-bit view
X only
shared with W16
W1632-bit view
bits 31:0 of X16
write

Writing W16 does not simply deposit 32 bits. Bits 63:32 of X16 are reset to zero as a side effect, so a W write always clears the upper half. This is the reason W16 and X16 can never hold unrelated values at the same time.

Notes

In position-independent code, X16 holds the address of a global offset table entry and X17 the general purpose table address. Dynamic linker stubs use both.