aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2016-11-11 10:36:32 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2016-11-11 10:36:32 +0000
commita2cfc830e715142a0dd28496feaedf569b116b0e (patch)
tree68c59667004d2a4f0389da318222c7f39bfe3aec /gas
parentb0bfa7b5b884f78b798ab8d34d2a50bc63f558df (diff)
downloadgdb-a2cfc830e715142a0dd28496feaedf569b116b0e.zip
gdb-a2cfc830e715142a0dd28496feaedf569b116b0e.tar.gz
gdb-a2cfc830e715142a0dd28496feaedf569b116b0e.tar.bz2
[AArch64] Add ARMv8.3 single source PAC instructions
Add support for ARMv8.3 pointer authentication instructions that are encoded as single source data processing instructions. opcodes/ 2016-11-08 Szabolcs Nagy <szabolcs.nagy@arm.com> * aarch64-tbl.h (arch64_opcode_table): Add pacia, pacib, pacda, pacdb, autia, autib, autda, autdb, paciza, pacizb, pacdza, pacdzb, autiza, autizb, autdza, autdzb, xpaci, xpacd. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-opc-2.c: Regenerate. gas/testsuite/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * testsuite/gas/aarch64/pac.s: New. * testsuite/gas/aarch64/pac.d: New.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog5
-rw-r--r--gas/testsuite/gas/aarch64/pac.d34
-rw-r--r--gas/testsuite/gas/aarch64/pac.s34
3 files changed, 73 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6c6e79f..de48cd4 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+ * testsuite/gas/aarch64/pac.s: New.
+ * testsuite/gas/aarch64/pac.d: New.
+
+2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
* testsuite/gas/aarch64/sysreg-3.s: New.
* testsuite/gas/aarch64/sysreg-3.d: New.
* testsuite/gas/aarch64/illegal-sysreg-3.l: New.
diff --git a/gas/testsuite/gas/aarch64/pac.d b/gas/testsuite/gas/aarch64/pac.d
new file mode 100644
index 0000000..448e674
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pac.d
@@ -0,0 +1,34 @@
+#objdump: -dr
+#as: -march=armv8.3-a
+
+.*: file .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: dac10083 pacia x3, x4
+ 4: dac103e5 pacia x5, sp
+ 8: dac10483 pacib x3, x4
+ c: dac107e5 pacib x5, sp
+ 10: dac10883 pacda x3, x4
+ 14: dac10be5 pacda x5, sp
+ 18: dac10c83 pacdb x3, x4
+ 1c: dac10fe5 pacdb x5, sp
+ 20: dac11083 autia x3, x4
+ 24: dac113e5 autia x5, sp
+ 28: dac11483 autib x3, x4
+ 2c: dac117e5 autib x5, sp
+ 30: dac11883 autda x3, x4
+ 34: dac11be5 autda x5, sp
+ 38: dac11c83 autdb x3, x4
+ 3c: dac11fe5 autdb x5, sp
+ 40: dac123e5 paciza x5
+ 44: dac127e5 pacizb x5
+ 48: dac12be5 pacdza x5
+ 4c: dac12fe5 pacdzb x5
+ 50: dac133e5 autiza x5
+ 54: dac137e5 autizb x5
+ 58: dac13be5 autdza x5
+ 5c: dac13fe5 autdzb x5
+ 60: dac143e5 xpaci x5
+ 64: dac147e5 xpacd x5
diff --git a/gas/testsuite/gas/aarch64/pac.s b/gas/testsuite/gas/aarch64/pac.s
new file mode 100644
index 0000000..dd01682
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pac.s
@@ -0,0 +1,34 @@
+ /* ARMv8.3 Pointer authentication instructions. */
+ .text
+
+ /* Basic instructions. */
+ pacia x3, x4
+ pacia x5, sp
+ pacib x3, x4
+ pacib x5, sp
+ pacda x3, x4
+ pacda x5, sp
+ pacdb x3, x4
+ pacdb x5, sp
+
+ autia x3, x4
+ autia x5, sp
+ autib x3, x4
+ autib x5, sp
+ autda x3, x4
+ autda x5, sp
+ autdb x3, x4
+ autdb x5, sp
+
+ paciza x5
+ pacizb x5
+ pacdza x5
+ pacdzb x5
+
+ autiza x5
+ autizb x5
+ autdza x5
+ autdzb x5
+
+ xpaci x5
+ xpacd x5