This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: SUBREGs
- To: Joern Rennecke <amylaar at cygnus dot co dot uk>
- Subject: Re: SUBREGs
- From: Jeffrey A Law <law at cygnus dot com>
- Date: Tue, 15 Sep 1998 10:19:45 -0600
- cc: davem at dm dot cobaltmicro dot com (David S. Miller), egcs at cygnus dot com
- Reply-To: law at cygnus dot com
Note I've moved this to egcs@cygnus.com.
In message <199809150945.KAA03265@phal.cygnus.co.uk>you write:
> > The fix is to change the representation. I've decided that the
> > cleanest thing to do is to change SUBREG_WORD() to SUBREG_BIT(). Then
> > perhaps one more macro defined by the target macros which tells
> > the correspondance between hard regno and bit sizes.
> ...
> > Nevertheless I would like to hear some feedback from others
>
> Using bits as the basic unit can lead to problems if you want to describe
> a member of a struct that is larger than 1/8th of the address space.
> It would be safer to use addressable units (for most targets, that's bytes).
>
> Even then, we have to be aware that only an unsigned quantity can
> be relied on to describe the size of an object that is larger than
> one half of the address space.
I don't think we have to worry about such large values being held in
a SUBREG/REG. Seriously, do we really forsee a REG/SUBREG with a
size that approaches 1/8 of the address space for the target? That's
a little absurd.
jeff