This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Question about REG_OFFSET on big endian machines


> >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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]