http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55673
Richard Henderson <rth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |amacleod at redhat dot com --- Comment #2 from Richard Henderson <rth at gcc dot gnu.org> 2012-12-13 17:31:23 UTC --- The patch looks correct to me. And indeed while investigating this I notice that we have a similar problem with the fully generic code in optabs.c. Andrew, have a look at expand_atomic_load placing the barrier before the load. There's also a bit of incorrect commentary cut and paste between there and expand_atomic_store. It appears as if the only platform for which we get all this correct is powerpc, and there because it implements its own atomic_load and atomic_store patterns.