PACIBSPPC
Pointer Authentication Code for return address, using key B
This instruction computes and inserts a Pointer Authentication Code
for an instruction address, using two modifiers and key B.
The address is in X30.
The first modifier is in SP.
The second modifier is the value of PC.
A PACIBSPPC instruction has an implicit BTI instruction. The
implicit BTI instruction of a PACIBSPPC instruction is always
compatible with PSTATE.BTYPE == 0b01
and PSTATE.BTYPE == 0b10.
Controls in SCTLR_ELx configure whether the
implicit BTI instruction of a PACIBSPPC instruction is compatible with
PSTATE.BTYPE == 0b11.
For more information, see PSTATE.BTYPE.
1
1
0
1
1
0
1
0
1
1
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
1
1
1
1
1
0
PACIBSPPC
if !IsFeatureImplemented(FEAT_PAuth_LR) then UNDEFINED;
constant integer d = 30;
if IsFeatureImplemented(FEAT_BTI) then
// Check for branch target compatibility between PSTATE.BTYPE
// and implicit branch target of PACIxSPPC instruction.
SetBTypeCompatible(BTypeCompatible_PACIXSP());
X[d, 64] = AddPACIB2(X[d, 64], SP[], PC64);