This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: new g77 x86 ICE in 19990328
- To: law at cygnus dot com, egcs-bugs at egcs dot cygnus dot com
- Subject: Re: new g77 x86 ICE in 19990328
- From: Toon Moene <toon at moene dot indiv dot nluug dot nl>
- Date: Sun, 04 Apr 1999 16:49:17 +0200
- Organization: Moene Computational Physics, Maartensdijk, The Netherlands
- References: <4509.923224723@upchuck>
Jeffrey A Law wrote:
> I'll buy a beer at LinuxExpo for the first person that can spot the problem in
> this code from emit-rtl.c::operand_subword. You've got until I get back from
> skiing tomorrow afternoon :-)
[ ... emit-rtl source elided ... ]
> A hint, OP is the last register in the FP stack register class on the x86.
Yeah, that gives it away, if paired with your earlier mail about the use
of the %argp register (which doesn't exist on the i386).
Unfortunately, the latter does exist in the .../config/i386/i386.h list:
#define REG_ALLOC_ORDER \
/*ax,dx,cx,bx,si,di,bp,sp,st,st1,st2,st3,st4,st5,st6,st7,arg*/ \
{ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 }
So probably, i .EQ. 1. Note that #define FIRST_PSEUDO_REGISTER 17.
Nice hole ! What's the solution you're proposing ?
Cheers,
--
Toon Moene (toon@moene.indiv.nluug.nl)
Saturnushof 14, 3738 XG Maartensdijk, The Netherlands
Phone: +31 346 214290; Fax: +31 346 214286
g77 Support: fortran@gnu.org; egcs: egcs-bugs@cygnus.com