BLRAA, BLRAAZ, BLRAB, BLRABZ
Branch with Link to Register, with pointer authentication.
Xm|SP ; BLRAA general registers
Xn ; BLRAAZ general registers
Xm|SP ; BLRAB general registers
Xn ; BLRABZ 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.
Supported in ARMv8.3.
Branch with Link to Register, with pointer authentication. This instruction authenticates the address in the general-purpose register that is specified by
, using a modifier and the specified key, and calls a subroutine at the authenticated address, setting register X30 to PC+4.
The modifier is:
- In the general-purpose register or stack pointer that is specified by
- The value zero, for
Key A is used for
BLRAAZ, and key B is used for
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.