http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52080
--- Comment #11 from Petr Tesarik <gcc-bugs at tesarici dot cz> 2012-02-02 12:39:25 UTC --- (In reply to comment #10) > IA64 uses > > .mmi > ld8.acq r14 = [r32] > ;; > nop 0 > dep r14 = r15, r14, 32, 1 > ;; > .mib > st8.rel [r32] = r14 > > which seems to be an attempt to work around this issue (albeit a > possibly very slow one). Are you referring to the ".acq" and ".rel" forms? That doesn't change the situation at all. All it does is ensure correct memory ordering with respect to external visibility, but it does nothing to avoid the race condition.