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

* Re: [Aarch64] Add support for ARMv8.1 command line option
  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
  0 siblings, 1 reply; 3+ messages in thread
From: Matthew Wahab @ 2015-06-03 14:15 UTC (permalink / raw)
  To: binutils

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

Ping.

I've attached an updated patch and also added to the gas/NEW to mention the ARMv8.1 
support in the Aarch64 port. Updated change-log below.

Tested aarch64-none-linux-gnu with check-binutils and check-gas.

Ok for trunk?
Matthew

include/opcode/
2015-06-03  Matthew Wahab  <matthew.wahab@arm.com>

	* aarch64.h (AARCH64_V8_1): New.

gas/
2015-06-03  Matthew Wahab  <matthew.wahab@arm.com>

	* NEWS: Mention ARMv8.1 support in the Aarch64 port.
	* 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: 2360 bytes --]

diff --git a/gas/NEWS b/gas/NEWS
index 02a434c..986325d 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -2,6 +2,10 @@
 
 Changes in 2.26:
 
+* Support for the ARMv8.1 architecture has been added to the Aarch64 port.
+  Support for the individual ARMv8.1 Adv.SIMD, LOR and PAN architecture
+  extensions has also been added to the Aarch64 port.
+
 * Support for the ARMv8.1 architecture has been added to the ARM port.  Support
   for the individual ARMv8.1 Adv.SIMD and PAN architecture extensions has also
   been added to the ARM port.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 26df2f2..e95d5f6 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7383,6 +7383,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 43c1a36..0fe3a84 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

* Re: [Aarch64] Add support for ARMv8.1 command line option
  2015-06-03 14:15 ` Matthew Wahab
@ 2015-06-03 15:48   ` Nicholas Clifton
  0 siblings, 0 replies; 3+ messages in thread
From: Nicholas Clifton @ 2015-06-03 15:48 UTC (permalink / raw)
  To: Matthew Wahab, binutils

Hi Matthew,

> Ping.

oops - sorry,...

> include/opcode/
> 2015-06-03  Matthew Wahab  <matthew.wahab@arm.com>
>
>      * aarch64.h (AARCH64_V8_1): New.
>
> gas/
> 2015-06-03  Matthew Wahab  <matthew.wahab@arm.com>
>
>      * NEWS: Mention ARMv8.1 support in the Aarch64 port.
>      * config/tc-aarch64.c (aarch64_arch_option_table): Add
>      "armv8.1-a".
>      * doc/c-aarch64.texi (-march): Add "armv8.1-a".

Approved - please apply.

Cheers
   Nick


^ 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).