This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libquadmath/85440] libquadmath and quadmath.h do not exist on ppc64
- From: "jakub at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 20 Apr 2018 10:05:22 +0000
- Subject: [Bug libquadmath/85440] libquadmath and quadmath.h do not exist on ppc64
- Auto-submitted: auto-generated
- References: <bug-85440-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85440
--- Comment #17 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Dennis Clarke from comment #16)
> It is annoying that the gcc compiler will produce the correct
> assembly for both the IBM long double and the IEEE 754-2008
> type 128-bit floating point. One sort of works and the other
I have no idea what you mean by correct assembly for -mabi=ieeelongdouble.
If you try something as simple as
long double add (long double x, long double y) { return x + y; }
you'll see that it emits the SVR4 ABI calls like _q_add etc. for the software
emulation, but neither glibc nor gcc provides implementation for these.
So it doesn't work at all unless you provide your own library. This isn't some
gap that libquadmath can cover, that library requires that {+,-,*,/} etc. work
and furthermore the type needs to be __float128, not long double.