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

--- Comment #5 from Alexander Monakov <amonakov at gcc dot gnu.org> ---
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

I think in part the sincos pass was motivated by the fsincos instruction on the
x87 fpu, which is also faster than two fsin+fcos instructions separately.

(fwiw I'm against adding such transforms to the compiler)

Reply via email to