On Nov 15, 2012, at 2:18 PM, David Nadlinger <s...@klickverbot.at> wrote:

> On Thursday, 15 November 2012 at 16:43:14 UTC, Sean Kelly wrote:
>> On Nov 15, 2012, at 5:16 AM, deadalnix <deadal...@gmail.com> wrote:
>>> What is the point of ensuring that the compiler does not reorder 
>>> load/stores if the CPU is allowed to do so ?
>> 
>> Because we can write ASM to tell the CPU not to.  We don't have any such 
>> ability for the compiler right now.
> 
> I think the question was: Why would you want to disable compiler code motion 
> for loads/stores which are not atomic, as the CPU might ruin your assumptions 
> anyway?

A barrier isn't always necessary to achieve the desired ordering on a given 
system.  But I'd still call out to ASM to make sure the intended operation 
happened.  I don't know that I'd ever feel comfortable with "volatile x=y" even 
if what I'd do instead is just a MOV.

Reply via email to