#### 9.47.2.2 Register Names

General-purpose registers are represented by predefined symbols of the form ‘`rN`’, where N represents a number between `0` and `63`. However, the following registers have canonical names that must be used instead:

`r54`

  sp

`r55`

  lr

`r56`

  sn

`r57`

  idn0

`r58`

  idn1

`r59`

  udn0

`r60`

  udn1

`r61`

  udn2

`r62`

  udn3

`r63`

  zero

The assembler will emit a warning if a numeric name is used instead of the non-numeric name. The `.no_require_canonical_reg_names` assembler pseudo-op turns off this warning. `.require_canonical_reg_names` turns it back on.