Store Buffer

The store buffer litmus test checks to see if stores can be buffered and re-ordered on different threads. A release/acquire barrier is not enough to disallow this behavior.

Initial State *x = 0, *y = 0 Final State: r0 == 0 && r1 == 0
Workgroup 0 Thread 0
0.1: atomicStore(x, 1)
0.2: let r0 = atomicLoad(y)
Workgroup 1 Thread 0
1.1: atomicStore(y, 1)
1.2: let r1 = atomicLoad(x)
Explorer Mode
Tuning Mode

Weak Outcome Count: 0

Total Observed Outcomes: 0

Weak Outcome Percentage: 0.00%

Weak Outcome: r0 == 0 && r1 == 0

Run time : 0 seconds

Rate : NaN iterations per second

Time Remaining : NaN seconds