Skip to content

Commit

Permalink
Re-enable spec tests that were disabled for bytecodealliance#2432 byt…
Browse files Browse the repository at this point in the history
…ecodealliance#2470. Enable new tests

Re-enables spec tests that were turned off for bytecodealliance#2432 and bytecodealliance#2470 while
also enabling tests that now work due to patch pushes in the interim.
Currently all SIMD spec tests past. Testing to assure this is ok to
enable hasn't been super intense so we should monitor but there
was an attempt of doing 1000 runs 3 different times to try and reproduce
the issue and it did not occur. In the past would have occurred several
times with that many runs.
  • Loading branch information
jlb6740 committed Jan 14, 2021
1 parent 89f6cf2 commit 30680bd
Showing 1 changed file with 46 additions and 9 deletions.
55 changes: 46 additions & 9 deletions build.rs
Original file line number Diff line number Diff line change
Expand Up @@ -176,10 +176,52 @@ 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.
///
/// 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 {
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_align") => 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_i32x4_dot_i16x8") => 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_extend") => return false,
("simd", "simd_load_splat") => return false,
("simd", "simd_load_zero") => 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,
_ => {}
}
false
}

Expand All @@ -201,11 +243,6 @@ 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")
Expand Down

0 comments on commit 30680bd

Please sign in to comment.