On Wed, Jun 12, 2013 at 8:01 PM, Chung-Ju Wu <jasonwucj@xxxxxxxxx> wrote: > > According to GCC Internal 10.5, the description says that > "Volatile memory references may not be deleted, reordered or combined." > I think that is why __builtin_ia32_mfence and __builtin_ia32_pause *do* > generate a barrier in dw's experiment. Good point. Thanks, that makes sense. Ian