From 0b04d2813f70e46d748148b9a10e5e29d35ce4f1 Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Mon, 9 May 2005 14:43:09 +0000 Subject: dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through to NE_EXPR case. * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through to NE_EXPR case. From-SVN: r99443 --- gcc/ChangeLog | 5 +++++ gcc/dojump.c | 14 ++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) (limited to 'gcc') diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3453669..b309737 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-05-09 David Edelsohn + + * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through + to NE_EXPR case. + 2005-05-09 Kazu Hirata * config/ia64/ia64.c: Fix a comment typo. diff --git a/gcc/dojump.c b/gcc/dojump.c index c274a6e..87efb17 100644 --- a/gcc/dojump.c +++ b/gcc/dojump.c @@ -207,14 +207,6 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label); break; - case MINUS_EXPR: - /* Nonzero iff operands of minus differ. */ - do_compare_and_jump (build2 (NE_EXPR, TREE_TYPE (exp), - TREE_OPERAND (exp, 0), - TREE_OPERAND (exp, 1)), - NE, NE, if_false_label, if_true_label); - break; - case BIT_AND_EXPR: /* fold_single_bit_test() converts (X & (1 << C)) into (X >> C) & 1. See if the former is preferred for jump tests and restore it @@ -369,6 +361,12 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) break; } + case MINUS_EXPR: + /* Nonzero iff operands of minus differ. */ + exp = build2 (NE_EXPR, TREE_TYPE (exp), + TREE_OPERAND (exp, 0), + TREE_OPERAND (exp, 1)); + /* FALLTHRU */ case NE_EXPR: { tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0)); -- cgit v1.1