> > >That's the way that gcc works. The optimizers rearrange the functions > > >and output them in dependency order. "-fno-unit-at-a-time" might > > >help. > > > > Even if I don't use optimization? > >Yes, we always output stuff in dep order. > > > But it didn't help either, still big blocks of code. With > > -fverbose-asm I see the switch on and off, but the rest of the > > output is exactly the same. > >Don't know why this is. Actually it's only the given flag that changes, unit-at-a-time is always enabled. 4 # GNU C++ version 4.1.0 (powerpc-eabi) ...(snip)... 7 # options passed: -I -I -I -I -I -I -I -I -I -I -iprefix -DPPC603 ...(snip)... 10 # -mcpu=603 -auxbase-strip -g -gdwarf-2 -Wall -fno-exceptions -fno-rtti 11 # -fverbose-asm -fno-unit-at-a-time -fno-tree-loop-optimize 12 # options enabled: -falign-loops -fargument-alias -fbranch-count-reg ...(snip)... 19 # -ftree-vect-loop-version -funit-at-a-time -fverbose-asm Is unit-at-a-time now always enabled, despite -fno-unit-at-a-time? I also saw other optimization flags that are supposed to be only enabled with O2 or O3 (like -falign-loops, at least according to docs) http://gcc.gnu.org/onlinedocs/gcc-4.1.1/gcc/Optimize-Options.html#Optimize-Options But the options passed show that there's no (hidden) optimization enabled. bye Fabi