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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
     Ever confirmed|0                           |1
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2025-12-04

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
  if (x_2(D) != 4294967295/*-1*/)
    goto <bb 3>; [INV]
  else
    goto <bb 4>; [INV]

  <bb 3> :
  _4 = x_2(D) + 1;

  <bb 4> :
  # _1 = PHI <0(2), _4(3)>

So something like:
```
(simplify
 (cond (ne @0 integer_all_onesp) (plus@1 @0 integer_onep) integer_zerop)
 @1)
```

Or maybe even something more generic:
```
(simplify
 (cond (ne @0 INTEGER_CST@2) (plus@1 @0 INTEGER_CST@3) integer_zerop)
 (if (wi::to_wide (@2) == -wi::to_wide(@3))
  @1)
```

Reply via email to