https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78804
--- Comment #13 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- fp-bit != soft-fp. soft-fp always uses bit-fields (with the order depending on the endianness). It's possible that in some cases you need to ensure the declared types of the bit-fields are such that no padding gets inserted and so you have the right layout.