https://gcc.gnu.org/bugzilla/show_bug.cgi?id=122537
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu.org
Target Milestone|--- |13.5
Summary|wrong code at -O3 with |[13/14/15/16 Regression]
|-fwrapv |wrong code at -O3 with
| |-fwrapv
Component|c |tree-optimization
Status|UNCONFIRMED |NEW
Keywords| |wrong-code
Ever confirmed|0 |1
Known to work| |4.8.5
Known to fail| |13.3.0, 7.5.0
Last reconfirmed| |2025-11-03
Priority|P3 |P2
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Vectorizers fault. The vector loop enter condition looks wrong, possibly also
niter analysis fault.
Analyzing # of iterations of loop 1
exit condition a.1_16 + -19 <= [a.1_16 + -72, + , -61]
bounds on difference of bases: -53 ... 4294967243
result:
under assumptions a.1_16 != -2147483629 && a.1_16 + -20 >= -2147483592
# of iterations 70409300, bounded by 0
t.c:7:21: note: Loop to be versioned with niter assumption a.1_16 !=
-2147483629 && a.1_16 + -20 >= -2147483592
the niter bound looks OK but the integer number of iterations not.
Possibly some TYPE_UNSIGNED vs. TYPE_OVERFLOW_UNDEFINED/WRAPS mishap.