https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105495
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Last reconfirmed| |2022-05-05 Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> --- The issue is that we pass the 2nd argument by reference which causes a stack slot to be allocated for 'c': c.b = x_2(D); __atomic_compare_exchange_4 (p_4(D), &c, 2, 1, 0, 0);