This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] PPC fixes for long double


Steven J. Munroe
Linux on Power Toolchain Architect
IBM Corporation, Linux Technology Center


Jakub Jelinek <jakub@redhat.com> wrote on 01/31/2006 10:23:10 AM:

> On Tue, Jan 31, 2006 at 10:12:35AM -0600, Steven Munroe wrote:
> > This patch resolves the ulps failures in cprojl, ctanhl, ctanl, ceill,
> > floorl, and the Bessel functions (j0, j1, jn, y0, y1, yn).
> > 
> > The double double runtime does not propigate -0.0 correctly in some
> > case. So I have to add fixup code to some complex functions. Similarly
> > ceill, floorl needed explicite handling for the correct sign of 0.0;
> > 
> > Also found that the k_cosl, k_sinl, k_sincosl did not compute the 
index
> > into the __sincosl_table correcly for double double. The result is bad
> > values for larger radian inputs and cause the Bessel function 
failures.
> > Hacked around it by converting the high 32-bit (integer form) of the
> > high double to ieee extended and used the index calc from the ldbl-128
> > (ieee extended) version.
> 
> Great to see Bessel fns resolved.  But could you avoid decreasing ulps
> in the ulps file?  While on ppc32 we require GCC 4.1+ (if Mark accepts
> the changes) now, on ppc64 we do not and some older GCCs might result
> in bigger ulps.  So *double/*float numbers really shouldn't change
> when touching only long double routines.
> 
I did not intend to change the *double/*float values just reorder them for 
legibility. I was trying to eliminate the high ulps you had put in for 
broken the bessel functions.

I am trying to verify ppc64 -mlong-double-128 with gcc-3.4, but we are 
currently seeing a ICE in while compiling vfprintf.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]