https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95866
--- Comment #3 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Richard Biener <rgue...@gcc.gnu.org>: https://gcc.gnu.org/g:86ce59b4f05d8f68ec4d9a14a7732acb370412db commit r11-1647-g86ce59b4f05d8f68ec4d9a14a7732acb370412db Author: Richard Biener <rguent...@suse.de> Date: Thu Jun 25 11:21:20 2020 +0200 tree-optimization/95866 - avoid using scalar ops for vectorized shift This avoids using the original scalar SSA operand when vectorizing a shift with a vectorized shift operand where we know all vector components have the same value and thus we can use a vector by scalar shift. Using the scalar SSA operand causes a possibly long chain of scalar computation to be retained so it's better to simply extract lane zero from the available vectorized shift operand. 2020-06-25 Richard Biener <rguent...@suse.de> PR tree-optimization/95866 * tree-vect-stmts.c (vectorizable_shift): Reject incompatible vectorized shift operands. For scalar shifts use lane zero of a vectorized shift operand. * gcc.dg/vect/bb-slp-pr95866.c: New testcase.