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

--- Comment #2 from Drea Pinski <pinskia at gcc dot gnu.org> ---
```
  _1 = _9 << 1;
  _2 = _1 == 0;
  is_zero_10 = (uint64_t) _2;
  _3 = is_zero_10 << 63;
  _4 = ~_3;
  u_11 = _4 & _9;
```

So something like:
(simplify
 (bit_and
  (bit_not
   (lshift
    (convert (eq@3 (lshift @0 INTEGER_CST@1) integral_zerop@4))
    INTEGER_CST@2))
  @0)
 (if (to_wide (@1) + to_wide (@2) == TYPE_PRECISION (type))
  (cond @3 @4 @0)))

Reply via email to