You copied the Doc URL to your clipboard.

BRAA, BRAAZ, BRAB, BRABZ

Branch to Register, with pointer authentication.

Syntax

BRAA Xn, Xm|SP ; BRAA general registers

BRAAZ Xn ; BRAAZ general registers

BRAB Xn, Xm|SP ; BRAB general registers

BRABZ Xn ; BRABZ general registers

Where:

Xn
Is the 64-bit name of the general-purpose register holding the address to be branched to.
Xm|SP
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.

Usage

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.

Was this page helpful? Yes No