On Aug 10, 2011, at 12:38 PM, David Laight wrote: > >>> Bitfields are rather non-portable, the compiler has a lot of choice >>> about how to align the bits in memory. >> >> I'm ok with the masking stuff. >> However, I'm actually surprised this is true given the >> maturity of our ABIs. > > The C standard says nothing at all about how bitfields are implemented, > I think the first bit might be 0x1, 0x80, 0x1000000 or 0x80000000 > when treated as a 32bit value, regardless of the endianness. > > Different architectures can (and do) assign things in different ways. > So code that is ok on ppc might fail on arm or x86 (etc). > > David
I think PPCs a bit sane and what Jimi was proposing the union for is something that would never need to be portable (as it a PPC specific register). Still, prefer the shifts, masks & macros as that's what I've been reading & using in ppc land forever ;) - k _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev