Hi, I just noticed that some of my libraries are greater when compiled with gcc 4.4.3 instead of gcc 4.3.2. Diffing the output of "gcc --help=optimizers -Q -Os" shows this in 4.3.2:
-falign-jumps [disabled] -falign-labels [disabled] -falign-loops [enabled] and this for 4.4.3: -falign-functions [enabled] -falign-jumps [enabled] -falign-labels [enabled] -falign-loops [disabled] when explicitely disabling the alignment options then the code size shrinks. For libxml2 in my case from 704256 to 675584 bytes. The manual says: -Os disables the following optimization flags: -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -freorder-blocks-and-partition -fprefetch-loop-arrays -ftree-vect-loop-version which is not true (even not for 4.3.2 since loop alignment was enabled). Some other opts like -freorder-blocks is enabled as well. So is this actually a bug or is the documentation outdated or even both? -- Summary: -Os creates larger binaries than before in some cases (- falign-... options enabled) Product: gcc Version: 4.4.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: middle-end AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: rwahl at gmx dot de http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43861