diff options
author | Andrew Carlotti <andrew.carlotti@arm.com> | 2024-07-30 18:48:48 +0100 |
---|---|---|
committer | Andrew Carlotti <andrew.carlotti@arm.com> | 2025-01-10 14:12:09 +0000 |
commit | 5747c121e9caa66a8173ad01db78769be08c407e (patch) | |
tree | 8b625a4e4be0bc432f1afe2aeb01fe8a42f60639 /gcc/config | |
parent | f5915726fd14cbf76a170338d6a91b11817e808a (diff) | |
download | gcc-5747c121e9caa66a8173ad01db78769be08c407e.zip gcc-5747c121e9caa66a8173ad01db78769be08c407e.tar.gz gcc-5747c121e9caa66a8173ad01db78769be08c407e.tar.bz2 |
aarch64: Add new +rcpc2 flag
gcc/ChangeLog:
* config/aarch64/aarch64-arches.def (V8_4A): Add RCPC2.
* config/aarch64/aarch64-option-extensions.def
(RCPC2): New flag.
(RCPC3): Add RCPC2 dependency.
* config/aarch64/aarch64.h (TARGET_RCPC2): Use new flag.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/cpunative/native_cpu_21.c: Add rcpc2 to
expected feature string instead of rcpc.
* gcc.target/aarch64/cpunative/native_cpu_22.c: Ditto.
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/aarch64/aarch64-arches.def | 2 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64-option-extensions.def | 4 | ||||
-rw-r--r-- | gcc/config/aarch64/aarch64.h | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/gcc/config/aarch64/aarch64-arches.def b/gcc/config/aarch64/aarch64-arches.def index 8c2aa4e..bcd08e2 100644 --- a/gcc/config/aarch64/aarch64-arches.def +++ b/gcc/config/aarch64/aarch64-arches.def @@ -34,7 +34,7 @@ AARCH64_ARCH("armv8-a", generic_armv8_a, V8A, 8, (SIMD)) AARCH64_ARCH("armv8.1-a", generic_armv8_a, V8_1A, 8, (V8A, LSE, CRC, RDMA)) AARCH64_ARCH("armv8.2-a", generic_armv8_a, V8_2A, 8, (V8_1A)) AARCH64_ARCH("armv8.3-a", generic_armv8_a, V8_3A, 8, (V8_2A, PAUTH, RCPC, FCMA, JSCVT)) -AARCH64_ARCH("armv8.4-a", generic_armv8_a, V8_4A, 8, (V8_3A, F16FML, DOTPROD, FLAGM)) +AARCH64_ARCH("armv8.4-a", generic_armv8_a, V8_4A, 8, (V8_3A, F16FML, DOTPROD, FLAGM, RCPC2)) AARCH64_ARCH("armv8.5-a", generic_armv8_a, V8_5A, 8, (V8_4A, SB, SSBS, PREDRES, FRINTTS, FLAGM2)) AARCH64_ARCH("armv8.6-a", generic_armv8_a, V8_6A, 8, (V8_5A, I8MM, BF16)) AARCH64_ARCH("armv8.7-a", generic_armv8_a, V8_7A, 8, (V8_6A)) diff --git a/gcc/config/aarch64/aarch64-option-extensions.def b/gcc/config/aarch64/aarch64-option-extensions.def index 00533c3..3558a6e 100644 --- a/gcc/config/aarch64/aarch64-option-extensions.def +++ b/gcc/config/aarch64/aarch64-option-extensions.def @@ -159,7 +159,9 @@ AARCH64_OPT_FMV_EXTENSION("fcma", FCMA, (SIMD), (), (), "fcma") AARCH64_OPT_FMV_EXTENSION("rcpc", RCPC, (), (), (), "lrcpc") -AARCH64_OPT_FMV_EXTENSION("rcpc3", RCPC3, (RCPC), (), (), "lrcpc3") +AARCH64_OPT_FMV_EXTENSION("rcpc2", RCPC2, (RCPC), (), (), "ilrcpc") + +AARCH64_OPT_FMV_EXTENSION("rcpc3", RCPC3, (RCPC2), (), (), "lrcpc3") AARCH64_OPT_FMV_EXTENSION("frintts", FRINTTS, (FP), (), (), "frint") diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index 1c8fcd5..3f3a475 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -427,7 +427,7 @@ constexpr auto AARCH64_FL_DEFAULT_ISA_MODE ATTRIBUTE_UNUSED /* The RCPC2 extensions from Armv8.4-a that allow immediate offsets to LDAPR and sign-extending versions.*/ -#define TARGET_RCPC2 ((AARCH64_HAVE_ISA (V8_4A) && TARGET_RCPC) || TARGET_RCPC3) +#define TARGET_RCPC2 AARCH64_HAVE_ISA (RCPC2) /* RCPC3 (Release Consistency) extensions, optional from Armv8.2-a. */ #define TARGET_RCPC3 AARCH64_HAVE_ISA (RCPC3) |