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.

Reply via email to