This is the mail archive of the binutils-cvs@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[binutils-gdb/binutils-2_26-branch] [AArch64] Add ARMv8.2 command line option and feature flag.


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=ea8ed16aec5fc131dcbf19370b6019632f786aad

commit ea8ed16aec5fc131dcbf19370b6019632f786aad
Author: Matthew Wahab <matthew.wahab@arm.com>
Date:   Wed Dec 9 13:10:59 2015 +0000

    [AArch64] Add ARMv8.2 command line option and feature flag.
    
    ARMv8.2 is an architectural extension of ARMv8. This patch adds an
    architecture feature macro for ARMv8.2 to the binutils AArch64 target
    with GAS command line option -march=armv8.2-a.
    
    gas/
    2015-12-09  Matthew Wahab  <matthew.wahab@arm.com>
    
    	* config/tc-aarch64.c (aarch64_archs): Add "armv8.2-a".
    	* doc/c-aarch64.texi (-march): Likewise.
    
    include/opcode/
    2015-12-09  Matthew Wahab  <matthew.wahab@arm.com>
    
    	* aarch64.h (AARCH64_FEATURE_V8_2): New.
    	(AARCH64_ARCH_V8_2): New.
    
    Change-Id: I79fb1b61cdd24acb1d55e29dfa84cfb86615603a

Diff:
---
 gas/ChangeLog            |  5 +++++
 gas/config/tc-aarch64.c  |  1 +
 gas/doc/c-aarch64.texi   |  4 ++--
 include/opcode/ChangeLog |  5 +++++
 include/opcode/aarch64.h | 10 +++++++++-
 5 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 88c20d9..0710482 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-09  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* config/tc-aarch64.c (aarch64_archs): Add "armv8.2-a".
+	* doc/c-aarch64.texi (-march): Likewise.
+
 2015-11-20  Nick Clifton  <nickc@redhat.com>
 
 	* po/fr.po: Updated French translation.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index e854b96..0fd6443 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -7717,6 +7717,7 @@ static const struct aarch64_arch_option_table aarch64_archs[] = {
   {"all", AARCH64_ANY},
   {"armv8-a", AARCH64_ARCH_V8},
   {"armv8.1-a", AARCH64_ARCH_V8_1},
+  {"armv8.2-a", AARCH64_ARCH_V8_2},
   {NULL, AARCH64_ARCH_NONE}
 };
 
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index e7e6ba4..bfd41c3 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -83,8 +83,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
-following architecture names are recognized: @code{armv8-a} and
-@code{armv8.1-a}.
+following architecture names are recognized: @code{armv8-a},
+@code{armv8.1-a} and @code{armv8.2-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/ChangeLog b/include/opcode/ChangeLog
index 38a8e76..6201661 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,8 @@
+2015-12-09  Matthew Wahab  <matthew.wahab@arm.com>
+
+	* aarch64.h (AARCH64_FEATURE_V8_2): New.
+	(AARCH64_ARCH_V8_2): New.
+
 2015-12-08  Matthew Wahab  <matthew.wahab@arm.com>
 
 	* aarch64.h (AARCH64_FEATURE_V8_1): New.
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index e30bb61..9addf40 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -38,6 +38,7 @@ typedef uint32_t aarch64_insn;
 
 /* The following bitmasks control CPU features.  */
 #define AARCH64_FEATURE_V8	0x00000001	/* All processors.  */
+#define AARCH64_FEATURE_V8_2	0x00000020      /* ARMv8.2 processors.  */
 #define AARCH64_FEATURE_CRYPTO	0x00010000	/* Crypto instructions.  */
 #define AARCH64_FEATURE_FP	0x00020000	/* FP instructions.  */
 #define AARCH64_FEATURE_SIMD	0x00040000	/* SIMD instructions.  */
@@ -60,7 +61,14 @@ typedef uint32_t aarch64_insn;
 						 | AARCH64_FEATURE_PAN	\
 						 | AARCH64_FEATURE_LOR	\
 						 | AARCH64_FEATURE_RDMA)
-
+#define AARCH64_ARCH_V8_2	AARCH64_FEATURE (AARCH64_FEATURE_V8,	\
+						 AARCH64_FEATURE_V8_2	\
+						 | 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.  */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]