[Bug tree-optimization/95866] vectorized shift with scalar argument not correctly costed
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Jun 25 10:30:09 GMT 2020
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 <rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:86ce59b4f05d8f68ec4d9a14a7732acb370412db
commit r11-1647-g86ce59b4f05d8f68ec4d9a14a7732acb370412db
Author: Richard Biener <rguenther@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 <rguenther@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.
More information about the Gcc-bugs
mailing list