diff options
author | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-11 19:34:11 +0000 |
---|---|---|
committer | sayle <sayle@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-02-11 19:34:11 +0000 |
commit | 0fd605a553c8aff634c37992396e4ceb274221d3 (patch) | |
tree | 7ceaf59c454cfc0fade6ccb54dfb5372b71cd8d1 /gcc/optabs.h | |
parent | 6a2bb444acb1e1c95385e38897c0a003d40dd998 (diff) | |
download | gcc-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/optabs.h')
-rw-r--r-- | gcc/optabs.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/optabs.h b/gcc/optabs.h index 5fda4dabf74..e9f95fa9091 100644 --- a/gcc/optabs.h +++ b/gcc/optabs.h @@ -1,5 +1,5 @@ /* Definitions for code generation pass of GNU compiler. - Copyright (C) 2001, 2002 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. This file is part of GCC. @@ -108,6 +108,10 @@ enum optab_index OTI_umin, /* Unsigned maximum value */ OTI_umax, + /* Power */ + OTI_pow, + /* Arc tangent of y/x */ + OTI_atan2, /* Move instruction. */ OTI_mov, @@ -202,6 +206,8 @@ extern GTY(()) optab optab_table[OTI_MAX]; #define smax_optab (optab_table[OTI_smax]) #define umin_optab (optab_table[OTI_umin]) #define umax_optab (optab_table[OTI_umax]) +#define pow_optab (optab_table[OTI_pow]) +#define atan2_optab (optab_table[OTI_atan2]) #define mov_optab (optab_table[OTI_mov]) #define movstrict_optab (optab_table[OTI_movstrict]) |