summaryrefslogtreecommitdiff
path: root/gcc/genopinit.c
diff options
context:
space:
mode:
authorsayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-11 19:34:11 +0000
committersayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4>2003-02-11 19:34:11 +0000
commit0fd605a553c8aff634c37992396e4ceb274221d3 (patch)
tree7ceaf59c454cfc0fade6ccb54dfb5372b71cd8d1 /gcc/genopinit.c
parent6a2bb444acb1e1c95385e38897c0a003d40dd998 (diff)
downloadgcc-0fd605a553c8aff634c37992396e4ceb274221d3.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@62708 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/genopinit.c')
-rw-r--r--gcc/genopinit.c6
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$)",