diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/vect/pr85286.c | 19 | ||||
-rw-r--r-- | gcc/tree-vect-data-refs.c | 2 |
4 files changed, 31 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 50484fa..4958959 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> + PR tree-optimization/85286 + * tree-vect-data-refs.c (vect_get_smallest_scalar_type): + +2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> + * final.c (final_1): Set insn_last_address as well as insn_current_address. diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f7ca834..3cfc12c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> + + PR tree-optimization/85286 + * gcc.dg/vect/pr85286.c: New test. + 2018-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> PR target/85173 diff --git a/gcc/testsuite/gcc.dg/vect/pr85286.c b/gcc/testsuite/gcc.dg/vect/pr85286.c new file mode 100644 index 0000000..320ed6b --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/pr85286.c @@ -0,0 +1,19 @@ +/* PR tree-optimization/45241 */ +/* { dg-do compile } */ +/* { dg-additional-options "--param scev-max-expr-complexity=0" } */ + +int +foo (short x) +{ + short i, y; + int sum; + + for (i = 0; i < x; i++) + y = x * i; + + for (i = x; i > 0; i--) + sum += y; + + return sum; +} + diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c index ce24387..161a886 100644 --- a/gcc/tree-vect-data-refs.c +++ b/gcc/tree-vect-data-refs.c @@ -132,6 +132,8 @@ vect_get_smallest_scalar_type (gimple *stmt, HOST_WIDE_INT *lhs_size_unit, if (is_gimple_assign (stmt) && (gimple_assign_cast_p (stmt) + || gimple_assign_rhs_code (stmt) == DOT_PROD_EXPR + || gimple_assign_rhs_code (stmt) == WIDEN_SUM_EXPR || gimple_assign_rhs_code (stmt) == WIDEN_MULT_EXPR || gimple_assign_rhs_code (stmt) == WIDEN_LSHIFT_EXPR || gimple_assign_rhs_code (stmt) == FLOAT_EXPR)) |