diff options
Diffstat (limited to 'library/std/build.rs')
| -rw-r--r-- | library/std/build.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/library/std/build.rs b/library/std/build.rs index 35a5977b6eb..fecdf2c3e1f 100644 --- a/library/std/build.rs +++ b/library/std/build.rs @@ -103,9 +103,9 @@ fn main() { ("arm64ec", _) => false, // MinGW ABI bugs <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115054> ("x86_64", "windows") => false, - // x86 has ABI bugs that show up with optimizations. This should be partially fixed with - // the compiler-builtins update. <https://github.com/rust-lang/rust/issues/123885> - ("x86" | "x86_64", _) => false, + // Apple has a special ABI for `f16` that we do not yet support + // FIXME(builtins): fixed by <https://github.com/rust-lang/compiler-builtins/pull/675> + ("x86" | "x86_64", _) if target_vendor == "apple" => false, // Missing `__gnu_h2f_ieee` and `__gnu_f2h_ieee` ("powerpc" | "powerpc64", _) => false, // Missing `__gnu_h2f_ieee` and `__gnu_f2h_ieee` @@ -140,17 +140,17 @@ fn main() { _ => false, }; - // These are currently empty, but will fill up as some platforms move from completely - // unreliable to reliable basics but unreliable math. + // Configure platforms that have reliable basics but may have unreliable math. // LLVM is currenlty adding missing routines, <https://github.com/llvm/llvm-project/issues/93566> let has_reliable_f16_math = has_reliable_f16 && match (target_arch.as_str(), target_os.as_str()) { // FIXME: Disabled on Miri as the intrinsics are not implemented yet. _ if is_miri => false, - // Currently nothing special. Hooray! - // This will change as platforms gain better better support for standard ops but math - // lags behind. + // 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, }; |
