







 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


















