Ignore broken nightly/system builtins

This commit is contained in:
beetrees 2024-06-30 22:40:57 +01:00
parent ffb31aee13
commit c6bf88ab1c
No known key found for this signature in database
GPG Key ID: 8791BD754191EBD6
2 changed files with 18 additions and 5 deletions

View File

@ -17,9 +17,10 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
"extend_f16_f32", "extend_f16_f32",
"trunc_f32_f16", "trunc_f32_f16",
"trunc_f64_f16", "trunc_f64_f16",
// FIXME(f16_f128): rounding error // FIXME(#616): re-enable once fix is in nightly
// <https://github.com/rust-lang/compiler-builtins/issues/616> // <https://github.com/rust-lang/compiler-builtins/issues/616>
"mul_f128", "mul_f32",
"mul_f64",
]; ];
// FIXME(f16_f128): error on LE ppc64. There are more tests that are cfg-ed out completely // FIXME(f16_f128): error on LE ppc64. There are more tests that are cfg-ed out completely
@ -29,7 +30,13 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
// FIXME(f16_f128): system symbols have incorrect results // FIXME(f16_f128): system symbols have incorrect results
// <https://github.com/rust-lang/compiler-builtins/issues/617#issuecomment-2125914639> // <https://github.com/rust-lang/compiler-builtins/issues/617#issuecomment-2125914639>
const X86_NO_SSE_SKIPPED: &[&str] = &["add_f128", "sub_f128", "powi_f32", "powi_f64"]; const X86_NO_SSE_SKIPPED: &[&str] =
&["add_f128", "sub_f128", "mul_f128", "powi_f32", "powi_f64"];
// FIXME(f16_f128): Wide multiply carry bug in `compiler-rt`, re-enable when nightly no longer
// uses `compiler-rt` version.
// <https://github.com/llvm/llvm-project/issues/91840>
const AARCH64_SKIPPED: &[&str] = &["mul_f128"];
// FIXME(llvm): system symbols have incorrect results on Windows // FIXME(llvm): system symbols have incorrect results on Windows
// <https://github.com/rust-lang/compiler-builtins/issues/617#issuecomment-2121359807> // <https://github.com/rust-lang/compiler-builtins/issues/617#issuecomment-2121359807>
@ -61,6 +68,10 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
return true; return true;
} }
if cfg!(target_arch = "aarch64") && AARCH64_SKIPPED.contains(&test_name) {
return true;
}
if cfg!(target_family = "windows") && WINDOWS_SKIPPED.contains(&test_name) { if cfg!(target_family = "windows") && WINDOWS_SKIPPED.contains(&test_name) {
return true; return true;
} }

View File

@ -123,9 +123,11 @@ macro_rules! float_mul {
mod float_mul { mod float_mul {
use super::*; use super::*;
// FIXME(#616): Stop ignoring arches that don't have native support once fix for builtins is in
// nightly.
float_mul! { float_mul! {
f32, __mulsf3, Single, all(); f32, __mulsf3, Single, not(target_arch = "arm");
f64, __muldf3, Double, all(); f64, __muldf3, Double, not(target_arch = "arm");
} }
} }