aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2021-05-22 03:11:39 +0200
committerMark Wielaard <mark@klomp.org>2021-05-22 03:11:39 +0200
commitdcb3a7b62b91cf890c3bc91b4faf3e7343b6cb42 (patch)
treed5de447b943108c4a334b80cf8dbabc3f48be5b6 /gcc
parent99b73780e6e30f962c01532d3ec189ceeecf7f93 (diff)
downloadgcc-dcb3a7b62b91cf890c3bc91b4faf3e7343b6cb42.zip
gcc-dcb3a7b62b91cf890c3bc91b4faf3e7343b6cb42.tar.gz
gcc-dcb3a7b62b91cf890c3bc91b4faf3e7343b6cb42.tar.bz2
Fix aarch64 config for rust
Define aarch64_rust_target_cpu_info in aarch64-protos.h. AARCH64_ISA_V8_1 isn't defined directly, check aarch64_isa_flags.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/aarch64/aarch64-protos.h3
-rw-r--r--gcc/config/aarch64/aarch64-rust.c2
2 files changed, 4 insertions, 1 deletions
diff --git a/gcc/config/aarch64/aarch64-protos.h b/gcc/config/aarch64/aarch64-protos.h
index ff87ced..86c2d49 100644
--- a/gcc/config/aarch64/aarch64-protos.h
+++ b/gcc/config/aarch64/aarch64-protos.h
@@ -786,6 +786,9 @@ std::string aarch64_get_extension_string_for_isa_flags (uint64_t, uint64_t);
/* Defined in aarch64-d.c */
extern void aarch64_d_target_versions (void);
+/* In aarch64-rust.c */
+extern void aarch64_rust_target_cpu_info (void);
+
rtl_opt_pass *make_pass_fma_steering (gcc::context *);
rtl_opt_pass *make_pass_track_speculation (gcc::context *);
rtl_opt_pass *make_pass_tag_collision_avoidance (gcc::context *);
diff --git a/gcc/config/aarch64/aarch64-rust.c b/gcc/config/aarch64/aarch64-rust.c
index 67d1c92..2ecc53a 100644
--- a/gcc/config/aarch64/aarch64-rust.c
+++ b/gcc/config/aarch64/aarch64-rust.c
@@ -55,7 +55,7 @@ void aarch64_rust_target_cpu_info(void) {
rust_add_target_info("target_feature", "rcpc");
if (TARGET_DOTPROD)
rust_add_target_info("target_feature", "dotprod");
- if (AARCH64_ISA_V8_1)
+ if (aarch64_isa_flags & AARCH64_FL_V8_2)
rust_add_target_info("target_feature", "v8.1a");
if (AARCH64_ISA_V8_2)
rust_add_target_info("target_feature", "v8.2a");