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