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.

Reply via email to