diff options
author | Yuri Rumyantsev <ysrumyan@gmail.com> | 2015-08-11 13:52:17 +0000 |
---|---|---|
committer | Ilya Enkovich <ienkovich@gcc.gnu.org> | 2015-08-11 13:52:17 +0000 |
commit | dbfa87aa8704d7cb2ce147966f27bdf70ce7596c (patch) | |
tree | 99a8e7b99d3199dd01af6513354c0b5d5aa5f8cc /gcc/tree-vect-stmts.c | |
parent | b32bc1ac16670eef2a0e61ae7bad47f8cfd278ed (diff) | |
download | gcc-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.c | 4 |
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 |