From c84364ece4faa7b3eb0f60f4dc301282e9693e1e Mon Sep 17 00:00:00 2001 From: Szabolcs Nagy Date: Fri, 11 Nov 2016 10:39:46 +0000 Subject: [AArch64] Add ARMv8.3 PACGA instruction Add support for the ARMv8.3 PACGA instruction. include/ 2016-11-11 Szabolcs Nagy * opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rm_SP. opcodes/ 2016-11-11 Szabolcs Nagy * aarch64-tbl.h (arch64_opcode_table): Add pacga. (AARCH64_OPERANDS): Add Rm_SP. * aarch64-opc.c (aarch64_print_operand): Handle AARCH64_OPND_Rm_SP. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. gas/ 2016-11-11 Szabolcs Nagy * config/tc-aarch64.c (process_omitted_operand): Handle AARCH64_OPND_Rm_SP. (parse_operands): Likewise. * testsuite/gas/aarch64/pac.s: Add pacga. * testsuite/gas/aarch64/pac.d: Add pacga. --- gas/ChangeLog | 7 +++++++ gas/config/tc-aarch64.c | 2 ++ gas/testsuite/gas/aarch64/pac.d | 2 ++ gas/testsuite/gas/aarch64/pac.s | 3 +++ 4 files changed, 14 insertions(+) (limited to 'gas') diff --git a/gas/ChangeLog b/gas/ChangeLog index de48cd4..7967f98 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,5 +1,12 @@ 2016-11-11 Szabolcs Nagy + * config/tc-aarch64.c (process_omitted_operand): Handle AARCH64_OPND_Rm_SP. + (parse_operands): Likewise. + * testsuite/gas/aarch64/pac.s: Add pacga. + * testsuite/gas/aarch64/pac.d: Add pacga. + +2016-11-11 Szabolcs Nagy + * testsuite/gas/aarch64/pac.s: New. * testsuite/gas/aarch64/pac.d: New. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index bda8057..e65daa0 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -4983,6 +4983,7 @@ process_omitted_operand (enum aarch64_opnd type, const aarch64_opcode *opcode, case AARCH64_OPND_Rt_SYS: case AARCH64_OPND_Rd_SP: case AARCH64_OPND_Rn_SP: + case AARCH64_OPND_Rm_SP: case AARCH64_OPND_Fd: case AARCH64_OPND_Fn: case AARCH64_OPND_Fm: @@ -5314,6 +5315,7 @@ parse_operands (char *str, const aarch64_opcode *opcode) case AARCH64_OPND_Rd_SP: case AARCH64_OPND_Rn_SP: case AARCH64_OPND_SVE_Rn_SP: + case AARCH64_OPND_Rm_SP: po_int_reg_or_fail (REG_TYPE_R_SP); break; diff --git a/gas/testsuite/gas/aarch64/pac.d b/gas/testsuite/gas/aarch64/pac.d index 448e674..4efbd88 100644 --- a/gas/testsuite/gas/aarch64/pac.d +++ b/gas/testsuite/gas/aarch64/pac.d @@ -32,3 +32,5 @@ Disassembly of section \.text: 5c: dac13fe5 autdzb x5 60: dac143e5 xpaci x5 64: dac147e5 xpacd x5 + 68: 9ac33041 pacga x1, x2, x3 + 6c: 9adf3041 pacga x1, x2, sp diff --git a/gas/testsuite/gas/aarch64/pac.s b/gas/testsuite/gas/aarch64/pac.s index dd01682..88f43a8 100644 --- a/gas/testsuite/gas/aarch64/pac.s +++ b/gas/testsuite/gas/aarch64/pac.s @@ -32,3 +32,6 @@ xpaci x5 xpacd x5 + + pacga x1, x2, x3 + pacga x1, x2, sp -- cgit v1.1