From d2721064dfae09b1256c53e36be6193a66a153b3 Mon Sep 17 00:00:00 2001 From: Chris Fallin Date: Thu, 3 Dec 2020 09:38:38 -0800 Subject: [PATCH] Disable all x64 SIMD tests, as some seem to be nondeterministic. We are seeing some repeated but nondeterministic failures of x64 SIMD tests, as tracked in #2470. In order to err on the side of not inadvertently breaking/blocking CI for others, we will disable all SIMD tests for now while we investigate. --- build.rs | 52 +++++++++------------------------------------------- 1 file changed, 9 insertions(+), 43 deletions(-) diff --git a/build.rs b/build.rs index aa791aeda1..c766521678 100644 --- a/build.rs +++ b/build.rs @@ -175,49 +175,10 @@ fn write_testsuite_tests( /// For experimental_x64 backend features that are not supported yet, mark tests as panicking, so /// they stop "passing" once the features are properly implemented. -fn experimental_x64_should_panic(testsuite: &str, testname: &str, strategy: &str) -> bool { - if !cfg!(feature = "experimental_x64") || strategy != "Cranelift" { - return false; - } - - match (testsuite, testname) { - ("simd", "simd_address") => return false, - ("simd", "simd_bitwise") => return false, - ("simd", "simd_bit_shift") => return false, - ("simd", "simd_boolean") => return false, - ("simd", "simd_const") => return false, - ("simd", "simd_i8x16_arith") => return false, - ("simd", "simd_i8x16_arith2") => return false, - ("simd", "simd_i8x16_cmp") => return false, - ("simd", "simd_i8x16_sat_arith") => return false, - ("simd", "simd_i16x8_arith") => return false, - ("simd", "simd_i16x8_arith2") => return false, - ("simd", "simd_i16x8_cmp") => return false, - ("simd", "simd_i16x8_sat_arith") => return false, - ("simd", "simd_i32x4_arith") => return false, - ("simd", "simd_i32x4_arith2") => return false, - ("simd", "simd_i32x4_cmp") => return false, - ("simd", "simd_i64x2_arith") => return false, - ("simd", "simd_f32x4") => return false, - ("simd", "simd_f32x4_arith") => return false, - ("simd", "simd_f32x4_cmp") => return false, - ("simd", "simd_f32x4_pmin_pmax") => return false, - ("simd", "simd_f64x2") => return false, - ("simd", "simd_f64x2_arith") => return false, - ("simd", "simd_f64x2_cmp") => return false, - ("simd", "simd_f64x2_pmin_pmax") => return false, - ("simd", "simd_lane") => return false, - ("simd", "simd_load") => return false, - ("simd", "simd_load_splat") => return false, - ("simd", "simd_splat") => return false, - ("simd", "simd_store") => return false, - ("simd", "simd_conversions") => return false, - ("simd", "simd_f32x4_rounding") => return false, - ("simd", "simd_f64x2_rounding") => return false, - ("simd", _) => return true, - _ => {} - } - +/// +/// TODO(#2470): removed all tests from this set as we are disabling x64 SIMD tests unconditionally +/// instead until we resolve a nondeterminism bug. Restore when fixed. +fn experimental_x64_should_panic(_testsuite: &str, _testname: &str, _strategy: &str) -> bool { false } @@ -239,6 +200,11 @@ fn ignore(testsuite: &str, testname: &str, strategy: &str) -> bool { return env::var("CARGO_CFG_TARGET_ARCH").unwrap() != "x86_64"; } + // Ignore all x64 SIMD tests for now (#2470). + ("simd", _) if cfg!(feature = "experimental_x64") => { + return env::var("CARGO_CFG_TARGET_ARCH").unwrap() == "x86_64"; + } + // These are only implemented on aarch64 and x64. ("simd", "simd_boolean") | ("simd", "simd_f32x4_pmin_pmax")