* builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
commita4a686a74a08f307e708701022bb65d50d05ac3f
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jun 2003 13:05:54 +0000 (10 13:05 +0000)
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 10 Jun 2003 13:05:54 +0000 (10 13:05 +0000)
treec3bfed8bf44d2e144c58458d3cfa991de969b782
parentd150f981143084e491c7a91ae43b26a82906273c
* builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
* fold-const.c (fold <NEGATE_EXPR>): Convert -f(x) into f(-x)
when x is easily negated and f is sin, tan or atan.
(fold <MULT_EXPR>): Optimize tan(x)*cos(x) and cos(x)*tan(x) as
sin(x) with flag_unsafe_math_optimizations.
(fold <RDIV_EXPR>): With flag_unsafe_math_optimizations fold
sin(x)/cos(x) as tan(x) and cos(x)/sin(x) as 1.0/tan(x).

* gcc.dg/builtins-20.c: New test case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67701 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/builtins.c
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-20.c [new file with mode: 0644]