[Bug rtl-optimization/21182] [4.6/4.7/4.8 Regression] gcc can use registers but uses stack instead

steven at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Mar 13 20:38:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21182

--- Comment #12 from Steven Bosscher <steven at gcc dot gnu.org> 2013-03-13 20:37:23 UTC ---
Curious to hear whether "-fschedule-insns -fsched-pressure" helps.

At least from the %esp and %ebp counts, it looks hopeful:

$ ./cc1 -quiet -m32 -O2 t.c -DNAIL_REGS -o t.s.NAIL
$ ./cc1 -quiet -m32 -O2 t.c -UNAIL_REGS -o t.s
$ ./cc1 -quiet -m32 -O2 t.c -UNAIL_REGS -o t.s.sched_pres \
  -fschedule-insns -fsched-pressure
$ egrep -c '%ebp|%esp' t.s*
t.s:366
t.s.NAIL:305
t.s.sched_pres:277
$ grep ident t.s
.ident  "GCC: (GNU) 4.8.0 20130313 (experimental) [trunk revision 196638]"

It is unfortunate that nobody has put in the resources yet to make options
like "-fschedule-insns -fsched-pressure" the default for x86.



More information about the Gcc-bugs mailing list