[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
This commit is contained in:
parent
bd9cf60b31
commit
d766c52b7b
4 changed files with 20 additions and 1 deletions
|
@ -1,3 +1,10 @@
|
|||
2017-01-19 Jiong Wang <jiong.wang@arm.com>
|
||||
|
||||
* 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".
|
||||
|
||||
2017-01-19 Michael Meissner <meissner@linux.vnet.ibm.com>
|
||||
|
||||
* config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
|
||||
|
|
|
@ -33,5 +33,6 @@
|
|||
AARCH64_ARCH("armv8-a", generic, 8A, 8, AARCH64_FL_FOR_ARCH8)
|
||||
AARCH64_ARCH("armv8.1-a", generic, 8_1A, 8, AARCH64_FL_FOR_ARCH8_1)
|
||||
AARCH64_ARCH("armv8.2-a", generic, 8_2A, 8, AARCH64_FL_FOR_ARCH8_2)
|
||||
AARCH64_ARCH("armv8.3-a", generic, 8_3A, 8, AARCH64_FL_FOR_ARCH8_3)
|
||||
|
||||
#undef AARCH64_ARCH
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -14010,7 +14010,10 @@ more feature modifiers. This option has the form
|
|||
@option{-march=@var{arch}@r{@{}+@r{[}no@r{]}@var{feature}@r{@}*}}.
|
||||
|
||||
The permissible values for @var{arch} are @samp{armv8-a},
|
||||
@samp{armv8.1-a}, @samp{armv8.2-a} or @var{native}.
|
||||
@samp{armv8.1-a}, @samp{armv8.2-a}, @samp{armv8.3-a} or @var{native}.
|
||||
|
||||
The value @samp{armv8.3-a} implies @samp{armv8.2-a} and enables compiler
|
||||
support for the ARMv8.3-A architecture extensions.
|
||||
|
||||
The value @samp{armv8.2-a} implies @samp{armv8.1-a} and enables compiler
|
||||
support for the ARMv8.2-A architecture extensions.
|
||||
|
|
Loading…
Add table
Reference in a new issue