xpacd

Strip Pointer Authentication Code (Data)

XPACD <Xd>

Removes the PAC signature from a data pointer.

Pseudocode Operation

Xd ← StripPAC(Xd, DataPointer)

Example

XPACD x0

Encoding

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

Operands

  • Xd
    Ptr

Related

More in PAC (Security)

Reference

Instruction Forms

Encoding Instruction ISA Bit pattern
0xDAC147E0 XPACD <Xd> A64 1 | 1 | 0 | 11010110 | 00001 | 01000 | 1 | 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);