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] [AArch64] Add ARMv8.3 command line option and feature flag


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

commit 1924ff7567abf9e1341ae135fb5097bc5f7b76f4
Author: Szabolcs Nagy <szabolcs.nagy@arm.com>
Date:   Fri Nov 11 10:20:30 2016 +0000

    [AArch64] Add ARMv8.3 command line option and feature flag
    
    ARMv8.3 can be selected with -march=armv8.3-a command line option.
    An overview of the ARMv8.3 architecture extension is at
    https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions
    
    gas/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* config/tc-aarch64.c (aarch64_archs): Add "armv8.3-a".
    	* doc/c-aarch64.texi (-march): Likewise.
    
    include/
    2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
    
    	* opcode/aarch64.h (AARCH64_FEATURE_V8_3): Define.
    	(AARCH64_ARCH_V8_3): Define.
    	(AARCH64_ARCH_V8_1, AARCH64_ARCH_V8_2): Simplify.

Diff:
---
 gas/ChangeLog            |  5 +++++
 gas/config/tc-aarch64.c  |  1 +
 gas/doc/c-aarch64.texi   |  2 +-
 include/ChangeLog        |  6 ++++++
 include/opcode/aarch64.h | 21 +++++++--------------
 5 files changed, 20 insertions(+), 15 deletions(-)

diff --git a/gas/ChangeLog b/gas/ChangeLog
index 8904f5d..6c0d24f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,5 +1,10 @@
 2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
 
+	* config/tc-aarch64.c (aarch64_archs): Add "armv8.3-a".
+	* doc/c-aarch64.texi (-march): Likewise.
+
+2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
 	* config/tc-aarch64.c (aarch64_features): Fix "simd" and "crypto".
 	* testsuite/gas/aarch64/illegal-crypto-nofp.d: New.
 	* testsuite/gas/aarch64/illegal-crypto-nofp.l: New.
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index 4a55bec..bda8057 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -8374,6 +8374,7 @@ static const struct aarch64_arch_option_table aarch64_archs[] = {
   {"armv8-a", AARCH64_ARCH_V8},
   {"armv8.1-a", AARCH64_ARCH_V8_1},
   {"armv8.2-a", AARCH64_ARCH_V8_2},
+  {"armv8.3-a", AARCH64_ARCH_V8_3},
   {NULL, AARCH64_ARCH_NONE}
 };
 
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 0452f5f..186dfbc 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -87,7 +87,7 @@ 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},
-@code{armv8.1-a} and @code{armv8.2-a}.
+@code{armv8.1-a}, @code{armv8.2-a} and @code{armv8.3-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/ChangeLog b/include/ChangeLog
index 0a3b51e..5aa28f2 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,9 @@
+2016-11-11  Szabolcs Nagy  <szabolcs.nagy@arm.com>
+
+	* opcode/aarch64.h (AARCH64_FEATURE_V8_3): Define.
+	(AARCH64_ARCH_V8_3): Define.
+	(AARCH64_ARCH_V8_1, AARCH64_ARCH_V8_2): Simplify.
+
 2016-11-04  Thomas Preud'homme  <thomas.preudhomme@arm.com>
 
 	* opcode/arm.h (ARM_AEXT_V8M_MAIN_DSP): Define.
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index defda78..6cda660 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -39,6 +39,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_V8_3	0x00000040      /* ARMv8.3 processors.  */
 #define AARCH64_FEATURE_CRYPTO	0x00010000	/* Crypto instructions.  */
 #define AARCH64_FEATURE_FP	0x00020000	/* FP instructions.  */
 #define AARCH64_FEATURE_SIMD	0x00040000	/* SIMD instructions.  */
@@ -57,27 +58,19 @@ 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_CRC	\
+#define AARCH64_ARCH_V8_1	AARCH64_FEATURE (AARCH64_ARCH_V8, \
+						 AARCH64_FEATURE_CRC	\
 						 | AARCH64_FEATURE_V8_1 \
 						 | AARCH64_FEATURE_LSE	\
 						 | AARCH64_FEATURE_PAN	\
 						 | AARCH64_FEATURE_LOR	\
 						 | AARCH64_FEATURE_RDMA)
-#define AARCH64_ARCH_V8_2	AARCH64_FEATURE (AARCH64_FEATURE_V8,	\
+#define AARCH64_ARCH_V8_2	AARCH64_FEATURE (AARCH64_ARCH_V8_1,	\
 						 AARCH64_FEATURE_V8_2	\
 						 | AARCH64_FEATURE_F16	\
-						 | AARCH64_FEATURE_RAS	\
-						 | AARCH64_FEATURE_FP	\
-						 | AARCH64_FEATURE_SIMD	\
-						 | AARCH64_FEATURE_CRC	\
-						 | AARCH64_FEATURE_V8_1 \
-						 | AARCH64_FEATURE_LSE	\
-						 | AARCH64_FEATURE_PAN	\
-						 | AARCH64_FEATURE_LOR	\
-						 | AARCH64_FEATURE_RDMA)
+						 | AARCH64_FEATURE_RAS)
+#define AARCH64_ARCH_V8_3	AARCH64_FEATURE (AARCH64_ARCH_V8_2,	\
+						 AARCH64_FEATURE_V8_3)
 
 #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]