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

--- Comment #2 from Bu Le <bule1 at huawei dot com> ---
(In reply to Andrew Pinski from comment #1)
> If long double is 128bit fp already, then glibc has full support of it.  So
> you dont need libquadmath at all.  It is only there if long double is not
> 128bit long double and glibc does not have support for the __float128 type.

Can you elabrate more? 

I tried this test case with libm which gives me an incorrected answer without
enough precision 00000000-f0000000-ffffffff-3ffdffff. What library does glibc
provides for quad math? Or maybe I configure the libm wrong?

#include <stdio.h>
#include <math.h>
int main(void)
{
    long double ld = 0;
    long double res;
    long double pi = acos(-1);
    int* i = (int*) &res;
    i[0] = i[1] = i[2] = i[3] = 0xdeadbeef;

    ld = pi/6;
    res = sin(ld);
    printf("sinq-1: %08x-%08x-%08x-%08x\n", i[0], i[1], i[2], i[3]);
}
/* { dg-output "sinq-1: af2139b8-fae7b900-ffffffff-3ffdffff\n" } */

Reply via email to