







3
9












1













































1



















1
























1





bind s toggle cl_show_hook_coll_own 2 1








2





1







//Thread 1
x.store(1, seq_cst);
y.store(1, release);
//Thread 2
r1 = y.fetch_add(1, seq_cst);
r2 = y.load(relaxed);
//Thread 3
y.store(3, seq_cst);
r3 = x.load(seq_cst);

























happens-before B does not imply A is before B in the single total order of seq_cst operations (edited)
1
happens-before and precedes in a single total order within memory_order_seq_cst
happening-before the fetch_add technically has no effect on the single total order 




happens before.
synchronize-with thread 1, and you can thus establish a inter-thread happens-before relationship between two seq_cst stores without enforcing any order in the single total order (edited)
1

bind s toggle cl_show_hook_coll_own 2 1 ; exit in the end


; exit in the end 





2







bind s toggle cl_show_hook_coll_own 2 1 

























cl_chat_teamcolors 0
2


















