Re: -Os versus -O2

Segher Boessenkool
2007-06-25T07:42:07Z

>> -Os is "as fast as you can without bloating the code size",
>> so that is the expected result for CPUs that don't need
>> special hand-holding around certain performance pitfalls.
>
> this sounds like you are saying that people wanting performance should
> pick -Os.

That is true on most CPUs. Some CPUs really really need
some of things that -Os disables (compared to -O2) for
decent performance though (branch target alignment...)

> what should people pick who care more about code size then anything
> else? (examples being embedded development where you may be willing to
> sacrafice speed to avoid having to add additional chips to the design)

-Os and tune some options. There is extensive work being
done over the last few years to make GCC more suitable for
embedded targets btw. But the -O1/-O2/-O3/-Os gives you
four choices only, it's really not so hard to understand
I hope that for more specific goals you need to add more
specific options?

Segher