https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106677

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Hmm, I don't know if this related to the original issue but in .optimized we
have now:
  # RANGE [irange] unsigned char [0, 1] NONZERO 0x1
  # SR.115_117 = PHI <_119(9), SR.115_121(7)>
  # RANGE [irange] unsigned char [0, 1] NONZERO 0x1
  _119 = MAX_EXPR <1, SR.115_117>;

But that Max is just 1 because the max range of SR.115_117 is 1.


I don't know how that showed up in phiopt4 though.
SR.115_117 != 0 ? SR.115_117 : 1
The code definitely looks worse in GCC 13 compared to GCC 12.

Reply via email to