This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: An alpha egcs bug
- To: law at cygnus dot com
- Subject: Re: An alpha egcs bug
- From: Richard Henderson <rth at cygnus dot com>
- Date: Wed, 22 Oct 1997 17:00:51 -0700
- Cc: Richard Henderson <rth at cygnus dot com>, "H.J. Lu" <hjl at lucon dot org>, egcs at cygnus dot com
- References: <19971022142419.64142@dot.cygnus.com> <956.877559707@hurl.cygnus.com>
- Reply-To: Richard Henderson <rth 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.
r~