Hello. Can you help me for one question? GCC uses LOAD(without fence) and STORE+MFENCE for SC(Sequential Consistency). As we know MFENCE is equivalent to LFENCE+SFENCE, then GCC uses LOAD(without fence) and STORE+LFENCE+SFENCE for SC when using C++11-std::memory_order_seq_cst. But what is the logic to use the LFENCE after the STORE? (STORE+MFENCE = STORE+LFENCE+SFENCE) In more detail: http://stackoverflow.com/questions/19047327/why-gcc-does-not-use-loadwithout-fence-and-storesfence-for-stdmemory-order Best regards, Alexey Bochkovskiy