builtins.def: Define new builtin functions exp...
authorRoger Sayle <roger@eyesopen.com>
Sat, 3 Aug 2002 23:21:31 +0000 (23:21 +0000)
committerRoger Sayle <sayle@gcc.gnu.org>
Sat, 3 Aug 2002 23:21:31 +0000 (23:21 +0000)
commite7b489c8c091c2210c01bcd35b9c7cdd2d6b559a
tree43f230abfa5b65f3cb384df85d588543c32be03e
parentde8920be70e85d22a890bc99e0c3a20df4089af0
builtins.def: Define new builtin functions exp...

* builtins.def: Define new builtin functions exp, expf, expl,
log, logf and logl (and their __builtin_* variants).
* optabs.h (enum optab_index): Add new OTI_exp and OTI_log.
Define exp_optab and log_optab.
* optabs.c (init_optans): Initialize exp_optab and log_optab.
* genopinit.c (optabs): Implement exp_optab and log_optab
using exp?f2 and log?f2 patterns.
* builtins.c (expand_builtin_mathfn): Handle BUILT_IN_EXP*
and BUILT_IN_LOG* using exp_optab and log_optab respectively.
(expand_builtin): Ignore the new builtins (and all cos and
sin variants) when not optimizing.  Expand new builtins via
expand_builtin_mathfn when flag_unsafe_math_optimizations.

* doc/extend.texi: Document new exp and log builtins.
* doc/md.texi: Document new exp?f2 and log?f2 patterns
(and previously undocumented cos?f2 and sin?f2 patterns).

From-SVN: r56010
gcc/ChangeLog
gcc/builtins.c
gcc/builtins.def
gcc/doc/extend.texi
gcc/doc/md.texi
gcc/genopinit.c
gcc/optabs.c
gcc/optabs.h