aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2016-11-11 10:39:46 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2016-11-11 10:39:46 +0000
commitc84364ece4faa7b3eb0f60f4dc301282e9693e1e (patch)
tree53e6b88adcae7cdfe7ab3da891d211a27284a369 /gas
parenta2cfc830e715142a0dd28496feaedf569b116b0e (diff)
downloadgdb-c84364ece4faa7b3eb0f60f4dc301282e9693e1e.zip
gdb-c84364ece4faa7b3eb0f60f4dc301282e9693e1e.tar.gz
gdb-c84364ece4faa7b3eb0f60f4dc301282e9693e1e.tar.bz2
[AArch64] Add ARMv8.3 PACGA instruction
Add support for the ARMv8.3 PACGA instruction. include/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * opcode/aarch64.h (enum aarch64_opnd): Add AARCH64_OPND_Rm_SP. opcodes/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * 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 <szabolcs.nagy@arm.com> * 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.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog7
-rw-r--r--gas/config/tc-aarch64.c2
-rw-r--r--gas/testsuite/gas/aarch64/pac.d2
-rw-r--r--gas/testsuite/gas/aarch64/pac.s3
4 files changed, 14 insertions, 0 deletions
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 <szabolcs.nagy@arm.com>
+ * 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 <szabolcs.nagy@arm.com>
+
* 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