diff options
author | Roger Sayle <roger@eyesopen.com> | 2002-08-03 23:21:31 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2002-08-03 23:21:31 +0000 |
commit | e7b489c8c091c2210c01bcd35b9c7cdd2d6b559a (patch) | |
tree | 43f230abfa5b65f3cb384df85d588543c32be03e /gcc/optabs.h | |
parent | de8920be70e85d22a890bc99e0c3a20df4089af0 (diff) | |
download | gcc-e7b489c8c091c2210c01bcd35b9c7cdd2d6b559a.zip gcc-e7b489c8c091c2210c01bcd35b9c7cdd2d6b559a.tar.gz gcc-e7b489c8c091c2210c01bcd35b9c7cdd2d6b559a.tar.bz2 |
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
Diffstat (limited to 'gcc/optabs.h')
-rw-r--r-- | gcc/optabs.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h index 08dbec1..fd80d82 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -131,6 +131,10 @@ enum optab_index OTI_sin, /* Cosine */ OTI_cos, + /* Exponential */ + OTI_exp, + /* Natural Logarithm */ + OTI_log, /* Compare insn; two operands. */ OTI_cmp, @@ -198,6 +202,8 @@ extern GTY(()) optab optab_table[OTI_MAX]; #define sqrt_optab (optab_table[OTI_sqrt]) #define sin_optab (optab_table[OTI_sin]) #define cos_optab (optab_table[OTI_cos]) +#define exp_optab (optab_table[OTI_exp]) +#define log_optab (optab_table[OTI_log]) #define cmp_optab (optab_table[OTI_cmp]) #define ucmp_optab (optab_table[OTI_ucmp]) |