http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51147
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-11-15 23:06:26 UTC --- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15224 fixed the ICE .. Note using attribute packed is more likely what you want to do rather than using mode.