aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorYuri Rumyantsev <ysrumyan@gmail.com>2015-08-11 13:52:17 +0000
committerIlya Enkovich <ienkovich@gcc.gnu.org>2015-08-11 13:52:17 +0000
commitdbfa87aa8704d7cb2ce147966f27bdf70ce7596c (patch)
tree99a8e7b99d3199dd01af6513354c0b5d5aa5f8cc /gcc/tree-vect-stmts.c
parentb32bc1ac16670eef2a0e61ae7bad47f8cfd278ed (diff)
downloadgcc-dbfa87aa8704d7cb2ce147966f27bdf70ce7596c.zip
gcc-dbfa87aa8704d7cb2ce147966f27bdf70ce7596c.tar.gz
gcc-dbfa87aa8704d7cb2ce147966f27bdf70ce7596c.tar.bz2
tree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def.
gcc/ * tree-vect-stmts.c (vectorizable_shift): Add missed test on vect_induction_def. gcc/testsuite: * gcc.target/i386/avx2-vect-shift.c: New test. From-SVN: r226781
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 33a7e0c..2ddd434 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -4461,7 +4461,9 @@ vectorizable_shift (gimple stmt, gimple_stmt_iterator *gsi,
/* Determine whether the shift amount is a vector, or scalar. If the
shift/rotate amount is a vector, use the vector/vector shift optabs. */
- if (dt[1] == vect_internal_def && !slp_node)
+ if ((dt[1] == vect_internal_def
+ || dt[1] == vect_induction_def)
+ && !slp_node)
scalar_shift_arg = false;
else if (dt[1] == vect_constant_def
|| dt[1] == vect_external_def