This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SMALL_REGISTER_CLASSES
- To: law at cygnus dot com, m dot hayes at elec dot canterbury dot ac dot nz
- Subject: Re: SMALL_REGISTER_CLASSES
- From: mrs at wrs dot com (Mike Stump)
- Date: Wed, 25 Nov 1998 13:46:37 -0800
- Cc: egcs at cygnus dot com
> Date: Wed, 25 Nov 1998 08:08:29 -0800
> From: mrs@wrs.com (Mike Stump)
> To: law@cygnus.com, m.hayes@elec.canterbury.ac.nz
> Cc: egcs@cygnus.com
> > Date: Mon, 23 Nov 1998 22:58:32 -0700
> > From: Jeffrey A Law <law@cygnus.com>
> > > With Bernd's changes to reload, is SMALL_REGISTER_CLASSES required,
> >
> > I suspect it is no longer required.
Ok, I took my own advice, and tried it on x86:
stage1/xgcc -Bstage1/ -B/usr/local/egcs-981110/i586-pc-linux-gnulibc1/bin/ -c -DIN_GCC -DUSE_GNULIBC_1 -W -Wall -O2 -g -O2 -DHAVE_CONFIG_H -I. -I../../egcs/gcc -I../../egcs/gcc/config -I../../egcs/gcc/../include ../../egcs/gcc/c-aux-info.c
../../egcs/gcc/cccp.c: In function `rescan':
../../egcs/gcc/cccp.c:2616: warning: `c' might be used uninitialized in this function
../../egcs/gcc/c-aux-info.c: In function `gen_type':
../../egcs/gcc/c-aux-info.c:509: fixed or forbidden register 0 (ax) was spilled for class AREG.
../../egcs/gcc/c-aux-info.c:509: This may be due to a compiler bug or to impossible asm
../../egcs/gcc/c-aux-info.c:509: statements or clauses.
../../egcs/gcc/c-aux-info.c:509: This is the instruction:
(insn 248 247 251 (parallel[
(set (reg:SI 0 %eax)
(div:SI (reg:SI 3 %ebx)
(reg:SI 0 %eax)))
(set (reg:SI 1 %edx)
(mod:SI (reg:SI 3 %ebx)
(reg:SI 0 %eax)))
] ) 184 {divmodsi4} (insn_list 245 (insn_list 240 (nil)))
(expr_list:REG_DEAD (reg:SI 0 %eax)
(expr_list:REG_UNUSED (reg:SI 1 %edx)
(expr_list:REG_DEAD (reg:SI 3 %ebx)
(nil)))))
../../egcs/gcc/toplev.c:1395: Internal compiler error in function fatal_insn
make[2]: *** [c-aux-info.o] Error 1
So, no, we aren't there yet... and the define is still necessary.