builtins.c (real_dconstp, [...]): New, split out from fold_builtin.
authorKaveh R. Ghazi <ghazi@caip.rutgers.edu>
Tue, 9 Sep 2003 22:10:32 +0000 (22:10 +0000)
committerKaveh Ghazi <ghazi@gcc.gnu.org>
Tue, 9 Sep 2003 22:10:32 +0000 (22:10 +0000)
commitf7657db990578e6193922cc0a4f8969c1bef368a
tree017b032798831b2ccb2f7a0e8cab504de72ba7fa
parentdcbdd9cc82664884084bc48ec6869f893043f3c8
builtins.c (real_dconstp, [...]): New, split out from fold_builtin.

* builtins.c (real_dconstp, fold_builtin_logarithm,
fold_builtin_exponent): New, split out from fold_builtin.  Also
generalize to add log2, log10, exp2 and exp10/pow10 equivalents.
* emit-rtl.c (dconst3, dconst10, dconstthird): New.
(init_emit_once): Initialize new dconsts, use ARRAY_SIZE in lieu
of hardcoded array size.
* fold-const.c (fold): Add cases for exp2, exp10 and pow10.
(tree_expr_nonnegative_p): Likewise.
* real.h (dconst3, dconst10, dconstthird): New.

testsuite:
* gcc.dg/torture/builtin-explog-1.c: New testcase.

From-SVN: r71252
gcc/ChangeLog
gcc/builtins.c
gcc/emit-rtl.c
gcc/fold-const.c
gcc/real.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/torture/builtin-explog-1.c [new file with mode: 0644]