https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96056
。 <570070308 at qq dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |570070308 at qq dot com
--- Comment #1 from 。 <570070308 at qq dot com> ---
I encountered the same issue and it still exists on GCC-16 version. I'm not
sure if this was intentional because `atomic_change` is fine. I guess this is
because `atomic_compare_exchange` performs a comparison after loading, and the
ARM architecture has dependency ordering, but I'm not sure.