@@ -17,9 +17,10 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
17
17
"extend_f16_f32" ,
18
18
"trunc_f32_f16" ,
19
19
"trunc_f64_f16" ,
20
- // FIXME(f16_f128 ): rounding error
20
+ // FIXME(#616 ): re-enable once fix is in nightly
21
21
// <https://github.com./rust-lang/compiler-builtins/issues/616>
22
- "mul_f128" ,
22
+ "mul_f32" ,
23
+ "mul_f64" ,
23
24
] ;
24
25
25
26
// FIXME(f16_f128): error on LE ppc64. There are more tests that are cfg-ed out completely
@@ -29,7 +30,12 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
29
30
30
31
// FIXME(f16_f128): system symbols have incorrect results
31
32
// <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): Incorrect rounding.
37
+ // <https://github.com./llvm/llvm-project/issues/91840>
38
+ const AARCH64_SKIPPED : & [ & str ] = & [ "mul_f128" ] ;
33
39
34
40
// FIXME(llvm): system symbols have incorrect results on Windows
35
41
// <https://github.com./rust-lang/compiler-builtins/issues/617#issuecomment-2121359807>
@@ -61,6 +67,10 @@ pub fn skip_sys_checks(test_name: &str) -> bool {
61
67
return true ;
62
68
}
63
69
70
+ if cfg ! ( target_arch = "aarch64" ) && AARCH64_SKIPPED . contains ( & test_name) {
71
+ return true ;
72
+ }
73
+
64
74
if cfg ! ( target_family = "windows" ) && WINDOWS_SKIPPED . contains ( & test_name) {
65
75
return true ;
66
76
}
0 commit comments