Commit 0b04d281 by David Edelsohn Committed by David Edelsohn

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
parent ee30710d
2005-05-09 David Edelsohn <edelsohn@gnu.org>
* dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
to NE_EXPR case.
2005-05-09 Kazu Hirata <kazu@cs.umass.edu> 2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
* config/ia64/ia64.c: Fix a comment typo. * config/ia64/ia64.c: Fix a comment typo.
......
...@@ -207,14 +207,6 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label) ...@@ -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); do_jump (TREE_OPERAND (exp, 0), if_false_label, if_true_label);
break; 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: case BIT_AND_EXPR:
/* fold_single_bit_test() converts (X & (1 << C)) into (X >> C) & 1. /* fold_single_bit_test() converts (X & (1 << C)) into (X >> C) & 1.
See if the former is preferred for jump tests and restore it 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) ...@@ -369,6 +361,12 @@ do_jump (tree exp, rtx if_false_label, rtx if_true_label)
break; 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: case NE_EXPR:
{ {
tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0)); tree inner_type = TREE_TYPE (TREE_OPERAND (exp, 0));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment