https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94852
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The documentation has been improved slightly: https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html#index-ffloat-store To mention that -fexcess-precision=standard should be used instead: Do not store floating-point variables in registers, and inhibit other options that might change whether a floating-point value is taken from a register or memory. This option has generally been subsumed by -fexcess-precision=standard, which is more general. If you do use -ffloat-store, you may need to modify your program to explicitly store intermediate computations in temporary variables since -ffloat-store handles rounding to IEEE format only on assignments and not casts as -fexcess-precision=standard does.