aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-patterns.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2018-06-13 15:03:50 +0000
committerRichard Biener <rguenth@gcc.gnu.org>2018-06-13 15:03:50 +0000
commit7b76867b211f2db8df2f98926ef47fb8c9ea29ee (patch)
tree10d8bb5c2d3fbea3cbe89fee0946176b7989804f /gcc/tree-vect-patterns.c
parent92877928f020d69de397e600052ceb1c9d22c5e8 (diff)
downloadgcc-7b76867b211f2db8df2f98926ef47fb8c9ea29ee.zip
gcc-7b76867b211f2db8df2f98926ef47fb8c9ea29ee.tar.gz
gcc-7b76867b211f2db8df2f98926ef47fb8c9ea29ee.tar.bz2
tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): Properly set vector type of the intermediate stmt.
2018-06-13 Richard Biener <rguenther@suse.de> * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): Properly set vector type of the intermediate stmt. * tree-vect-stmts.c (vectorizable_operation): The destination var always has vectype_out type. From-SVN: r261553
Diffstat (limited to 'gcc/tree-vect-patterns.c')
-rw-r--r--gcc/tree-vect-patterns.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-vect-patterns.c b/gcc/tree-vect-patterns.c
index f99484f..74f08cf 100644
--- a/gcc/tree-vect-patterns.c
+++ b/gcc/tree-vect-patterns.c
@@ -2185,6 +2185,11 @@ vect_recog_vector_vector_shift_pattern (vec<gimple *> *stmts,
TYPE_PRECISION (TREE_TYPE (oprnd1)));
def = vect_recog_temp_ssa_var (TREE_TYPE (rhs1), NULL);
def_stmt = gimple_build_assign (def, BIT_AND_EXPR, rhs1, mask);
+ stmt_vec_info new_stmt_info
+ = new_stmt_vec_info (def_stmt, vinfo);
+ set_vinfo_for_stmt (def_stmt, new_stmt_info);
+ STMT_VINFO_VECTYPE (new_stmt_info)
+ = get_vectype_for_scalar_type (TREE_TYPE (rhs1));
new_pattern_def_seq (stmt_vinfo, def_stmt);
}
}