Branch to Register, with pointer authentication.


BRAA Xn, Xm|SP ; BRAA general registers

BRAAZ Xn ; BRAAZ general registers

BRAB Xn, Xm|SP ; BRAB general registers

BRABZ Xn ; BRABZ general registers


Is the 64-bit name of the general-purpose register holding the address to be branched to.
Is the 64-bit name of the general-purpose source register or stack pointer holding the modifier.

Architectures supported

Supported in the Arm®v8.3-A architecture and later.


Branch to Register, with pointer authentication. This instruction authenticates the address in the general-purpose register that is specified by Xn, using a modifier and the specified key, and branches to the authenticated address.

The modifier is:

  • In the general-purpose register or stack pointer that is specified by Xm|SP for BRAA and BRAB.
  • The value zero, for BRAAZ and BRABZ.

Key A is used for BRAA and BRAAZ, and key B is used for BRAB and BRABZ.

If the authentication passes, the PE continues execution at the target of the branch. If the authentication fails, a Translation fault is generated.

The authenticated address is not written back to the general-purpose register.

Non-ConfidentialPDF file icon PDF versionDUI0801J
Copyright © 2014–2017, 2019 Arm Limited or its affiliates. All rights reserved.