aboutsummaryrefslogtreecommitdiff
path: root/gcc/genopinit.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@eyesopen.com>2002-08-03 23:21:31 +0000
committerRoger Sayle <sayle@gcc.gnu.org>2002-08-03 23:21:31 +0000
commite7b489c8c091c2210c01bcd35b9c7cdd2d6b559a (patch)
tree43f230abfa5b65f3cb384df85d588543c32be03e /gcc/genopinit.c
parentde8920be70e85d22a890bc99e0c3a20df4089af0 (diff)
downloadgcc-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/genopinit.c')
-rw-r--r--gcc/genopinit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/genopinit.c b/gcc/genopinit.c
index 384a066..ef4242a 100644
--- a/gcc/genopinit.c
+++ b/gcc/genopinit.c
@@ -114,6 +114,8 @@ static const char * const optabs[] =
"sqrt_optab->handlers[$A].insn_code = CODE_FOR_$(sqrt$a2$)",
"sin_optab->handlers[$A].insn_code = CODE_FOR_$(sin$a2$)",
"cos_optab->handlers[$A].insn_code = CODE_FOR_$(cos$a2$)",
+ "exp_optab->handlers[$A].insn_code = CODE_FOR_$(exp$a2$)",
+ "log_optab->handlers[$A].insn_code = CODE_FOR_$(log$a2$)",
"strlen_optab->handlers[$A].insn_code = CODE_FOR_$(strlen$a$)",
"one_cmpl_optab->handlers[$A].insn_code = CODE_FOR_$(one_cmpl$a2$)",
"ffs_optab->handlers[$A].insn_code = CODE_FOR_$(ffs$a2$)",