Memory Ordering Store Buffer Out-of-Order Execution Acquire / Release seq_cst Why visibility problems occur on non-x86