https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103372
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Confirmed. clang decides (on aarch64 at least) emits a conditional based on the argument, instead of special casing it to SEQ_CST .