On Tue, Mar 4, 2014 at 10:33 AM, Hannes Frederic Sowa <han...@stressinduktion.org> wrote: > On Tue, Mar 04, 2014 at 09:26:31AM +0000, Andrew Haley wrote: >> On 03/04/2014 09:24 AM, Hannes Frederic Sowa wrote: >> >> > So the bug was probably fixed more than 15 years ago. >> > Probably :) >> > >> > But the __volatile__ shoud do no harm and shouldn't influence code >> > generation in any way, no? >> >> Of course it will: it's a barrier. > > Sure. My question was about the volatile marker. asm("":::"memory") should act > as the barrier alone.
__asm__("":::"memory") is a memory barrier volatile __asm__("":::"memory") is a memory barrier and a barrier for other volatile instructions. Nothing more, nothing less. Neither is a "optimization barrier" or "compiler barrier" or whatever name you invent. Richard.