Form PC-relative address to 4KB page adds an immediate value that is shifted left by 12 bits, to the PC value to form a PC-relative address, with the bottom 12 bits masked out, and writes the result to the destination register.



ADRP <Xd>, <label>

integer d = UInt(Rd); bits(64) imm; imm = SignExtend(immhi:immlo:Zeros(12), 64);

Assembler Symbols


Is the 64-bit name of the general-purpose destination register, encoded in the "Rd" field.


Is the program label whose 4KB page address is to be calculated. Its offset from the page address of this instruction, in the range +/-4GB, is encoded as "immhi:immlo" times 4096.


bits(64) base = PC[]; base<11:0> = Zeros(12); X[d] = base + imm;

Internal version only: isa v30.25, AdvSIMD v27.01, pseudocode v85-xml-00bet8_rc3 ; Build timestamp: 2018-09-13T13:25

Copyright © 2010-2018 ARM Limited or its affiliates. All rights reserved. This document is Non-Confidential.