+2012-11-02 Andrew Pinski <apinski@cavium.com>
+
+ PR rtl-opt/54524
+ * simplify-rtx.c (simplify_relational_operation_1): Don't simplify
+ (LTU/GEU (PLUS a 0) 0) into (GEU/LTU a 0) since they are not equivalent.
+
2012-11-02 Jan Hubicka <jh@suse.cz>
* tree-ssa-loop-niter.c (double_int_cmp, bound_index,
&& GET_CODE (op0) == PLUS
&& CONST_INT_P (XEXP (op0, 1))
&& (rtx_equal_p (op1, XEXP (op0, 0))
- || rtx_equal_p (op1, XEXP (op0, 1))))
+ || rtx_equal_p (op1, XEXP (op0, 1)))
+ /* (LTU/GEU (PLUS a 0) 0) is not the same as (GEU/LTU a 0). */
+ && XEXP (op0, 1) != const0_rtx)
{
rtx new_cmp
= simplify_gen_unary (NEG, cmp_mode, XEXP (op0, 1), cmp_mode);