simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don't recurse if op1 equals both PLUS arguments.

* simplify-rtx.c (simplify_relational_operation_1): For recent
	canonicalization, don't recurse if op1 equals both PLUS arguments.

From-SVN: r128323
This commit is contained in:
Hans-Peter Nilsson 2007-09-10 07:30:16 +00:00 committed by Hans-Peter Nilsson
parent 3b010fe32e
commit cf369845fd
2 changed files with 8 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2007-09-10 Hans-Peter Nilsson <hp@axis.com>
* simplify-rtx.c (simplify_relational_operation_1): For recent
canonicalization, don't recurse if op1 equals both PLUS arguments.
2007-09-09 David Daney <ddaney@avtrex.com>
* optabs.c (expand_sync_operation): Use plus insn if minus

View File

@ -3816,7 +3816,9 @@ simplify_relational_operation_1 (enum rtx_code code, enum machine_mode mode,
/* Canonicalize (LTU/GEU (PLUS a b) b) as (LTU/GEU (PLUS a b) a). */
if ((code == LTU || code == GEU)
&& GET_CODE (op0) == PLUS
&& rtx_equal_p (op1, XEXP (op0, 1)))
&& rtx_equal_p (op1, XEXP (op0, 1))
/* Don't recurse "infinitely" for (LTU/GEU (PLUS b b) b). */
&& !rtx_equal_p (op1, XEXP (op0, 0)))
return simplify_gen_relational (code, mode, cmp_mode, op0, XEXP (op0, 0));
if (op1 == const0_rtx)