diff options
author | Roger Sayle <roger@eyesopen.com> | 2003-02-11 19:34:11 +0000 |
---|---|---|
committer | Roger Sayle <sayle@gcc.gnu.org> | 2003-02-11 19:34:11 +0000 |
commit | b5e01d4bec0c3cb5e3881cd2f110316e1a51a27f (patch) | |
tree | 7ceaf59c454cfc0fade6ccb54dfb5372b71cd8d1 /gcc/genopinit.c | |
parent | 290a4db98103f24105c77df2e78396892ae3957f (diff) | |
download | gcc-b5e01d4bec0c3cb5e3881cd2f110316e1a51a27f.tar.gz |
optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
* optabs.h (enum optab_index): Add new OTI_pow and OTI_atan2.
(pow_optab, atan2_optab): Define corresponding macros.
* optabs.c (init_optabs): Initialize pow_optab and atan2_optab.
* genopinit.c (optabs): Implement pow_optab and atan2_optab
using pow?f3 and atan2?f3 patterns.
* builtins.c (expand_errno_check): New function to update errno
if necessary, split out from expand_builtin_mathfn.
(expand_builtin_mathfn): Use expand_errno_check.
(expand_builtin_mathfn_2): New function to handle expanding binary
math functions, reusing the code in expand_errno_check.
(expand_builtin): Handle the pow and atan2 math built-ins,
BUILT_IN_{POW,POWF,POWL,ATAN2,ATAN2F,ATAN2L} via the new function
expand_builtin_mathfn_2.
* doc/md.texi: Document new pow?f3 and atan2?f3 patterns.
From-SVN: r62708
Diffstat (limited to 'gcc/genopinit.c')
-rw-r--r-- | gcc/genopinit.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/genopinit.c b/gcc/genopinit.c index 1a0070df064..5d996b59199 100644 --- a/gcc/genopinit.c +++ b/gcc/genopinit.c @@ -1,6 +1,6 @@ /* Generate code to initialize optabs from machine description. - Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, - 1999, 2000 Free Software Foundation, Inc. + Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, + 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -105,6 +105,8 @@ static const char * const optabs[] = "smax_optab->handlers[$A].insn_code = CODE_FOR_$(max$F$a3$)", "umin_optab->handlers[$A].insn_code = CODE_FOR_$(umin$I$a3$)", "umax_optab->handlers[$A].insn_code = CODE_FOR_$(umax$I$a3$)", + "pow_optab->handlers[$A].insn_code = CODE_FOR_$(pow$a3$)", + "atan2_optab->handlers[$A].insn_code = CODE_FOR_$(atan2$a3$)", "neg_optab->handlers[$A].insn_code = CODE_FOR_$(neg$P$a2$)", "negv_optab->handlers[(int) $A].insn_code =\n\ neg_optab->handlers[(int) $A].insn_code = CODE_FOR_$(neg$F$a2$)", |