https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108623
--- Comment #4 from Michael Meissner <meissner at gcc dot gnu.org> --- I must have missed the spare bits. I think it is better to use the full 16 bits for precision. I also think your other changes to realign bit fields greater than 1 bit.