Because all of those bitfield functions were manipulating alignment in bytes, the SLOW_UNALIGNED_ACCESS macro expects the alignment to be bytes. The primary question for SLOW_UNALIGNED_ACCESS is whether the alignment is less than the natural alignment for the type, usually in granularity of bytes, not bits. David