about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/llvm_util.rs
diff options
context:
space:
mode:
authorJamie Cunliffe <Jamie.Cunliffe@arm.com>2023-01-17 15:49:20 +0000
committerJamie Cunliffe <Jamie.Cunliffe@arm.com>2023-05-22 14:27:14 +0100
commit4cca436e300db5e6429aa8f041f4dbbcfdecf1b1 (patch)
treee4e84ba23e8b795cfa6aaf1f4354610329370c65 /compiler/rustc_codegen_llvm/src/llvm_util.rs
parent48ec50ae39d0ca0baa0e78f56c395dcc6d7ebd65 (diff)
downloadrust-4cca436e300db5e6429aa8f041f4dbbcfdecf1b1.tar.gz
rust-4cca436e300db5e6429aa8f041f4dbbcfdecf1b1.zip
Tie neon with fp-armv8.
In #91608 the fp-armv8 feature was removed as it's tied to the neon
feature. However disabling neon didn't actually disable the use of
floating point registers and instructions, for this `-fp-armv8` is
required.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm_util.rs')
-rw-r--r--compiler/rustc_codegen_llvm/src/llvm_util.rs6
1 files changed, 4 insertions, 2 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs
index 994addf12eb..abf46b914b7 100644
--- a/compiler/rustc_codegen_llvm/src/llvm_util.rs
+++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs
@@ -163,8 +163,10 @@ pub fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> SmallVec<[&'a str; 2]
         ("aarch64", "pmuv3") => smallvec!["perfmon"],
         ("aarch64", "paca") => smallvec!["pauth"],
         ("aarch64", "pacg") => smallvec!["pauth"],
-        // Rust ties fp and neon together. In LLVM neon implicitly enables fp,
-        // but we manually enable neon when a feature only implicitly enables fp
+        // Rust ties fp and neon together.
+        ("aarch64", "neon") => smallvec!["neon", "fp-armv8"],
+        // In LLVM neon implicitly enables fp, but we manually enable
+        // neon when a feature only implicitly enables fp
         ("aarch64", "f32mm") => smallvec!["f32mm", "neon"],
         ("aarch64", "f64mm") => smallvec!["f64mm", "neon"],
         ("aarch64", "fhm") => smallvec!["fp16fml", "neon"],