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.
It has encodings from 2 classes: Integer and System
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1 | 1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | D | 1 | 1 | 1 | 1 | 1 | Rd | ||||
| sf | S | opcode2 | Rn | ||||||||||||||||||||||||||||
XPACD <Xd>
XPACI <Xd>
if !IsFeatureImplemented(FEAT_PAuth) then EndOfDecode(Decode_UNDEF); constant integer d = UInt(Rd); constant boolean data = (D == '1');
| 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| CRm | op2 | ||||||||||||||||||||||||||||||
if !IsFeatureImplemented(FEAT_PAuth) then EndOfDecode(Decode_NOP); constant integer d = 30; constant boolean data = FALSE;
Version 2025.09 — Copyright © 2010-2025 Arm Limited or its affiliates.
This site is provided as a community resource and is NOT affiliated with nor endorsed by Arm Limited.