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.