aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-12-10 14:05:01 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2015-12-10 14:10:15 +0000
commitc8a6db6fa0b06b978e5b63593a6b0cb3300ad259 (patch)
treef20dce99ea7b13923aa1e8b7f143aaef27d70126 /gas
parentaf117b3cf1877da805d081b93f606f3dd8153502 (diff)
downloadgdb-c8a6db6fa0b06b978e5b63593a6b0cb3300ad259.zip
gdb-c8a6db6fa0b06b978e5b63593a6b0cb3300ad259.tar.gz
gdb-c8a6db6fa0b06b978e5b63593a6b0cb3300ad259.tar.bz2
[AArch64][PATCH 1/2] Add support for RAS instruction ESB.
The ARMv8.2 RAS extension adds a new barrier instruction ESB as an alias and the preferred form of HINT 16. This patch adds an architectural feature flag for the RAS extension and includes it in the features selected enabled by -march=armv8.2-a. It also adds the ESB instruction, making it available whenever the RAS feature is enabled. Because ESB is the preferred form and because the target architecture isn't available to the disassembler, HINT 16 will be disassembled as ESB even when the target has no support for the RAS extension. gas/testsuite/ 2015-12-10 Matthew Wahab <matthew.wahab@arm.com> * gas/aarch64/system-2.d: New. * gas/aarch64/system-2.s: New. * gas/aarch64/system.d: Adjust expected output for HINT 16. include/opcode/ 2015-12-10 Matthew Wahab <matthew.wahab@arm.com> * aarch64.h (AARCH64_FEATURE_RAS): New. (AARCH64_ARCH_V8_2): Add AARCH64_FEATURE_RAS. opcodes/ 2015-12-10 Matthew Wahab <matthew.wahab@arm.com> * aarch64-asm-2.c: Regenerate. * aarch64-dis-2.c: Regenerate. * aarch64-tbl.h (aarch64_feature_ras): New. (RAS): New. (aarch64_opcode_table): Add "esb". Change-Id: Id4713917da15cca3b977284f43febd1c9b3d9faf
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/aarch64/system-2.d10
-rw-r--r--gas/testsuite/gas/aarch64/system-2.s6
-rw-r--r--gas/testsuite/gas/aarch64/system.d2
4 files changed, 23 insertions, 1 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index d0f5dea..7fd79a8 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,9 @@
+2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/aarch64/system-2.d: New.
+ * gas/aarch64/system-2.s: New.
+ * gas/aarch64/system.d: Adjust expected output for HINT 16.
+
2015-12-09 H.J. Lu <hongjiu.lu@intel.com>
* gas/i386/i386.exp: Run ospke and x86-64-ospke.
diff --git a/gas/testsuite/gas/aarch64/system-2.d b/gas/testsuite/gas/aarch64/system-2.d
new file mode 100644
index 0000000..9b379cf
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/system-2.d
@@ -0,0 +1,10 @@
+#as: -march=armv8.2-a
+#objdump: -dr
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: d503221f esb
+ 4: d503221f esb
diff --git a/gas/testsuite/gas/aarch64/system-2.s b/gas/testsuite/gas/aarch64/system-2.s
new file mode 100644
index 0000000..9b7f216
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/system-2.s
@@ -0,0 +1,6 @@
+ /* ARMv8.1 System instructions. */
+ .text
+
+ /* RAS Extension. */
+ esb
+ hint #0x10
diff --git a/gas/testsuite/gas/aarch64/system.d b/gas/testsuite/gas/aarch64/system.d
index 4fad895..d4dcf86 100644
--- a/gas/testsuite/gas/aarch64/system.d
+++ b/gas/testsuite/gas/aarch64/system.d
@@ -28,7 +28,7 @@ Disassembly of section \.text:
50: d50321bf hint #0xd
54: d50321df hint #0xe
58: d50321ff hint #0xf
- 5c: d503221f hint #0x10
+ 5c: d503221f (hint #0x10|esb)
60: d503223f hint #0x11
64: d503225f hint #0x12
68: d503227f hint #0x13