diff options
author | Kaveh R. Ghazi <ghazi@caip.rutgers.edu> | 2004-03-08 01:55:44 +0000 |
---|---|---|
committer | Kaveh Ghazi <ghazi@gcc.gnu.org> | 2004-03-08 01:55:44 +0000 |
commit | 280e63ec6630671b1b32e876ea3488c3bad8b5f7 (patch) | |
tree | bccb2343ab3d9ef46c4937e187b586b9d0b8d886 /gcc | |
parent | 682a45fc0d8ce0fca037ec8658cc259d0eda1f86 (diff) | |
download | gcc-280e63ec6630671b1b32e876ea3488c3bad8b5f7.zip gcc-280e63ec6630671b1b32e876ea3488c3bad8b5f7.tar.gz gcc-280e63ec6630671b1b32e876ea3488c3bad8b5f7.tar.bz2 |
fold-const.c (tree_expr_nonnegative_p): Reformat checks for builtins.
* fold-const.c (tree_expr_nonnegative_p): Reformat checks for
builtins.
From-SVN: r79088
Diffstat (limited to 'gcc')
-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 c440b66..6608c99 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 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 } } |