diff options
| author | Laurențiu Nicola <lnicola@users.noreply.github.com> | 2025-07-15 14:52:23 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-15 14:52:23 +0000 |
| commit | 0393e061e74672661d7f816103df66b47b1dc312 (patch) | |
| tree | b3d42464413144da825bfc98a7375319f12d4dc5 /compiler/rustc_codegen_llvm/src/llvm_util.rs | |
| parent | 4faef6f9040c788d564449a2b9431f351bc0f403 (diff) | |
| parent | 28f822f100c3714b37be9566b6dac376c72d2758 (diff) | |
| download | rust-0393e061e74672661d7f816103df66b47b1dc312.tar.gz rust-0393e061e74672661d7f816103df66b47b1dc312.zip | |
Merge pull request #20243 from lnicola/sync-from-rust
minor: Sync from downstream
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm_util.rs')
| -rw-r--r-- | compiler/rustc_codegen_llvm/src/llvm_util.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs index 6fd07d562af..0fb987bdf82 100644 --- a/compiler/rustc_codegen_llvm/src/llvm_util.rs +++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs @@ -370,10 +370,18 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) { let target_env = sess.target.options.env.as_ref(); let target_abi = sess.target.options.abi.as_ref(); let target_pointer_width = sess.target.pointer_width; + let version = get_version(); cfg.has_reliable_f16 = match (target_arch, target_os) { // Selection failure <https://github.com/llvm/llvm-project/issues/50374> ("s390x", _) => false, + // LLVM crash without neon <https://github.com/llvm/llvm-project/issues/129394> (now fixed) + ("aarch64", _) + if !cfg.target_features.iter().any(|f| f.as_str() == "neon") + && version < (20, 1, 1) => + { + false + } // Unsupported <https://github.com/llvm/llvm-project/issues/94434> ("arm64ec", _) => false, // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054> |
