This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: An alpha egcs bug
- To: rth at cygnus dot com
- Subject: Re: An alpha egcs bug
- From: hjl at lucon dot org (H.J. Lu)
- Date: Thu, 23 Oct 1997 00:01:43 -0700 (PDT)
- Cc: law at cygnus dot com, egcs at cygnus dot com
>
> On Wed, Oct 22, 1997 at 04:35:07PM -0600, Jeffrey A Law wrote:
> > I didn't read this thread real close, but it might be worth
> > looking at CLASS_CANNOT_CHANGE_SIZE.
>
> No, I've seen this problem before in another form.
>
> The problem, IMO, is that somewhere in all the myriad SUBREG's that the
> alpha backend generates, reload looses track of what width a pseudo
> actually needs across a spill/reload. It winds up storing 32 bits
> and reading back 64.
>
> The solution that was used in the other case is to have reload always
> spill full registers. It's what should be done again, I think. I
> havn't had time to track it down yet though. And too bad I don't have
> the old test case anymore -- I'd like to see what's different.
My last kludge seems to work quite well for me. I will report
the results of "make check" on egcs 971016 and libg++ 2.8.0b6.2
tomorrow.
BTW, you can get libg++ 2.8.0b6.2 from
ftp://ftp.yggdrasil.com/private/hjl/libg++-2.8.0b6.2.tar.gz
It is 100% compatible with egcs 971016
--
H.J. Lu (hjl@gnu.ai.mit.edu)