diff options
Diffstat (limited to 'gcc/combine.c')
-rw-r--r-- | gcc/combine.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/combine.c b/gcc/combine.c index 9240b32..d6f1079 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -3123,7 +3123,8 @@ try_combine (rtx i3, rtx i2, rtx i1, int *new_direct_jump_p) if (i3_subst_into_i2) { for (i = 0; i < XVECLEN (PATTERN (i2), 0); i++) - if (GET_CODE (XVECEXP (PATTERN (i2), 0, i)) != USE + if ((GET_CODE (XVECEXP (PATTERN (i2), 0, i)) == SET + || GET_CODE (XVECEXP (PATTERN (i2), 0, i)) == CLOBBER) && REG_P (SET_DEST (XVECEXP (PATTERN (i2), 0, i))) && SET_DEST (XVECEXP (PATTERN (i2), 0, i)) != i2dest && ! find_reg_note (i2, REG_UNUSED, |