SIGN IN SIGN UP

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