@@ -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 }
0 commit comments