This is the mail archive of the binutils@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]

[PATCH][GAS][ARM] Command line support for -march=armv8.4-a [Patch (1/3)]


Hi All,


This patch adds command line support for Armv8.4-A.
It can be enabled through the new command line option -march=armv8.4-a.

Checked with check-gas on arm-none-eabi and armeb-none-eabi, no regressions.

Ok for master?

Ps. I do not have commit access so if OK can someone apply for me?

Thanks,
Tamar


gas/
2017-11-08  Jiong Wang  <jiong.wang@arm.com>

        * config/tc-arm.c (arm_archs): New entry for "armv8.4-a".
        * doc/c-arm.texi (-march): Document "armv8.4-a".

include/
2017-11-08  Jiong Wang  <jiong.wang@arm.com>

        * opcode/arm.h (ARM_EXT2_V8_4A): New macro.
        (ARM_AEXT2_V8_4A): Likewise.
        (ARM_ARCH_V8_4A): Likewise.

-- 
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index f52cf7fac27f6e3fc43e36863438aec3f7e3bc2a..b51d50553ff947040e855660324c48978beafc19 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -26028,6 +26028,7 @@ static const struct arm_arch_option_table arm_archs[] =
   ARM_ARCH_OPT ("armv8.2-a",	ARM_ARCH_V8_2A,	 FPU_ARCH_VFP),
   ARM_ARCH_OPT ("armv8.3-a",	ARM_ARCH_V8_3A,	 FPU_ARCH_VFP),
   ARM_ARCH_OPT ("armv8-r",	ARM_ARCH_V8R,	 FPU_ARCH_VFP),
+  ARM_ARCH_OPT ("armv8.4-a",	ARM_ARCH_V8_4A,	 FPU_ARCH_VFP),
   ARM_ARCH_OPT ("xscale",	ARM_ARCH_XSCALE, FPU_ARCH_VFP),
   ARM_ARCH_OPT ("iwmmxt",	ARM_ARCH_IWMMXT, FPU_ARCH_VFP),
   ARM_ARCH_OPT ("iwmmxt2",	ARM_ARCH_IWMMXT2,FPU_ARCH_VFP),
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index 9606de4b2ede8729e4fccdd4a16fc8106a59cad7..5e518c69fed6d9750ad13462e89ef2ca34614fc7 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -237,6 +237,7 @@ names are recognized:
 @code{armv8.2-a},
 @code{armv8.3-a},
 @code{armv8-r},
+@code{armv8.4-a},
 @code{iwmmxt}
 @code{iwmmxt2}
 and
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index e11ac7c40bc3495888fbc502eef070320e30a92a..5fc81bf29ad5907c79bbd5906b8d34fb9562f48c 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -66,6 +66,7 @@
 #define ARM_EXT2_RAS	 0x00000080	/* RAS extension.  */
 #define ARM_EXT2_V8_3A	 0x00000100	/* ARM V8.3A.  */
 #define ARM_EXT2_V8A	 0x00000200	/* ARMv8-A.  */
+#define ARM_EXT2_V8_4A	 0x00000400	/* ARM V8.4A.  */
 
 /* Co-processor space extensions.  */
 #define ARM_CEXT_XSCALE   0x00000001	/* Allow MIA etc.          */
@@ -156,6 +157,7 @@
 #define ARM_AEXT2_V8_1A	(ARM_AEXT2_V8A | ARM_EXT2_PAN)
 #define ARM_AEXT2_V8_2A	(ARM_AEXT2_V8_1A | ARM_EXT2_V8_2A | ARM_EXT2_RAS)
 #define ARM_AEXT2_V8_3A	(ARM_AEXT2_V8_2A | ARM_EXT2_V8_3A)
+#define ARM_AEXT2_V8_4A	(ARM_AEXT2_V8_3A | ARM_EXT2_V8_4A)
 #define ARM_AEXT_V8M_BASE (ARM_AEXT_V6SM | ARM_EXT_DIV)
 #define ARM_AEXT_V8M_MAIN ARM_AEXT_V7M
 #define ARM_AEXT_V8M_MAIN_DSP ARM_AEXT_V7EM
@@ -284,6 +286,8 @@
 				     CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
 #define ARM_ARCH_V8_3A	ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_3A,	\
 				     CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
+#define ARM_ARCH_V8_4A	ARM_FEATURE (ARM_AEXT_V8A, ARM_AEXT2_V8_4A,	\
+				     CRC_EXT_ARMV8 | FPU_NEON_EXT_RDMA)
 #define ARM_ARCH_V8M_BASE ARM_FEATURE_CORE (ARM_AEXT_V8M_BASE, ARM_AEXT2_V8M)
 #define ARM_ARCH_V8M_MAIN ARM_FEATURE_CORE (ARM_AEXT_V8M_MAIN, \
 					    ARM_AEXT2_V8M_MAIN)


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