##### 9.43.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 canonical name. The `.no_require_canonical_reg_names` assembler pseudo-op turns off this warning. `.require_canonical_reg_names` turns it back on.