aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-openmp.c
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2020-06-25 11:21:20 +0200
committerRichard Biener <rguenther@suse.de>2020-06-25 12:29:52 +0200
commit86ce59b4f05d8f68ec4d9a14a7732acb370412db (patch)
treeeb7c81a823bc2aaef6319c4cf91d561847bab2d7 /gcc/fortran/trans-openmp.c
parent88891c5ff0e3e20d3dd743c4eb6cc45399ee5c33 (diff)
downloadgcc-86ce59b4f05d8f68ec4d9a14a7732acb370412db.zip
gcc-86ce59b4f05d8f68ec4d9a14a7732acb370412db.tar.gz
gcc-86ce59b4f05d8f68ec4d9a14a7732acb370412db.tar.bz2
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.
Diffstat (limited to 'gcc/fortran/trans-openmp.c')
0 files changed, 0 insertions, 0 deletions