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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever confirmed|0                           |1
   Last reconfirmed|                            |2026-05-31

--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
One other missed optimization is:
```
  _7 = VIEW_CONVERT_EXPR<unsigned long>(x_6(D));
  _1 = _7 << 1;
  if (_1 == 0)
```

Should be turned into `x_6(D) == 0`.

But that produces worse code.


Second is:
```
  _1 = _9 << 1;
  _2 = _1 == 0;
  is_zero_10 = (uint64_t) _2;
  _3 = is_zero_10 << 63;
  _4 = ~_3;
  u_11 = _4 & _9;
```

Is not turned back into:
u_11 = _2 ? 0 : _9

Reply via email to