]> git.ipfire.org Git - thirdparty/gcc.git/commit
aarch64: Define __ARM_FEATURE_RCPC
authorRichard Sandiford <richard.sandiford@arm.com>
Thu, 20 Oct 2022 14:34:08 +0000 (15:34 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 20 Oct 2022 14:34:08 +0000 (15:34 +0100)
commit40a727379f3e8e6a83aea4e94c38dfa5dd8ef33d
tree3a7cbf9246c2d3fb9d598da44bc1af1eea8f41b1
parent0aaef83351473e8f4eb774f8f999bbe87a4866d7
aarch64: Define __ARM_FEATURE_RCPC

https://github.com/ARM-software/acle/pull/199 adds a new feature
macro for RCPC, for use in things like inline assembly.  This patch
adds the associated support to GCC.

Also, RCPC is required for Armv8.3-A and later, but the armv8.3-a
entry didn't include it.  This was probably harmless in practice
since GCC simply ignored the extension until now.  (The GAS
definition is OK.)

gcc/
* config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_3): Add
AARCH64_FL_RCPC.
(AARCH64_ISA_RCPC): New macro.
* config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
(neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
* config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
__ARM_FEATURE_RCPC when appropriate.

gcc/testsuite/
* gcc.target/aarch64/pragma_cpp_predefs_1.c: Add RCPC tests.
gcc/config/aarch64/aarch64-c.cc
gcc/config/aarch64/aarch64-cores.def
gcc/config/aarch64/aarch64.h
gcc/testsuite/gcc.target/aarch64/pragma_cpp_predefs_1.c