OSDN Git Service

PR middle-end/20219
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Nov 2005 07:29:43 +0000 (07:29 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 28 Nov 2005 07:29:43 +0000 (07:29 +0000)
commit29f9683a5f2242786773eaa8f066001a39f18c82
tree9646964189188ede7d11f7784543cb37d50fac04
parent7b70a6986c1342a79954771e1fc38bdce6c6c7ef
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@107597 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-20.c