xpaci

Strip Pointer Authentication Code (Inst)

XPACI <Xd>

Removes the PAC signature from an instruction pointer.

Pseudocode Operation

Xd ← StripPAC(Xd, InstructionPointer)

Example

XPACI x0

Encoding

Binary Layout
1
31
1
30
0
29
11010110
28:21
00001
20:16
01000
15:11
0
10
11111
9:5
Rd
4:0
 
Format Data Processing
Opcode 0xDAC143E0
Extension PAC (Security)

Operands

  • Xd
    Ptr

Related

More in PAC (Security)

Reference

Instruction Forms

Encoding Instruction ISA Bit pattern
0xDAC143E0 XPACI <Xd> A64 1 | 1 | 0 | 11010110 | 00001 | 01000 | 0 | 11111 | Rd

Description

Strip Pointer Authentication Code. This instruction removes the pointer authentication code from an address. The address is in the specified general-purpose register for XPACI and XPACD, and is in LR for XPACLRI. The XPACD instruction is used for data addresses, and XPACI and XPACLRI are used for instruction addresses.

Operation

if IsFeatureImplemented(FEAT_PAuth) then
    X[d, 64] = Strip(X[d, 64], data);