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

--- Comment #3 from joseph at codesourcery dot com <joseph at codesourcery dot 
com> ---
On Tue, 11 Feb 2020, bugdal at aerifal dot cx wrote:

> 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.

Correct.  It's a link-only option that breaks fundamental compile-time 
assumptions about how the processor behaves.

> 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

Actually GCC does know about one of those formats (see 
ieee_extended_intel_96_round_53_format in real.c - apparently this is used 
by 32-bit FreeBSD).

Reply via email to