https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82626
--- Comment #12 from Keith Marshall <keith.marshall at mailinator dot com> --- (In reply to Jakub Jelinek from comment #10) > While defining float_t to float and double_t to long double for -msse > -mfpmath=sse is a reasoanble choice, Actually, it is the correct choice, but... > you need to have some choice also for other reasons why __FLT_EVAL_METHOD__ > is > -1 (e.g. mixed sse+387). ...it would be a poor fit here, which is why FLT_EVAL_METHOD = -1 is completely the wrong configuration, in this case. The correct solution is to introduce an implementation-defined FLT_EVAL_METHOD, (say -2), to accommodate this case, (since it cannot be represented by the standard 0..2 range of values, but neither is it, by any stretch of the imagination, an indeterminate case). > glibc just provides both float_t and double_t being long double for all the > __FLT_EVAL_METHOD__ -1 cases. That's exactly what I propose to do, in MinGW; it is surely the most appropriate compromise for, e.g. sse+387. However, -1 is just plain *wrong* for -msse.