https://gcc.gnu.org/bugzilla/show_bug.cgi?id=126914
Drea Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |17.0
Keywords| |missed-optimization
--- Comment #1 from Drea Pinski <pinskia at gcc dot gnu.org> ---
I noticed a similar issue on aarch64 but I had not had a chance to figure which
one is better.
Note the gimple level in some cases will produce a similar result here. So this
is a big odd.
If we did:
```
long f(int a, long b)
{
long t = (a ? 8 : 0);
b |= t;
return b;
}
long f2(int a, long b)
{
if (a)
b |= 8;
return b;
}
```
For GCC 16, GCC would produce different code gen while for the trunk it is the
same.