diff options
author | Matthew Wahab <matthew.wahab@arm.com> | 2015-06-02 11:29:15 +0100 |
---|---|---|
committer | Jiong Wang <jiong.wang@arm.com> | 2015-06-02 11:30:12 +0100 |
commit | 290806fd94099361f28e012cebca058c8c4f0e45 (patch) | |
tree | 0d3349bdb80d5b9df0b6f48e5a2eb0b6f4857bd4 /gas | |
parent | 8d683210f1932f6ac6d2cd8ae8186cdad80f5a23 (diff) | |
download | gdb-290806fd94099361f28e012cebca058c8c4f0e45.zip gdb-290806fd94099361f28e012cebca058c8c4f0e45.tar.gz gdb-290806fd94099361f28e012cebca058c8c4f0e45.tar.bz2 |
[AArch64] Support for ARMv8.1a Limited Ordering Regions extension
2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
include/
* aarch64.h (AARCH64_FEATURE_LOR): New.
opcodes/
* aarch64-tbl.h (aarch64_feature_lor): New.
(LOR): New.
(aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr",
"stllrb", "stllrh".
* aarch64-asm-2.c: Regenerate.
* aarch64-dis-2.c: Regenerate.
* aarch64-opc-2.c: Regenerate.
gas/
* config/tc-aarch64.c (aarch64_features): Add "lor".
* doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of
architecture extensions.
gas/testsuite/
* lor-directive.d: New.
* lor.d: New.
* lor.s: New.
Diffstat (limited to 'gas')
-rw-r--r-- | gas/ChangeLog | 6 | ||||
-rw-r--r-- | gas/config/tc-aarch64.c | 1 | ||||
-rw-r--r-- | gas/doc/c-aarch64.texi | 2 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/lor-directive.d | 25 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/lor.d | 23 | ||||
-rw-r--r-- | gas/testsuite/gas/aarch64/lor.s | 43 |
7 files changed, 106 insertions, 0 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index dd2f446..2401a44 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +2015-06-02 Matthew Wahab <matthew.wahab@arm.com> + + * config/tc-aarch64.c (aarch64_features): Add "lor". + * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of + architecture extensions. + 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> * config/tc-aarch64.c (parse_sys_reg): New parameter. Check target diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 707936d..28fb41c 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -7400,6 +7400,7 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = { {"lse", AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0)}, {"simd", AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)}, {"pan", AARCH64_FEATURE (AARCH64_FEATURE_PAN, 0)}, + {"lor", AARCH64_FEATURE (AARCH64_FEATURE_LOR, 0)}, {NULL, AARCH64_ARCH_NONE} }; diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index f790c7a..2b5689c 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -135,6 +135,8 @@ automatically cause those extensions to be disabled. @tab Enable Advanced SIMD extensions. This implies @code{fp}. @item @code{pan} @tab ARMv8-A @tab ARMv8-A or later @tab Enable Privileged Access Never support. +@item @code{lor} @tab ARMv8-A @tab ARMv8-A or later + @tab Enable Limited Ordering Regions extensions. @end multitable @node AArch64 Syntax diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 233e138..6e2ea2d 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-06-02 Matthew Wahab <matthew.wahab@arm.com> + + * lor-directive.d: New. + * lor.d: New. + * lor.s: New + 2015-06-01 Matthew Wahab <matthew.wahab@arm.com> * pan-directive.d: New. diff --git a/gas/testsuite/gas/aarch64/lor-directive.d b/gas/testsuite/gas/aarch64/lor-directive.d new file mode 100644 index 0000000..3238bb9 --- /dev/null +++ b/gas/testsuite/gas/aarch64/lor-directive.d @@ -0,0 +1,25 @@ +#objdump: -dr +#as: --defsym DIRECTIVE=1 +#source: lor.s + +.*: file format .* + + +Disassembly of section \.text: + +0000000000000000 <.text>: + 0: 889f7c00 stllr w0, \[x0\] + 4: c89f7c00 stllr x0, \[x0\] + 8: 889f7c01 stllr w1, \[x0\] + c: c89f7c22 stllr x2, \[x1\] + 10: 489f7c43 stllrh w3, \[x2\] + 14: 089f7c64 stllrb w4, \[x3\] + 18: 089f7fe5 stllrb w5, \[sp\] + 1c: 88df7c00 ldlar w0, \[x0\] + 20: c8df7c00 ldlar x0, \[x0\] + 24: 88df7c01 ldlar w1, \[x0\] + 28: c8df7c22 ldlar x2, \[x1\] + 2c: 08df7c43 ldlarb w3, \[x2\] + 30: 48df7c64 ldlarh w4, \[x3\] + 34: 88df7fe5 ldlar w5, \[sp\] + diff --git a/gas/testsuite/gas/aarch64/lor.d b/gas/testsuite/gas/aarch64/lor.d new file mode 100644 index 0000000..006983b --- /dev/null +++ b/gas/testsuite/gas/aarch64/lor.d @@ -0,0 +1,23 @@ +#objdump: -dr +#as: -march=armv8-a+lor + +.*: file format .* + + +Disassembly of section \.text: + +0000000000000000 <.text>: + 0: 889f7c00 stllr w0, \[x0\] + 4: c89f7c00 stllr x0, \[x0\] + 8: 889f7c01 stllr w1, \[x0\] + c: c89f7c22 stllr x2, \[x1\] + 10: 489f7c43 stllrh w3, \[x2\] + 14: 089f7c64 stllrb w4, \[x3\] + 18: 089f7fe5 stllrb w5, \[sp\] + 1c: 88df7c00 ldlar w0, \[x0\] + 20: c8df7c00 ldlar x0, \[x0\] + 24: 88df7c01 ldlar w1, \[x0\] + 28: c8df7c22 ldlar x2, \[x1\] + 2c: 08df7c43 ldlarb w3, \[x2\] + 30: 48df7c64 ldlarh w4, \[x3\] + 34: 88df7fe5 ldlar w5, \[sp\] diff --git a/gas/testsuite/gas/aarch64/lor.s b/gas/testsuite/gas/aarch64/lor.s new file mode 100644 index 0000000..3d296ab --- /dev/null +++ b/gas/testsuite/gas/aarch64/lor.s @@ -0,0 +1,43 @@ +/* lor.s Test file for AArch64 LOR extension 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_extension lor + .endif + + stllr w0, [x0] + stllr x0, [x0] + + stllr w1, [x0] + stllr x2, [x1] + stllrh w3, [x2] + stllrb w4, [x3] + stllrb w5, [sp] + + ldlar w0, [x0] + ldlar x0, [x0] + + ldlar w1, [x0] + ldlar x2, [x1] + ldlarb w3, [x2] + ldlarh w4, [x3] + ldlar w5, [sp] + |