diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-10 16:01:29 +0000 |
---|---|---|
committer | Matthew Wahab <matthew.wahab@arm.com> | 2015-12-10 16:03:56 +0000 |
commit | 6479e48ef9e7345e1111ed9fe578babd74faa1ef (patch) | |
tree | 8ac598ece388c541932b8aab8e3ca9a68598d76a /gas | |
parent | 7039122d13ab62045e1cc299fe5b4994aef3ac5f (diff) | |
download | gdb-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/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/uao-directive.d | 13 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/uao.d | 12 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/uao.s | 32 |
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 |