https://gcc.gnu.org/bugzilla/show_bug.cgi?id=128076
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Known to work| |4.1.2
Summary|wrong code at -O2 and -O3 |[14/15/16/17 Regression]
|for a tail-recursive |wrong code at -O2 and -O3
|function whose signed |for a tail-recursive
|additions do not overflow |function whose signed
| |additions do not overflow
Target Milestone|--- |14.5
Ever confirmed|0 |1
Status|UNCONFIRMED |NEW
Last reconfirmed| |2026-10-25
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
<bb 5> :
add_acc_15 = add_acc_13 + 2147483647;
goto <bb 2>; [INV]
<bb 6> :
_3 = n_7 + -1;
add_acc_14 = add_acc_13 + -2147483647;
goto <bb 2>; [INV]
Those addition should be done in unsigned rather signed integers.