re PR middle-end/20219 (Missed optimisation sin / tan --> cos)
authorRoger Sayle <roger@eyesopen.com>
Mon, 28 Nov 2005 07:29:43 +0000 (07:29 +0000)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 28 Nov 2005 07:29:43 +0000 (08:29 +0100)
commitd531830f5db3d08322202915d9b44572f410841e
tree9646964189188ede7d11f7784543cb37d50fac04
parent401cd90a905d8cf4ad2339da824e13943912a89c
re PR middle-end/20219 (Missed optimisation sin / tan --> cos)

PR middle-end/20219
* fold-const.c (fold binary) <RDIV_EXPR>: Optimize
sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
when flag_unsafe_math_optimizations is set and
we don't care about NaNs or Infinities.

Move x/expN(y) and x/pow(y,z) transformation into common
flag_unsafe_math_optimizations section.

testsuite/

* gcc.dg/builtins-20.c: Add checks for sin(x)/tan(x) and
tan(x)/sin(x) transformations.

Co-Authored-By: Uros Bizjak <uros@kss-loka.si>
From-SVN: r107597
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-20.c