diff options
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/combine.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 5133b37..7178c7c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-05-13 Segher Boessenkool <segher@kernel.crashing.org> + + PR rtl-optimization/67483 + * combine.c (make_compound_operation): Don't call extract_left_shift + with negative shift amounts. + 2016-05-13 Jakub Jelinek <jakub@redhat.com> PR bootstrap/71071 diff --git a/gcc/combine.c b/gcc/combine.c index 3554f51..cd864cc 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -8037,6 +8037,7 @@ make_compound_operation (rtx x, enum rtx_code in_code) && ! (GET_CODE (lhs) == SUBREG && (OBJECT_P (SUBREG_REG (lhs)))) && CONST_INT_P (rhs) + && INTVAL (rhs) >= 0 && INTVAL (rhs) < HOST_BITS_PER_WIDE_INT && INTVAL (rhs) < mode_width && (new_rtx = extract_left_shift (lhs, INTVAL (rhs))) != 0) |
