Suggested by minipli:
The order of bit field members in C is implementation defined and for gcc it's defined by the ABI.
We should add a block like this, in case someone wants to add Aarch64 support or the like:
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
// order as above
#else
// reverse order
#endif