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
Operands
-
Xd
Ptr
Related
More in PAC (Security)
Reference
View in Arm A64 ISA Reference ↗
Arm A64 ISA
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);