Paul Brook <[EMAIL PROTECTED]> writes:

>> : I find this curious...  C99 (6.7.2.1) says "the allocation order of
>> : bit-fields within a unit (high-order to low-order or low-order to
>> : high-order) is implementation defined".  I can't see any requirement
>> : for this, so is it just convention that bitfields on big endian systems
>> : start from the most significant bit, and those on little endian systems
>> : start from the least significant bit?  (My thinking is that endianness
>> : usually refers to byte ordering and not so much bit ordering.)
>>
>> This is a convention that goes back a very long ways.  It was this way
>> in the mid 1980's, and has remained true through today.  I've
>> personally observed this to be the case on many different MIPS
>> compilers, ARM compilers and SPARC compilers over the years.
>
> I'm fairly sure I've seen targets that use other bitfield orderings, though I 
> can't remember offhand what they were.

Bi-endian targets are examples of this.  The bitfield ordering is normally
independent of the selected byte order.  For example, big-endian MIPS has
little endian bit order.

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to