diff options
| author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-08 01:55:44 +0000 |
|---|---|---|
| committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 2004-03-08 01:55:44 +0000 |
| commit | 2df2df756a2096355138f5a8e80b6aca8bd399dc (patch) | |
| tree | bccb2343ab3d9ef46c4937e187b586b9d0b8d886 | |
| parent | ce4d6134d65f332222d695d62f8e57f69e9faeb2 (diff) | |
| download | ppe42-gcc-2df2df756a2096355138f5a8e80b6aca8bd399dc.tar.gz ppe42-gcc-2df2df756a2096355138f5a8e80b6aca8bd399dc.zip | |
* fold-const.c (tree_expr_nonnegative_p): Reformat checks for
builtins.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79088 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/fold-const.c | 77 |
2 files changed, 29 insertions, 53 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c440b66c243..6608c990386 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-07 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * fold-const.c (tree_expr_nonnegative_p): Reformat checks for + builtins. + 2004-03-08 Hans-Peter Nilsson <hp@axis.com> PR target/14471 diff --git a/gcc/fold-const.c b/gcc/fold-const.c index bbef4e6bc77..a735bf8be3f 100644 --- a/gcc/fold-const.c +++ b/gcc/fold-const.c @@ -8890,65 +8890,36 @@ tree_expr_nonnegative_p (tree t) && DECL_BUILT_IN_CLASS (fndecl) != BUILT_IN_MD) switch (DECL_FUNCTION_CODE (fndecl)) { - case BUILT_IN_CABS: - case BUILT_IN_CABSL: - case BUILT_IN_CABSF: - case BUILT_IN_EXP: - case BUILT_IN_EXPF: - case BUILT_IN_EXPL: - case BUILT_IN_EXP2: - case BUILT_IN_EXP2F: - case BUILT_IN_EXP2L: - case BUILT_IN_EXP10: - case BUILT_IN_EXP10F: - case BUILT_IN_EXP10L: - case BUILT_IN_FABS: - case BUILT_IN_FABSF: - case BUILT_IN_FABSL: - case BUILT_IN_FFS: - case BUILT_IN_FFSL: - case BUILT_IN_FFSLL: - case BUILT_IN_PARITY: - case BUILT_IN_PARITYL: - case BUILT_IN_PARITYLL: - case BUILT_IN_POPCOUNT: - case BUILT_IN_POPCOUNTL: - case BUILT_IN_POPCOUNTLL: - case BUILT_IN_POW10: - case BUILT_IN_POW10F: - case BUILT_IN_POW10L: - case BUILT_IN_SQRT: - case BUILT_IN_SQRTF: - case BUILT_IN_SQRTL: +#define CASE_BUILTIN_F(BUILT_IN_FN) \ + case BUILT_IN_FN: case BUILT_IN_FN##F: case BUILT_IN_FN##L: +#define CASE_BUILTIN_I(BUILT_IN_FN) \ + case BUILT_IN_FN: case BUILT_IN_FN##L: case BUILT_IN_FN##LL: + + CASE_BUILTIN_F (BUILT_IN_CABS) + CASE_BUILTIN_F (BUILT_IN_EXP) + CASE_BUILTIN_F (BUILT_IN_EXP10) + CASE_BUILTIN_F (BUILT_IN_EXP2) + CASE_BUILTIN_F (BUILT_IN_FABS) + CASE_BUILTIN_F (BUILT_IN_POW10) + CASE_BUILTIN_F (BUILT_IN_SQRT) + CASE_BUILTIN_I (BUILT_IN_FFS) + CASE_BUILTIN_I (BUILT_IN_PARITY) + CASE_BUILTIN_I (BUILT_IN_POPCOUNT) return 1; - case BUILT_IN_ATAN: - case BUILT_IN_ATANF: - case BUILT_IN_ATANL: - case BUILT_IN_CEIL: - case BUILT_IN_CEILF: - case BUILT_IN_CEILL: - case BUILT_IN_FLOOR: - case BUILT_IN_FLOORF: - case BUILT_IN_FLOORL: - case BUILT_IN_NEARBYINT: - case BUILT_IN_NEARBYINTF: - case BUILT_IN_NEARBYINTL: - case BUILT_IN_ROUND: - case BUILT_IN_ROUNDF: - case BUILT_IN_ROUNDL: - case BUILT_IN_TRUNC: - case BUILT_IN_TRUNCF: - case BUILT_IN_TRUNCL: - return tree_expr_nonnegative_p (TREE_VALUE (arglist)); - - case BUILT_IN_POW: - case BUILT_IN_POWF: - case BUILT_IN_POWL: + CASE_BUILTIN_F (BUILT_IN_ATAN) + CASE_BUILTIN_F (BUILT_IN_CEIL) + CASE_BUILTIN_F (BUILT_IN_FLOOR) + CASE_BUILTIN_F (BUILT_IN_NEARBYINT) + CASE_BUILTIN_F (BUILT_IN_POW) + CASE_BUILTIN_F (BUILT_IN_ROUND) + CASE_BUILTIN_F (BUILT_IN_TRUNC) return tree_expr_nonnegative_p (TREE_VALUE (arglist)); default: break; +#undef CASE_BUILTIN_F +#undef CASE_BUILTIN_I } } |

