Search code examples
assemblyarm64cpu-registers

What is the wip0 register in the context of ARM64 architecture?


Say, in the following disassembled instructions:

lbl:
    ldaxr     x8, [x9]
    add       x8, x8, #1
    stlxr     wip0, x8, [x9]
    cbnz      wip0, lbl

What is wip0?


Solution

  • wip0 is in fact an alias for w16, see section "6.3.1 Use of IP0 and IP1 by the linker"of the Procedure Call Standard for the Arm® 64-bit Architecture (AArch64)