diff options
Diffstat (limited to 'contrib/gcc/combine.c')
-rw-r--r-- | contrib/gcc/combine.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/contrib/gcc/combine.c b/contrib/gcc/combine.c index 512882e..c5655ea 100644 --- a/contrib/gcc/combine.c +++ b/contrib/gcc/combine.c @@ -5341,14 +5341,14 @@ simplify_set (rtx x) } else if (GET_MODE (op0) == compare_mode && op1 == const0_rtx) { - SUBST(SET_SRC (x), op0); + SUBST (SET_SRC (x), op0); src = SET_SRC (x); } - else + /* Otherwise, update the COMPARE if needed. */ + else if (XEXP (src, 0) != op0 || XEXP (src, 1) != op1) { - /* Otherwise, update the COMPARE if needed. */ - SUBST (XEXP (src, 0), op0); - SUBST (XEXP (src, 1), op1); + SUBST (SET_SRC (x), gen_rtx_COMPARE (compare_mode, op0, op1)); + src = SET_SRC (x); } } else |