aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorSzabolcs Nagy <szabolcs.nagy@arm.com>2016-11-11 10:29:07 +0000
committerSzabolcs Nagy <szabolcs.nagy@arm.com>2016-11-11 10:29:07 +0000
commit8787d804e1cbbd1946239d6c5e560c87d38bac06 (patch)
treebf469e9f10eb08ac3bed247e17723cd347e08e91 /gas
parent3d731f6949e2b0099cfbe0cf608d60a52a66d354 (diff)
downloadgdb-8787d804e1cbbd1946239d6c5e560c87d38bac06.zip
gdb-8787d804e1cbbd1946239d6c5e560c87d38bac06.tar.gz
gdb-8787d804e1cbbd1946239d6c5e560c87d38bac06.tar.bz2
[AArch64] Add ARMv8.3 instructions which are in the NOP space
This patch adds support for a subset of the ARMv8.3 pointer authentication instructions: XPACLRI, PACIA1716, PACIB1716, AUTIA1716, AUTIA1716, PACIAZ, PACIASP, PACIBZ, PACISP, AUTIAZ, AUTIASP, AUTIBZ, AUTIBSP. These are aliases to HINT #0x7, HINT #0x8, HINT #0xa, HINT #0xc, HINT #0xe, HINT #0x18, HINT #0x19, ..., HINT #0x1f respectively. For more details about pointer authentication in ARMv8.3 see https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions opcodes/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * aarch64-tbl.h (aarch64_feature_v8_3, ARMV8_3, V8_3_INSN): New. (arch64_opcode_table): Add xpaclri, pacia1716, pacib1716, autia1716, autib1716, paciaz, paciasp, pacibz, pacibsp, autiaz, autiasp, autibz, autibsp. * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. gas/ 2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com> * testsuite/gas/aarch64/system-3.s: New. * testsuite/gas/aarch64/system-3.d: New. * testsuite/gas/aarch64/system.d: Update expected output.
Diffstat (limited to 'gas')
-rw-r--r--gas/ChangeLog6
-rw-r--r--gas/testsuite/gas/aarch64/system-3.d34
-rw-r--r--gas/testsuite/gas/aarch64/system-3.s41
-rw-r--r--gas/testsuite/gas/aarch64/system.d26
4 files changed, 94 insertions, 13 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6c0d24f..1caf7a1 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,11 @@
2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+ * testsuite/gas/aarch64/system-3.s: New.
+ * testsuite/gas/aarch64/system-3.d: New.
+ * testsuite/gas/aarch64/system.d: Update expected output.
+
+2016-11-11 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
* config/tc-aarch64.c (aarch64_archs): Add "armv8.3-a".
* doc/c-aarch64.texi (-march): Likewise.
diff --git a/gas/testsuite/gas/aarch64/system-3.d b/gas/testsuite/gas/aarch64/system-3.d
new file mode 100644
index 0000000..f1db369
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/system-3.d
@@ -0,0 +1,34 @@
+#as: -march=armv8.3-a
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: d50320ff xpaclri
+ 4: d50320ff xpaclri
+ 8: d503211f pacia1716
+ c: d503211f pacia1716
+ 10: d503215f pacib1716
+ 14: d503215f pacib1716
+ 18: d503219f autia1716
+ 1c: d503219f autia1716
+ 20: d50321df autib1716
+ 24: d50321df autib1716
+ 28: d503231f paciaz
+ 2c: d503231f paciaz
+ 30: d503233f paciasp
+ 34: d503233f paciasp
+ 38: d503235f pacibz
+ 3c: d503235f pacibz
+ 40: d503237f pacibsp
+ 44: d503237f pacibsp
+ 48: d503239f autiaz
+ 4c: d503239f autiaz
+ 50: d50323bf autiasp
+ 54: d50323bf autiasp
+ 58: d50323df autibz
+ 5c: d50323df autibz
+ 60: d50323ff autibsp
+ 64: d50323ff autibsp
diff --git a/gas/testsuite/gas/aarch64/system-3.s b/gas/testsuite/gas/aarch64/system-3.s
new file mode 100644
index 0000000..c68b4a8
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/system-3.s
@@ -0,0 +1,41 @@
+ /* ARMv8.3 Pointer authentication, HINT alias instructions. */
+ .text
+
+ xpaclri
+ hint #0x7
+
+ pacia1716
+ hint #0x8
+
+ pacib1716
+ hint #0xa
+
+ autia1716
+ hint #0xc
+
+ autib1716
+ hint #0xe
+
+ paciaz
+ hint #0x18
+
+ paciasp
+ hint #0x19
+
+ pacibz
+ hint #0x1a
+
+ pacibsp
+ hint #0x1b
+
+ autiaz
+ hint #0x1c
+
+ autiasp
+ hint #0x1d
+
+ autibz
+ hint #0x1e
+
+ autibsp
+ hint #0x1f
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index 2cfcdb5..1103360 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -19,14 +19,14 @@ Disassembly of section \.text:
2c: d503209f sev
30: d50320bf sevl
34: d50320df hint #0x6
- 38: d50320ff hint #0x7
- 3c: d503211f hint #0x8
+ 38: d50320ff (hint #0x7|xpaclri)
+ 3c: d503211f (hint #0x8|pacia1716)
40: d503213f hint #0x9
- 44: d503215f hint #0xa
+ 44: d503215f (hint #0xa|pacib1716)
48: d503217f hint #0xb
- 4c: d503219f hint #0xc
+ 4c: d503219f (hint #0xc|autia1716)
50: d50321bf hint #0xd
- 54: d50321df hint #0xe
+ 54: d50321df (hint #0xe|autib1716)
58: d50321ff hint #0xf
5c: d503221f (hint #0x10|esb)
60: d503223f (hint #0x11|psb csync)
@@ -36,14 +36,14 @@ Disassembly of section \.text:
70: d50322bf hint #0x15
74: d50322df hint #0x16
78: d50322ff hint #0x17
- 7c: d503231f hint #0x18
- 80: d503233f hint #0x19
- 84: d503235f hint #0x1a
- 88: d503237f hint #0x1b
- 8c: d503239f hint #0x1c
- 90: d50323bf hint #0x1d
- 94: d50323df hint #0x1e
- 98: d50323ff hint #0x1f
+ 7c: d503231f (hint #0x18|paciaz)
+ 80: d503233f (hint #0x19|paciasp)
+ 84: d503235f (hint #0x1a|pacibz)
+ 88: d503237f (hint #0x1b|pacibsp)
+ 8c: d503239f (hint #0x1c|autiaz)
+ 90: d50323bf (hint #0x1d|autiasp)
+ 94: d50323df (hint #0x1e|autibz)
+ 98: d50323ff (hint #0x1f|autibsp)
9c: d503241f hint #0x20
a0: d503243f hint #0x21
a4: d503245f hint #0x22