From 2df2df756a2096355138f5a8e80b6aca8bd399dc Mon Sep 17 00:00:00 2001 From: ghazi Date: Mon, 8 Mar 2004 01:55:44 +0000 Subject: [PATCH] * 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 --- gcc/ChangeLog | 5 ++++ gcc/fold-const.c | 77 ++++++++++++++++++-------------------------------------- 2 files changed, 29 insertions(+), 53 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c440b66..6608c99 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-03-07 Kaveh R. Ghazi + + * fold-const.c (tree_expr_nonnegative_p): Reformat checks for + builtins. + 2004-03-08 Hans-Peter Nilsson PR target/14471 diff --git a/gcc/fold-const.c b/gcc/fold-const.c index bbef4e6..a735bf8 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 } } -- 2.7.4