Skip to content

Commit 7bc3d6e

Browse files
committed
Ignore broken nightly/system builtins
1 parent 367ba35 commit 7bc3d6e

File tree

2 files changed

+18
-5
lines changed

2 files changed

+18
-5
lines changed

testcrate/src/bench.rs

+14-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,10 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
1717
"extend_f16_f32",
1818
"trunc_f32_f16",
1919
"trunc_f64_f16",
20-
// FIXME(f16_f128): rounding error
20+
// FIXME(#616): re-enable once fix is in nightly
2121
// <https://github.com/rust-lang/compiler-builtins/issues/616>
22-
"mul_f128",
22+
"mul_f32",
23+
"mul_f64",
2324
];
2425

2526
// 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 {
2930

3031
// FIXME(f16_f128): system symbols have incorrect results
3132
// <https://github.com/rust-lang/compiler-builtins/issues/617#issuecomment-2125914639>
32-
const X86_NO_SSE_SKIPPED: &[&str] = &["add_f128", "sub_f128", "powi_f32", "powi_f64"];
33+
const X86_NO_SSE_SKIPPED: &[&str] =
34+
&["add_f128", "sub_f128", "mul_f128", "powi_f32", "powi_f64"];
35+
36+
// FIXME(f16_f128): Wide multiply carry bug in `compiler-rt`, re-enable when nightly no longer
37+
// uses `compiler-rt` version.
38+
// <https://github.com/llvm/llvm-project/issues/91840>
39+
const AARCH64_SKIPPED: &[&str] = &["mul_f128"];
3340

3441
// FIXME(llvm): system symbols have incorrect results on Windows
3542
// <https://github.com/rust-lang/compiler-builtins/issues/617#issuecomment-2121359807>
@@ -61,6 +68,10 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
6168
return true;
6269
}
6370

71+
if cfg!(target_arch = "aarch64") && AARCH64_SKIPPED.contains(&test_name) {
72+
return true;
73+
}
74+
6475
if cfg!(target_family = "windows") && WINDOWS_SKIPPED.contains(&test_name) {
6576
return true;
6677
}

testcrate/tests/mul.rs

+4-2
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,11 @@ macro_rules! float_mul {
123123
mod float_mul {
124124
use super::*;
125125

126+
// FIXME(#616): Stop ignoring arches that don't have native support once fix for builtins is in
127+
// nightly.
126128
float_mul! {
127-
f32, __mulsf3, Single, all();
128-
f64, __muldf3, Double, all();
129+
f32, __mulsf3, Single, not(target_arch = "arm");
130+
f64, __muldf3, Double, not(target_arch = "arm");
129131
}
130132
}
131133

0 commit comments

Comments
 (0)