aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <bonzini@gnu.org>2009-03-30 09:11:19 +0000
committerPaolo Bonzini <bonzini@gcc.gnu.org>2009-03-30 09:11:19 +0000
commitfedc17754e0f57b2f7b0e3f2d73275887b1ac7fd (patch)
tree379b404a62228e3db7adc84f3a8d869fcd833ffa
parent65c5ae8b1d8c9f86dd398f0c0313598fb5172f02 (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/combine.c4
-rw-r--r--gcc/dojump.c6
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;