https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114746
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> --- FLT_EVAL_METHOD = 0 is on some hw like the pre-SSE2 ia32 extremely expensive, far more so than even the very expensive -ffloat-store. That is certainly not a good default. Plus I'm afraid it would suffer from double rounding, unless the floating point state is switched each time one needs to perform some floating point instruction in a different precision. -fexcess-precision=fast is the old GCC behavior, which certainly doesn't evaluate everything in extended precision, any time anything needs to be spilled from i?87 FPU to memory it is rounded back to the declared precision.