http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48906
--- Comment #1 from Jerry DeLisle <jvdelisle at gcc dot gnu.org> 2011-05-06 21:10:07 UTC --- Repeating Thomas T. suggestion: "We can treat FMT_G like FMT_E. After the rounding step, i.e. when the final value of the variable e in output_float() is known (at the label 'skip'), if e is within limits for F editing, revert the formatting to F and add the blanks at the end." This is my plan A and I have a patch started. Another idea would be to perform the floating point operations and tests with mpfr. This will avoid the -m32 issue. As a side note, mpfr is compiled with -ffloat-store on 32bit platforms by default. I will take this idea as plan B or C. ;)