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