[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#254626: gcc-3.3: wrong optimization on sparc32 when building linux kernel



I have done some more testing using gcc-3.4, guided by this
text in he gcc manual:
           -Os disables the following optimization flags: -falign-functions
           -falign-jumps  -falign-loops -falign-labels  -freorder-blocks
           -fprefetch-loop-arrays

After much testing I can only conclude that these options do not affect
this problem (:
Here's the short version of my test cases:

TestNr	Boots	Options
---------------------------------------------------------
0	No	-Os
1	Yes	-O2
14	No	-Os -falign-functions -falign-jumps -falign-loops -falign-labels -freorder-blocks -fprefetch-loop-arrays
18	Yes	-O2 -fno-reorder-blocks
19	Yes	-O2 -fno-align-functions -fno-align-jumps -fno-align-loops -fno-align-labels -fno-reorder-blocks

The assembler code produced for TestNr 18 and 19 are the same.
I have put the vsprintf.s assembler code for TestNr 14 and 18
on http://www.mph.eclipse.co.uk/pub/linux/
together with assembler code generated from:
$ objdump -d vsprintf.o14 | cut -f3 > vsprintf.asm14
$ objdump -d vsprintf.o18 | cut -f3 > vsprintf.asm18
But the difference between these is still quite large.

Hopefully this is of some use. I'm out of ideas what to try next.
Let me know if there is anything else I can try, or if you need more
information.

Best regards,
-- 
Martin



Reply to: