This is the mail archive of the gcc-patches@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]

Re: [PATCH] New style SUBREGs, PLEASE PLEASE testme


David S. Miller wrote:
> SUBREG_WORD is now SUBREG_BYTE, and you'll see the expected
> differences in the RTL the compiler generates.  For MEM subregs, all
> of the endianness offset computations, both at the word and byte
> level, are done _at_ SUBREG creation time.  When this is changed back
> to a normal MEM reference the SUBREG_BYTE has the offset to use in the
> final address.  No further corrections for big endian are needed.
> 
> In any place where you need the final hard regno a subreg will use,
> use subreg_hard_regno(subreg_rtx) or SUBREG_REGNO (subreg_rtx) to get
> that.  Both give the same answer, but use the former to have many
> assertions on subregs checked.  The idea is that I'll remove or
> simplify the function version once testing proves this new code stable
> on all platforms.
> 
> If you just want the register number offset, use SUBREG_REGNO_OFFSET.
> Both of these must be given a hard register, it will abort if you do
> not.

What does this imply for mixed endian chips such as the i860 in
big-endian mode (ie mem big-endian, regs little-endian)?  Will your
changes make it easier, harder, or indifferent?

Bill
-- 
Leave others their otherness


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