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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
For the reduced testcase:
```
int f(long a, int b)
{
        if (b > 7)
        return a+4;
        return a+2;
}
```

GCC 14 is smaller by 1 byte than GCC 15.

But for a slightly different testcase:
```
int h(long);
int f(long a, int b)
{
        if (b > 7)
         a+=4;
        else
         a+=2;
  return h(a);
}
```
The trunk (cmov) is smaller by 1 byte.

So this looks like it is just by accident.

-Os sometimes is just heurstics and one or 2 bytes different here in both
directions might be a wash overall.

So it is hard to tell if this will cause a real issue for -Os.

Reply via email to