https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93682

--- Comment #2 from Rich Felker <bugdal at aerifal dot cx> ---
I think the underlying issue here is just that -mpc64 (along with -mpc32) is
just hopelessly broken and should be documented as such. It could probably be
made to work, but there are all sorts of issues like float.h being wrong, math
library code breaking, etc.

On a more fundamental level (but seemingly unrelated to the mechanism of
breakage here), the underlying x87 precision control modes are also hopelessly
broken. They're not actually single/double precision modes, but single/double
mantissa with ld80 exponent. So I don't think it's possible to make the
optimizer aware of them without making it aware of two new floating point
formats that it doesn't presently know about. If you just pretended they were
single/double, the same sort of issue would arise again as soon as someone uses
small or large values that should be denormal/underflow/overflow but which
retain their full-precision values by virtue of the excess exponent precision.

Reply via email to