aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-data-refs.c
diff options
context:
space:
mode:
authorUlrich Weigand <ulrich.weigand@linaro.org>2012-03-26 13:13:07 +0000
committerUlrich Weigand <uweigand@gcc.gnu.org>2012-03-26 13:13:07 +0000
commit39f3fed69d96a818c388450e5141d179ffe310d2 (patch)
treed6e1dabeb20e9473f9a885add8e3a3872cbdaf3b /gcc/tree-vect-data-refs.c
parent6b3936a2baaa75e46a6546a49ac4a6a35950eb7e (diff)
downloadgcc-39f3fed69d96a818c388450e5141d179ffe310d2.zip
gcc-39f3fed69d96a818c388450e5141d179ffe310d2.tar.gz
gcc-39f3fed69d96a818c388450e5141d179ffe310d2.tar.bz2
re PR tree-optimization/52686 (SLP crashes with WIDEN_LSHIFT_EXPR)
gcc/ PR tree-optimization/52686 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle WIDEN_LSHIFT_EXPR. gcc/testsuite/ PR tree-optimization/52686 * gcc.target/arm/pr52686.c: New test. From-SVN: r185795
Diffstat (limited to 'gcc/tree-vect-data-refs.c')
-rw-r--r--gcc/tree-vect-data-refs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/tree-vect-data-refs.c b/gcc/tree-vect-data-refs.c
index d6bfe6c..d9d1abf 100644
--- a/gcc/tree-vect-data-refs.c
+++ b/gcc/tree-vect-data-refs.c
@@ -111,6 +111,7 @@ 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) == WIDEN_MULT_EXPR
+ || gimple_assign_rhs_code (stmt) == WIDEN_LSHIFT_EXPR
|| gimple_assign_rhs_code (stmt) == FLOAT_EXPR))
{
tree rhs_type = TREE_TYPE (gimple_assign_rhs1 (stmt));