[PATCH]: PR29335 use MPFR for builtin sincos

Richard Guenther richard.guenther@gmail.com
Thu Nov 2 15:10:00 GMT 2006


On 11/2/06, Kaveh R. GHAZI <ghazi@caip.rutgers.edu> wrote:
> On Wed, 1 Nov 2006, Roger Sayle wrote:
>
> > On Wed, 1 Nov 2006, Kaveh R. GHAZI wrote:
> > > Is there any other testcase you would like me to try or can I install
> > > the patch?
> >
> > The patch is OK for mainline.  It would also be nice if you could
> > turn the sincos(zero,&s,&c) test case into something suitable for
> > GCC's dejagnu testsuite and check that in.  And just for good luck
> > perhaps something like:
> >
> > void foo(double x)
> > {
> >   double s, c;
> >
> >   if (x == 0.0)
> >   {
> >     sincos(x,&s,&c);
> >     /* Check s and c.  */
> >   }
> > }
> >
> > However these new test cases can be committed as a follow-up patch.
> > We've no reason to believe the tree-ssa passes can't handle the new
> > non-gimple (*sp=X, *cp=Y) idiom that sincos folding can now produce,
> > but it does no harm as to make sure things don't break in future.
> >
> > [I'll admit that I'm a bit curious as to which pass actually performs
> > the simplification you tested for, but it'll be easy enough for me
> > to investigate this for myself once your patch goes in. :-)]
>
> Sure I'll add some tests in a bit.  Two notes:
>
> 1.  In the case above, the simplification occurs only with both -O1 (or
>     higher) and -ffast-math.  I'm not sure why -ffast-math is necessary.
>
> 2.  The simplification is not dependent on sincos or the pointer
>     parameters.  E.g. if you replace sincos with sin(x) the same set of
>     flags are necessary to enable the simplification.

I believe this is just dom or one of the propagators being overly
careful with not doing expression contraction (and so violating IEEE)
without -funsafe-math-optimizations.

Care to open a bugreport for this?

Richard.



More information about the Gcc-patches mailing list