Question about REG_OFFSET on big endian machines

Josef Zlomek zlomj9am@artax.karlin.mff.cuni.cz
Fri May 7 07:24:00 GMT 2004


> >32-bit variable promoted to 64-bit register has a REG_OFFSET == 0.
> >When it is then accessed by SUBREG which is later converted to a REG
> >it gets a REG_OFFSET == 4 which is wrong for 32-bit variable in 32-bit
> >register.
> 
> This has come up before, when you tried writing a patch for PR 14084. 
> See the thread at
>     http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01314.html

I know about this but I am not sure what values the REG_OFFSETs should
have in that situation.

> I think it is clear that the current REG_OFFSET support is broken, but 
> it isn't clear to me whether your patch is the right fix.  I never got 
> around a more detailed investigation of the problem.  I dropped the ball 
> here.  Also, your patch only fixed one place where we removed subregs, 
> but we probably need to fix other places.

I want to write a correct fix but first I wanted to make sure how the
REG_OFFSETs should be. I'll try some things...

Josef



More information about the Gcc mailing list