diff --git a/gcc/combine.c b/gcc/combine.c index 327ed6db3e2..91a54f59c8a 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -659,8 +659,8 @@ set_nonzero_bits_and_sign_copies (x, set) if (SET_DEST (set) == x || (GET_CODE (SET_DEST (set)) == SUBREG - && (GET_MODE_SIZE (GET_MODE (SET_DEST (x))) - > GET_MODE_SIZE (GET_MODE (SUBREG_REG (SET_DEST (x))))) + && (GET_MODE_SIZE (GET_MODE (SET_DEST (set))) + > GET_MODE_SIZE (GET_MODE (SUBREG_REG (SET_DEST (set))))) && SUBREG_REG (SET_DEST (set)) == x)) { reg_nonzero_bits[REGNO (x)]