On 2007-11-27 18:29, Michael Eager wrote:
> Joseph S. Myers wrote:
> > On Tue, 27 Nov 2007, Michael Eager wrote:
> >
> >> I think that there is a pervasive understanding that SImode is
> >> single precision integer, 32-bits long.
> >
> > Only among contributors not considering non-8-bit bytes. SImode
is 4
> > times QImode, 4*BITS_PER_UNIT bits, and may not exist (or at
least not be
> > particularly usable, much like the limitations on TImode on 32-bit
> > targets) with large BITS_PER_UNIT.
>
> I think you just described the majority of contributors. :-)
>
> It's human nature not to recognize one's tacit assumptions or their
> consequences.
I assume that GCC internals assume that memory can be byte (8 bits)
addressed - for historical reasons. Therefore, the sizes of all types
are multiples of a byte. The same is true for addressing values in
memory. (Sizes of types and their addresses must be separated more
precisely. A 32 bit value could be on a 4 bit boundary!) But this is
changing. Addressable units are on 32 bit boundaries or even on 4 bit
boundaries today. Well, this is the problem I'm running in right now.
Boris