https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78804
--- Comment #15 from Ian Lance Taylor <ian at airs dot com> --- What does this program print on rx? #include <stdio.h> struct bits { unsigned long long fraction:52 __attribute__ ((packed)); unsigned int exp:11 __attribute__ ((packed)); unsigned int sign:1 __attribute__ ((packed)); }; double d = 1.0; int main () { struct bits *p; printf ("%zu\n", sizeof (struct bits)); p = (struct bits *)&d; printf ("%llx %x %x\n", (unsigned long long) p->fraction, p->exp, p->sign); return 0; } Overall the softfp code is newer and probably better. Converting rx to use the softfp code is probably a good idea.