[Bug tree-optimization/83661] sincos does not handle sin(2x)

wilco at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Mon Sep 2 12:48:00 GMT 2019


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

Wilco <wilco at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |wilco at gcc dot gnu.org

--- Comment #8 from Wilco <wilco at gcc dot gnu.org> ---
(In reply to Christophe Monat from comment #6)
> (In reply to Alexander Monakov from comment #5)
> > sincos performs range reduction for the argument just once, which is fairly
> > important. A well-optimized sincos also shares some computations for the
> > sin/cos parts, as done in
> > https://github.com/ARM-software/optimized-routines/blob/master/math/sincosf.c
> 
> Thanks for the pointer, indeed this implementation looks great.
> 
> @Pratamesh #Linaro: is there synchronization between the ARM optimized
> routines and the usuals libc (glibc, newlib, musl,...) ?

I already committed the rewritten sinf/cosf/sincosf to GLIBC and newlib. Musl
still uses a slow version.

> > (fwiw I'm against adding such transforms to the compiler)
> 
> I would favor upgrading the routines if it's not already done, and not do
> any such transformation in the compiler.

One of the key issues with sincos is that it has a slow interface - you can get
a large speedup by avoiding all the unncessary memory accesses.


More information about the Gcc-bugs mailing list