http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55947
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-03-13 14:15:51 UTC --- Not wrong, if the code isn't inlined and thus the model is variable, HLE hints will be ignored and seq_cst model will be used. If you want something else, even for -O0, just use inline with __attribute__((always_inline)) to ensure it is inlined.