about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-04-29 16:31:27 +0000
committerbors <bors@rust-lang.org>2025-04-29 16:31:27 +0000
commit74509131e85a97353c67c503ea32e148a56cf4bd (patch)
tree293f2e2e50223905110b3f460c08ee5381742ee1 /compiler/rustc_codegen_llvm
parentefcbb94dccbe0fcc1076f031f88332db4a6a2a52 (diff)
parentff6a9800a38f30161ea7f819e2808f9bf97b5864 (diff)
downloadrust-74509131e85a97353c67c503ea32e148a56cf4bd.tar.gz
rust-74509131e85a97353c67c503ea32e148a56cf4bd.zip
Auto merge of #140474 - tgross35:rollup-rdkao89, r=tgross35
Rollup of 7 pull requests

Successful merges:

 - #138344 (Enable `reliable_f16_math` on x86)
 - #139909 (implement or-patterns for pattern types)
 - #140392 (compiletest: Remove the libtest-based executor and its dependency)
 - #140400 (PassWrapper: adapt for llvm/llvm-project@d3d856ad8469)
 - #140422 (unwind: bump `unwinding` dependency to 0.2.6)
 - #140432 (Update documentation for `fn target_config`)
 - #140433 (Replace the \01__gnu_mcount_nc to LLVM intrinsic for additional ARM targets)

r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_codegen_llvm')
-rw-r--r--compiler/rustc_codegen_llvm/src/llvm_util.rs10
1 files changed, 3 insertions, 7 deletions
diff --git a/compiler/rustc_codegen_llvm/src/llvm_util.rs b/compiler/rustc_codegen_llvm/src/llvm_util.rs
index ae1bdac1655..6412a537a79 100644
--- a/compiler/rustc_codegen_llvm/src/llvm_util.rs
+++ b/compiler/rustc_codegen_llvm/src/llvm_util.rs
@@ -466,13 +466,9 @@ fn update_target_reliable_float_cfg(sess: &Session, cfg: &mut TargetConfig) {
         _ => true,
     };
 
-    cfg.has_reliable_f16_math = match (target_arch, target_os) {
-        // x86 has a crash for `powi`: <https://github.com/llvm/llvm-project/issues/105747>
-        ("x86" | "x86_64", _) => false,
-        // Assume that working `f16` means working `f16` math for most platforms, since
-        // operations just go through `f32`.
-        _ => true,
-    } && cfg.has_reliable_f16;
+    // Assume that working `f16` means working `f16` math for most platforms, since
+    // operations just go through `f32`.
+    cfg.has_reliable_f16_math = cfg.has_reliable_f16;
 
     cfg.has_reliable_f128_math = match (target_arch, target_os) {
         // LLVM lowers `fp128` math to `long double` symbols even on platforms where