Using -Os with gcc4.4 vs gcc4.3 we see a ~15% increase in code size. This is due to the fact that load/store multiple instructions are not being used for function prologue/epilogues. The other option would be to use out of line save/restore calls in the prologue/epilogues (which are also not being used).
We are no longer able to build the u-boot open source loader because the code size increase expands beyond the allowable size (to meet flash constraints). -- Summary: -Os generates significantly larger code Product: gcc Version: 4.4.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: galak at kernel dot crashing dot org GCC build triplet: ppc64-redhat-linux GCC host triplet: ppc64-redhat-linux GCC target triplet: ppc64-redhat-linux http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41175