https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55690
--- Comment #2 from Joseph <schuchart at icl dot utk.edu> --- Created attachment 52626 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52626&action=edit Reproducer I created a reproducer (see attached file or online: https://godbolt.org/z/n76K3Ejds). Note that the acquire fence does not prevent GCC 7 from loading l->b ahead of the loop. With GCC 8 and later l->b is loaded inside the loop (as it should be).