This makes sure to always use the same vector type for the shift operand as for the shifted operand.
Bootstrapped and tested on x86_64-unknown-linux-gnu, applied. Richard. 2020-05-27 Richard Biener <rguent...@suse.de> PR tree-optimization/95356 * tree-vect-stmts.c (vectorizable_shift): Adjust vector type for the shift operand. --- gcc/tree-vect-stmts.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c index 225a9dc98ac..35043ecd0f9 100644 --- a/gcc/tree-vect-stmts.c +++ b/gcc/tree-vect-stmts.c @@ -5791,7 +5791,7 @@ vectorizable_shift (vec_info *vinfo, if (slp_node && (!vect_maybe_update_slp_op_vectype (slp_op0, vectype) || (!scalar_shift_arg - && !vect_maybe_update_slp_op_vectype (slp_op1, op1_vectype)))) + && !vect_maybe_update_slp_op_vectype (slp_op1, vectype)))) { if (dump_enabled_p ()) dump_printf_loc (MSG_MISSED_OPTIMIZATION, vect_location, -- 2.12.3