aboutsummaryrefslogtreecommitdiff
path: root/gas
diff options
context:
space:
mode:
authorMatthew Wahab <matthew.wahab@arm.com>2015-12-10 16:01:29 +0000
committerMatthew Wahab <matthew.wahab@arm.com>2015-12-10 16:03:56 +0000
commit6479e48ef9e7345e1111ed9fe578babd74faa1ef (patch)
tree8ac598ece388c541932b8aab8e3ca9a68598d76a /gas
parent7039122d13ab62045e1cc299fe5b4994aef3ac5f (diff)
downloadgdb-6479e48ef9e7345e1111ed9fe578babd74faa1ef.zip
gdb-6479e48ef9e7345e1111ed9fe578babd74faa1ef.tar.gz
gdb-6479e48ef9e7345e1111ed9fe578babd74faa1ef.tar.bz2
[AArch64][binutils] Add support for ARMv8.2 PSTATE.UAO.
ARMv8.2 adds a new control bit PSTATE.UAO. This patch adds support for this bit to binutils, following the same basic pattern as for PSTATE.PAN. The new control bit is only available when -march=armv8.2-a is specified. gas/testsuite/ 2015-12-10 Matthew Wahab <matthew.wahab@arm.com> * gas/aarch64/uao-directive.d: New. * gas/aarch64/uao.d: New. * gas/aarch64/uao.s: New. opcodes/ 2015-12-10 Matthew Wahab <matthew.wahab@arm.com> * aarch64-opc.c (aarch64_sys_regs): Add "uao". (aarch64_sys_reg_supported_p): Add comment. Add checks for "uao". (aarch64_pstatefields): Add "uao". (aarch64_pstatefield_supported_p): Add checks for "uao". Change-Id: Id571628ac5227b78aaf1876e85d15d7b6c0a2896
Diffstat (limited to 'gas')
-rw-r--r--gas/testsuite/ChangeLog6
-rw-r--r--gas/testsuite/gas/aarch64/uao-directive.d13
-rw-r--r--gas/testsuite/gas/aarch64/uao.d12
-rw-r--r--gas/testsuite/gas/aarch64/uao.s32
4 files changed, 63 insertions, 0 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index dd4a44a..aecac6a 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,5 +1,11 @@
2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
+ * gas/aarch64/uao-directive.d: New.
+ * gas/aarch64/uao.d: New.
+ * gas/aarch64/uao.s: New.
+
+2015-12-10 Matthew Wahab <matthew.wahab@arm.com>
+
* gas/aarch64/sysreg-2.d: Add tests for new registers.
* gas/aarch64/sysreg-2.s: Likewise. Also replace some spaces with
tabs.
diff --git a/gas/testsuite/gas/aarch64/uao-directive.d b/gas/testsuite/gas/aarch64/uao-directive.d
new file mode 100644
index 0000000..72569e5
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/uao-directive.d
@@ -0,0 +1,13 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: uao.s
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ [0-9a-f]:+ d500417f msr uao, #0x1
+ [0-9a-f]:+ d500407f msr uao, #0x0
+ [0-9a-f]:+ d5184280 msr uao, x0
+ [0-9a-f]:+ d5384281 mrs x1, uao
diff --git a/gas/testsuite/gas/aarch64/uao.d b/gas/testsuite/gas/aarch64/uao.d
new file mode 100644
index 0000000..49ec413
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/uao.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+#as: -march=armv8.2-a
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ [0-9a-f]:+ d500417f msr uao, #0x1
+ [0-9a-f]:+ d500407f msr uao, #0x0
+ [0-9a-f]:+ d5184280 msr uao, x0
+ [0-9a-f]:+ d5384281 mrs x1, uao
diff --git a/gas/testsuite/gas/aarch64/uao.s b/gas/testsuite/gas/aarch64/uao.s
new file mode 100644
index 0000000..c4baa2c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/uao.s
@@ -0,0 +1,32 @@
+/* uao.s Test file for AArch64 UAO instructions.
+
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Contributed by ARM Ltd.
+
+ This file is part of GAS.
+
+ GAS is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the license, or
+ (at your option) any later version.
+
+ GAS is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING3. If not,
+ see <http://www.gnu.org/licenses/>. */
+
+
+ .text
+ .ifdef DIRECTIVE
+ .arch armv8.2-a
+ .endif
+
+ msr uao, #1
+ msr uao, #0
+
+ msr uao, x0
+ mrs x1, uao