http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46176
--- Comment #2 from Andi Kleen <andi-gcc at firstfloor dot org> 2010-10-26 08:01:01 UTC --- Thanks. Unrolling seems to be part of it, but not all. I rebuilt/retrained with -fno-unroll-loops Trained: text data bss dec hex filename 12774489 1198572 1357680 15330741 e9edb5 vmlinux Untrained: 11136452 1200876 1357552 13694880 d0f7a0 ../obj-work2/vmlinux So it's only 13% difference now, but still a lot. function old new delta r600_kms_blit_copy 2640 16394 +13754 static.do_con_write - 10163 +10163 static.rv770_startup - 9541 +9541 r600_blit_copy 10605 19626 +9021 e1000_setup_copper_link - 8894 +8894 kmem_cache_create 1385 10227 +8842 des3_ede_encrypt 1203 8208 +7005 des3_ede_decrypt 1203 8208 +7005