Load a PC-relative address into a register. It is similar to the
ADR instruction but
ADRL can load a wider range of addresses than
ADR because it generates two data processing instructions.
Is the register to load with a 32-bit address.
Is the register to load with a 64-bit address.
Is a PC-relative expression.
ADRL assembles to two instructions,
ADRP followed by
If the assembler cannot construct the address in two instructions, it generates a relocation. The linker then generates the correct offsets.
ADRL produces position-independent
code, because the address is calculated relative to PC.
ADRL x0, mylabel ; loads address of mylabel into x0