Skip to content

Commit 4cca436

Browse files
committed
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.
1 parent 48ec50a commit 4cca436

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

compiler/rustc_codegen_llvm/src/llvm_util.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,10 @@ pub fn to_llvm_features<'a>(sess: &Session, s: &'a str) -> SmallVec<[&'a str; 2]
163163
("aarch64", "pmuv3") => smallvec!["perfmon"],
164164
("aarch64", "paca") => smallvec!["pauth"],
165165
("aarch64", "pacg") => smallvec!["pauth"],
166-
// Rust ties fp and neon together. In LLVM neon implicitly enables fp,
167-
// but we manually enable neon when a feature only implicitly enables fp
166+
// Rust ties fp and neon together.
167+
("aarch64", "neon") => smallvec!["neon", "fp-armv8"],
168+
// In LLVM neon implicitly enables fp, but we manually enable
169+
// neon when a feature only implicitly enables fp
168170
("aarch64", "f32mm") => smallvec!["f32mm", "neon"],
169171
("aarch64", "f64mm") => smallvec!["f64mm", "neon"],
170172
("aarch64", "fhm") => smallvec!["fp16fml", "neon"],

0 commit comments

Comments
 (0)