Question about REG_OFFSET on big endian machines

Jim Wilson wilson@specifixinc.com
Fri May 7 05:26:00 GMT 2004


Josef Zlomek wrote:
> 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 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.
-- 
Jim Wilson, GNU Tools Support, http://www.SpecifixInc.com



More information about the Gcc mailing list