BLR
Call through a register
Save the next instruction address in X30 and branch to the original value of Xn.
| Form | Bits | Requires | Encoding |
|---|---|---|---|
BLR Xn | 64 | Armv8-A | 1101011000111111000000xxxxx00000 |
Operation#
Pseudo-C · selected form
target = Xn
X30 = PC + 4
PC = targetWhat to watch for
- The target is read before X30 is overwritten, including when Xn is X30. SP is not accepted.
- Target fetches can fault; authentication and guarded-page behavior are outside this simplified operation.
Architectural details#
- Flags
- NZCV unchanged.
- Destination
- Writes X30 and PC; does not allocate a stack frame.
- Encoding
1101011000111111000000xxxxx00000- Operands
Xnread · 64 bitsX30write · 64 bitsPCwrite · 64 bits
- Coverage
- Selected baseline A64 scalar register forms.
Exception information & execution requirements
Complete exception conditions have not been imported.
MRS supplies encoding and availability conditions, not an exhaustive exception model.
Feature availability alone does not guarantee execution: OS state and execution-level controls also apply. Use the linked architecture documentation for the full exception conditions.
Sources & provenance#
Technical fields are imported from pinned upstream files. Explanations and explorer behavior are maintained separately.
Architectural references for this form
Arm · aarchmrs
- Revision
2026-03_rel- SHA-256
bf355d263eed08ef6b3e4e680e6bba3642fa7c3dd0be77ffb4783420041a0860- Terms
- BSD-3-Clause