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


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



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