public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
* [Aarch64] Add support for ARMv8.1 command line option
@ 2015-05-21 10:33 Matthew Wahab
  2015-06-03 14:15 ` Matthew Wahab
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wahab @ 2015-05-21 10:33 UTC (permalink / raw)
  To: binutils

[-- Attachment #1: Type: text/plain, Size: 1052 bytes --]

ARMv8.1 is a set of optional architectural extensions to ARMv8. Support for the
individual extensions, added by other patches, is enabled by adding the
extension name to the "armv8-a" architecture name.  This patch supports using
"armv8.1-a" as an architecture name in its own right, making it the same as
"armv8-a" with all ARMv8.1 extensions enabled.

This patch depends on the ARMv8.1 patches submitted earlier:
- PAN extension: https://sourceware.org/ml/binutils/2015-05/msg00182.html
- Limited ordering regions:
https://sourceware.org/ml/binutils/2015-05/msg00187.html
- ARMv8.1 Adv.SIMD: https://sourceware.org/ml/binutils/2015-05/msg00189.html

Tested with check-gcc and check-binutils for aarch64-none-linux-gnu.

Ok for trunk?
Matthew

include/opcode/
2015-15-21  Matthew Wahab  <matthew.wahab@arm.com>

	* aarch64.h (AARCH64_V8_1): New.

gas/
2015-15-21  Matthew Wahab  <matthew.wahab@arm.com>

	* config/tc-aarch64.c (aarch64_arch_option_table): Add
	"armv8.1-a".
	* doc/c-aarch64.texi (-march): Add "armv8.1-a".

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: aarch64_armv8.1-a.patch --]
[-- Type: text/x-patch; name=aarch64_armv8.1-a.patch, Size: 1815 bytes --]

diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 5f2dd83..73a3de2 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7361,6 +7361,7 @@ struct aarch64_arch_option_table
 static const struct aarch64_arch_option_table aarch64_archs[] = {
   {"all", AARCH64_ANY},
   {"armv8-a", AARCH64_ARCH_V8},
+  {"armv8.1-a", AARCH64_ARCH_V8_1},
   {NULL, AARCH64_ARCH_NONE}
 };
 
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 83bbee5..282f107 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -81,7 +81,8 @@ extensions.
 This option specifies the target architecture.  The assembler will
 issue an error message if an attempt is made to assemble an
 instruction which will not execute on the target architecture.  The
-only value for @var{architecture} is @code{armv8-a}.
+following architecture names are recognized: @code{armv8-a} and
+@code{armv8.1-a}.
 
 If both @option{-mcpu} and @option{-march} are specified, the
 assembler will use the setting for @option{-mcpu}.  If neither are
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index c47f9dd..dcf0fef 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -47,6 +47,15 @@ typedef uint32_t aarch64_insn;
 #define AARCH64_ARCH_V8		AARCH64_FEATURE (AARCH64_FEATURE_V8, \
 						 AARCH64_FEATURE_FP  \
 						 | AARCH64_FEATURE_SIMD)
+#define AARCH64_ARCH_V8_1	AARCH64_FEATURE (AARCH64_FEATURE_V8, \
+						 AARCH64_FEATURE_FP  \
+						 | AARCH64_FEATURE_SIMD	\
+						 | AARCH64_FEATURE_LSE	\
+						 | AARCH64_FEATURE_PAN	\
+						 | AARCH64_FEATURE_LOR	\
+						 | AARCH64_FEATURE_RDMA)
+
+
 #define AARCH64_ARCH_NONE	AARCH64_FEATURE (0, 0)
 #define AARCH64_ANY		AARCH64_FEATURE (-1, 0)	/* Any basic core.  */
 

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-03 15:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-05-21 10:33 [Aarch64] Add support for ARMv8.1 command line option Matthew Wahab
2015-06-03 14:15 ` Matthew Wahab
2015-06-03 15:48   ` Nicholas Clifton

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).