Search code examples
iosassemblyarm64

Is `p14` an alternative name to arm64 x14 general purpose register?


Source code dumped from apple objc: enter image description here

Disassembled code: enter image description here

It seems p14 is an alternative name to arm64 x14 general purpose register. But i could not find any documentation. Could you provide any reference?


Solution

  • It is a macro alias for x14. See arm64-asm.h.

    This isn't a standard convention and seems to be something specific to the objc source. It looks like the p stands for "pointer", and that when building for something like an ILP32 model with 32-bit pointers, then p14 gets defined as w14 instead.