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);