https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105162
Wilco <wilco at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |wilco at gcc dot gnu.org --- Comment #7 from Wilco <wilco at gcc dot gnu.org> --- (In reply to Sebastian Pop from comment #5) > Created attachment 52762 [details] > patch > > The attached patch fixes the issue for __sync builtins by adding the missing > barrier to -march=armv8-a+nolse path in the outline-atomics functions. > > The patch also changes the behavior of __atomic builtins for > -moutline-atomics -march=armv8-a+nolse to be the same as for > -march=armv8-a+lse. So what is your reasoning for adding the barrier to __atomic as well? Only __sync needs the extra full barrier, but __atomic does not.