[PATCH 1/7] aarch64: add PAuth_LR instructions belonging to NOP space
Muhammad Kamran <[email protected]>
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
From: Matthieu Longo <[email protected]> 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