diff --git a/build.rs b/build.rs index d0b42afe2894..d116b18d8139 100644 --- a/build.rs +++ b/build.rs @@ -281,16 +281,6 @@ fn ignore(testsuite: &str, testname: &str, strategy: &str) -> bool { testsuite == "function_references" || testsuite == "tail_call" } - "riscv64" => { - // This test case is disabled because it relies on `fvpromote_low` - // not flipping the sign bit of the input when it is a NaN. This - // is allowed by the spec. It's worth keeping the testcase as is - // since it is stressing a specific codegen bug in another arch. - // - // See #6961 for more details - testname == "issue_3327_bnot_lowering" - } - _ => false, } } diff --git a/tests/misc_testsuite/simd/issue_3327_bnot_lowering.wast b/tests/misc_testsuite/simd/issue_3327_bnot_lowering.wast index 4563afe89f88..93faaf6df8c4 100644 --- a/tests/misc_testsuite/simd/issue_3327_bnot_lowering.wast +++ b/tests/misc_testsuite/simd/issue_3327_bnot_lowering.wast @@ -26,7 +26,10 @@ v128.not i64x2.bitmask) (export "" (func 0))) -(assert_return (invoke "") (i32.const 0)) +;; the f64x2.promote_low_f32x4 operation may or may not preserve the sign bit +;; on the NaN in the first operation. This leads to one of two results depending +;; on how platforms propagate NaN bits. +(assert_return (invoke "") (either (i32.const 0) (i32.const 1))) ;; from #3327 (module