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: Wed, 22 Oct 1997 17:14:06 -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.
>
That is what happened in my test case. One feature on alpha is
when you load a 32 bit int into a register, you always fill
64 bit. If you only deal with registers, it is ok to load 32 bit
and read 64 bit. The problem is memory access.
H.J.