[Bug c++/67461] Multiple atomic stores generate a StoreLoad barrier between each one, not just at the end

pinskia at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Aug 20 17:37:00 GMT 2016


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67461

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
           Severity|minor                       |enhancement

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
I should correct myself, there should be only if we have
__atomic_store(...,__ATOMIC_SEQ_CST)
__atomic_store(...,__ATOMIC_SEQ_CST)
__atomic_store(...,__ATOMIC_SEQ_CST)

This sequence can be converted into:
__atomic_store(...,__ATOMIC_RELEASE)
__atomic_store(...,__ATOMIC_RELEASE)
__atomic_store(...,__ATOMIC_SEQ_CST)


More information about the Gcc-bugs mailing list