diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/simplify-rtx.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1febcad..8f8e450 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,11 @@ 2016-11-30 Segher Boessenkool <segher@kernel.crashing.org> + PR rtl-optimization/78583 + * simplify-rtx.c (simplify_truncation): Add check missing from the + previous commit. + +2016-11-30 Segher Boessenkool <segher@kernel.crashing.org> + PR rtl-optimization/78590 * combine.c (change_zero_ext): Transform zero_extend of subregs only if the subreg_reg is a scalar integer mode. diff --git a/gcc/simplify-rtx.c b/gcc/simplify-rtx.c index 7778db5..7ed849f 100644 --- a/gcc/simplify-rtx.c +++ b/gcc/simplify-rtx.c @@ -752,6 +752,7 @@ simplify_truncation (machine_mode mode, rtx op, changing len. */ if ((GET_CODE (op) == ZERO_EXTRACT || GET_CODE (op) == SIGN_EXTRACT) && REG_P (XEXP (op, 0)) + && GET_MODE (XEXP (op, 0)) == mode && CONST_INT_P (XEXP (op, 1)) && CONST_INT_P (XEXP (op, 2))) { |