builtins.c (fold_builtin): Optimize cos(-x) as cos(x).
authorRoger Sayle <roger@eyesopen.com>
Tue, 10 Jun 2003 13:05:54 +0000 (13:05 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Tue, 10 Jun 2003 13:05:54 +0000 (13:05 +0000)
commit9f0a7f9dccbf2317fdb4f489b737f37ff30ba996
treec3bfed8bf44d2e144c58458d3cfa991de969b782
parent8936c82f1ea5c9146ca32ac5c75ab166d242cf0d
builtins.c (fold_builtin): Optimize cos(-x) as cos(x).

* 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.

From-SVN: r67701
gcc/ChangeLog
gcc/builtins.c
gcc/fold-const.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/builtins-20.c [new file with mode: 0644]