[PATCH 1/7] aarch64: add PAuth_LR instructions belonging to NOP space
Muhammad Kamran
muhammad.kamran@arm.com
Thu Aug 27 15:10:08 GMT 2026
From: Matthieu Longo <matthieu.longo@arm.com>
The 'pacm' instruction is introduced by the PAC enhancement feature
PAuth_LR, but does not require the declaration of this feature
because it belongs to the NOP space.
This patch also adds the relevant tests for the 'pacm' instruction.
CI-tag:skip
---
gas/testsuite/gas/aarch64/system-3.d | 2 ++
gas/testsuite/gas/aarch64/system-3.s | 4 ++++
gas/testsuite/gas/aarch64/system.d | 2 +-
opcodes/aarch64-tbl.h | 1 +
4 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/gas/testsuite/gas/aarch64/system-3.d b/gas/testsuite/gas/aarch64/system-3.d
index 04df1ee5cbf..4b5dae23d03 100644
--- a/gas/testsuite/gas/aarch64/system-3.d
+++ b/gas/testsuite/gas/aarch64/system-3.d
@@ -32,3 +32,5 @@ Disassembly of section \.text:
.*: d50323df autibz
.*: d50323ff autibsp
.*: d50323ff autibsp
+.*: d50324ff pacm
+.*: d50324ff pacm
diff --git a/gas/testsuite/gas/aarch64/system-3.s b/gas/testsuite/gas/aarch64/system-3.s
index c68b4a8e09d..06529946a26 100644
--- a/gas/testsuite/gas/aarch64/system-3.s
+++ b/gas/testsuite/gas/aarch64/system-3.s
@@ -39,3 +39,7 @@
autibsp
hint #0x1f
+
+ /* FEAT_PAuth_LR Pointer Authentication, HINT alias instructions. */
+ pacm
+ hint #0x27
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index 11498317e66..01446c15c51 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -57,7 +57,7 @@ Disassembly of section \.text:
.*: d503249f (hint #0x24|bti j)
.*: d50324bf hint #0x25
.*: d50324df (hint #0x26|bti jc)
-.*: d50324ff hint #0x27
+.*: d50324ff (hint #0x27|pacm)
.*: d503251f (hint #0x28|chkfeat x16)
.*: d503253f hint #0x29
.*: d503255f hint #0x2a
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 026432a5e25..570ea52052f 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -5179,6 +5179,7 @@ const struct aarch64_opcode aarch64_opcode_table[] =
CORE_INSN ("pacib1716", 0xd503215f, 0xffffffff, ic_system, 0, OP0 (), QL_0, F_ALIAS),
CORE_INSN ("autia1716", 0xd503219f, 0xffffffff, ic_system, 0, OP0 (), QL_0, F_ALIAS),
CORE_INSN ("autib1716", 0xd50321df, 0xffffffff, ic_system, 0, OP0 (), QL_0, F_ALIAS),
+ CORE_INSN ("pacm", 0xd50324ff, 0xffffffff, ic_system, 0, OP0 (), {}, F_ALIAS),
CORE_INSN ("esb", 0xd503221f, 0xffffffff, ic_system, 0, OP0 (), QL_0, F_ALIAS),
CORE_INSN ("psb", 0xd503223f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), QL_NIL1, F_ALIAS),
CORE_INSN ("tsb", 0xd503225f, 0xffffffff, ic_system, 0, OP1 (BARRIER_PSB), QL_NIL1, F_ALIAS),
--
2.43.0
More information about the Binutils
mailing list