https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100145
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> So we get optimize_edge_for_size_p () returning OPTIMIZE_SIZE_BALANCED and
> thus optimize_edge_for_speed_p which is
>
> 340 bool
> 341 optimize_edge_for_speed_p (edge e)
> 342 {
> 343 return !optimize_edge_for_size_p (e);
> 344 }
>
> return false. And that's likely because this is 'main'.
Yes it is.
If we do s/main/c123/
And then add:
```
int main()
{
return c123();
}
```
The -O3 issue goes away.