diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2009-03-30 09:11:19 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2009-03-30 09:11:19 +0000 |
commit | fedc17754e0f57b2f7b0e3f2d73275887b1ac7fd (patch) | |
tree | 379b404a62228e3db7adc84f3a8d869fcd833ffa | |
parent | 65c5ae8b1d8c9f86dd398f0c0313598fb5172f02 (diff) | |
download | gcc-fedc17754e0f57b2f7b0e3f2d73275887b1ac7fd.zip gcc-fedc17754e0f57b2f7b0e3f2d73275887b1ac7fd.tar.gz gcc-fedc17754e0f57b2f7b0e3f2d73275887b1ac7fd.tar.bz2 |
combine.c (simplify_comparison): Use have_insn_for.
2009-03-30 Paolo Bonzini <bonzini@gnu.org>
* combine.c (simplify_comparison): Use have_insn_for.
* dojump.c (do_jump): Likewise.
From-SVN: r145285
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/combine.c | 4 | ||||
-rw-r--r-- | gcc/dojump.c | 6 |
3 files changed, 9 insertions, 6 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 552e97d..72721e3 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2009-03-30 Paolo Bonzini <bonzini@gnu.org> + * combine.c (simplify_comparison): Use have_insn_for. + * dojump.c (do_jump): Likewise. + +2009-03-30 Paolo Bonzini <bonzini@gnu.org> + * config/sparc/sparc.c (sparc_compare_emitted): Remove. (gen_compare_reg, emit_v9_brxx_insn): Handle MODE_CC sparc_compare_op0 like sparc_compare_emitted used to be handled. diff --git a/gcc/combine.c b/gcc/combine.c index a8200bc..3ce8a75 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -10534,7 +10534,7 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1) && ((unsigned HOST_WIDE_INT) const_op < (((unsigned HOST_WIDE_INT) 1 << (GET_MODE_BITSIZE (mode) - 1)))) - && optab_handler (cmp_optab, mode)->insn_code != CODE_FOR_nothing) + && have_insn_for (COMPARE, mode)) { op0 = XEXP (op0, 0); continue; @@ -10615,7 +10615,7 @@ simplify_comparison (enum rtx_code code, rtx *pop0, rtx *pop1) && (unsigned_comparison_p || equality_comparison_p) && (GET_MODE_BITSIZE (mode) <= HOST_BITS_PER_WIDE_INT) && ((unsigned HOST_WIDE_INT) const_op < GET_MODE_MASK (mode)) - && optab_handler (cmp_optab, mode)->insn_code != CODE_FOR_nothing) + && have_insn_for (COMPARE, mode)) { op0 = XEXP (op0, 0); continue; diff --git a/gcc/dojump.c b/gcc/dojump.c index 060eb51..715e737 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -257,8 +257,7 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) if (! SLOW_BYTE_ACCESS && type != 0 && bitsize >= 0 && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (exp)) - && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code - != CODE_FOR_nothing)) + && have_insn_for (COMPARE, TYPE_MODE (type))) { do_jump (fold_convert (type, exp), if_false_label, if_true_label); break; @@ -499,8 +498,7 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) && (mode = mode_for_size (i + 1, MODE_INT, 0)) != BLKmode && (type = lang_hooks.types.type_for_mode (mode, 1)) != 0 && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (exp)) - && (optab_handler (cmp_optab, TYPE_MODE (type))->insn_code - != CODE_FOR_nothing)) + && have_insn_for (COMPARE, TYPE_MODE (type))) { do_jump (fold_convert (type, exp), if_false_label, if_true_label); break; |