Add multi-threaded tests for acquire/release atomics (#8999)
* Add multi-threaded execution tests exercising acquire/release atomics * Most tests demonstrate at least one possible result that would not be possible with `seqcst`. It's impossible to write a test that would fail on an engine that implements `acqrel` using `seqcst`, since strengthening an atomic operation is always sound. * `(atomic.fence acqrel)` currently can't be exercised in a way that's correct without being completely redundant alongside another acqrel load/store. With a relaxed memory ordering the test would make more sense. * Invoke the pause instruction in the `basic.wast` test which was previously unexercised * In support.split_wast, ensure that `(thread ...)` and `(wait ...)` expressions are captured in the split output (the latter is currently a no-op anyway but best to include it for readability and correctness). * Rename relaxed_atomic_execution_tests -> acquire_release_atomics_execution_tests to match the new proposal name * Passes in Binaryen's interpreter in an uninteresting way because `(thread)` blocks always run sequentially in a blocking manner.
S
Steven Fontanella committed
8d9412ef6431ce67f8738554c4d5f091c520b6b7
Parent: dae272c
Committed by GitHub <noreply@github.com>
on 8/15/2026, 4:16:27 AM