aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/aarch64/aarch64.h
diff options
context:
space:
mode:
authorJiong Wang <jiong.wang@arm.com>2017-01-19 23:51:49 +0000
committerJiong Wang <jiwang@gcc.gnu.org>2017-01-19 23:51:49 +0000
commitd766c52b7be15b3149b22cb6a32e6dec88f82b59 (patch)
treecd7bd710f5fb4476f96f0cafd3ce9062bf6f517a /gcc/config/aarch64/aarch64.h
parentbd9cf60b31567aa6cf035882b6c1b406ed903e7b (diff)
downloadgcc-d766c52b7be15b3149b22cb6a32e6dec88f82b59.zip
gcc-d766c52b7be15b3149b22cb6a32e6dec88f82b59.tar.gz
gcc-d766c52b7be15b3149b22cb6a32e6dec88f82b59.tar.bz2
[AArch64] Add commandline support for -march=armv8.3-a
gcc/ * config/aarch64/aarch64-arches.def: New entry for "armv8.3-a". * config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3, AARCH64_ISA_V8_3, TARGET_ARMV8_3): New. * doc/invoke.texi (AArch64 Options): Document "armv8.3-a". From-SVN: r244663
Diffstat (limited to 'gcc/config/aarch64/aarch64.h')
-rw-r--r--gcc/config/aarch64/aarch64.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index f6c18e8..e4fb96f 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -138,6 +138,8 @@ extern unsigned aarch64_architecture_version;
/* ARMv8.2-A architecture extensions. */
#define AARCH64_FL_V8_2 (1 << 8) /* Has ARMv8.2-A features. */
#define AARCH64_FL_F16 (1 << 9) /* Has ARMv8.2-A FP16 extensions. */
+/* ARMv8.3-A architecture extensions. */
+#define AARCH64_FL_V8_3 (1 << 10) /* Has ARMv8.3-A features. */
/* Has FP and SIMD. */
#define AARCH64_FL_FPSIMD (AARCH64_FL_FP | AARCH64_FL_SIMD)
@@ -151,6 +153,8 @@ extern unsigned aarch64_architecture_version;
(AARCH64_FL_FOR_ARCH8 | AARCH64_FL_LSE | AARCH64_FL_CRC | AARCH64_FL_V8_1)
#define AARCH64_FL_FOR_ARCH8_2 \
(AARCH64_FL_FOR_ARCH8_1 | AARCH64_FL_V8_2)
+#define AARCH64_FL_FOR_ARCH8_3 \
+ (AARCH64_FL_FOR_ARCH8_2 | AARCH64_FL_V8_3)
/* Macros to test ISA flags. */
@@ -162,6 +166,7 @@ extern unsigned aarch64_architecture_version;
#define AARCH64_ISA_RDMA (aarch64_isa_flags & AARCH64_FL_V8_1)
#define AARCH64_ISA_V8_2 (aarch64_isa_flags & AARCH64_FL_V8_2)
#define AARCH64_ISA_F16 (aarch64_isa_flags & AARCH64_FL_F16)
+#define AARCH64_ISA_V8_3 (aarch64_isa_flags & AARCH64_FL_V8_3)
/* Crypto is an optional extension to AdvSIMD. */
#define TARGET_CRYPTO (TARGET_SIMD && AARCH64_ISA_CRYPTO)
@@ -176,6 +181,9 @@ extern unsigned aarch64_architecture_version;
#define TARGET_FP_F16INST (TARGET_FLOAT && AARCH64_ISA_F16)
#define TARGET_SIMD_F16INST (TARGET_SIMD && AARCH64_ISA_F16)
+/* ARMv8.3-A features. */
+#define TARGET_ARMV8_3 (AARCH64_ISA_V8_3)
+
/* Make sure this is always defined so we don't have to check for ifdefs
but rather use normal ifs. */
#ifndef TARGET_FIX_ERR_A53_835769_DEFAULT