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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note there is a missed optimization here (unrelated to the wrong code):
  _32 = o_13(D) == 0;
  _35 = (long int) _32;
  _36 = -_35;
  _109 = (long long unsigned int) _36;
  _102 = _109 > 10439075533421201520;

This should just be:

  _32 = o_13(D) == 0;
  _ = (long long unsigned int) _32;
  _109 = -_35;

Let me file that as a seperate bug.

Reply via email to