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.

Reply via email to