aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-vect-stmts.c
diff options
context:
space:
mode:
authorIlya Enkovich <ilya.enkovich@intel.com>2016-06-29 12:26:40 +0000
committerIlya Enkovich <ienkovich@gcc.gnu.org>2016-06-29 12:26:40 +0000
commit264d951ae8c99ea72633487dc3404e8d2a4a02d8 (patch)
tree68e3a1ca09b053ad3c96bcc0e7cc411e4418bac4 /gcc/tree-vect-stmts.c
parent5c846a81ffb1fa4464f89d2884c85a690d75adf0 (diff)
downloadgcc-264d951ae8c99ea72633487dc3404e8d2a4a02d8.zip
gcc-264d951ae8c99ea72633487dc3404e8d2a4a02d8.tar.gz
gcc-264d951ae8c99ea72633487dc3404e8d2a4a02d8.tar.bz2
re PR tree-optimization/71655 (GCC trunk ICE on westmere target)
gcc/ PR tree-optimization/71655 * tree-vect-stmts.c (vectorizable_comparison): Swap definition types when swapping operands. gcc/testsuite/ PR tree-optimization/71655 * g++.dg/pr71655.C: New test. From-SVN: r237846
Diffstat (limited to 'gcc/tree-vect-stmts.c')
-rw-r--r--gcc/tree-vect-stmts.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/tree-vect-stmts.c b/gcc/tree-vect-stmts.c
index 5c65502..c41550d 100644
--- a/gcc/tree-vect-stmts.c
+++ b/gcc/tree-vect-stmts.c
@@ -7858,12 +7858,14 @@ vectorizable_comparison (gimple *stmt, gimple_stmt_iterator *gsi,
bitop1 = BIT_NOT_EXPR;
bitop2 = BIT_AND_EXPR;
std::swap (rhs1, rhs2);
+ std::swap (dts[0], dts[1]);
}
else if (code == LE_EXPR)
{
bitop1 = BIT_NOT_EXPR;
bitop2 = BIT_IOR_EXPR;
std::swap (rhs1, rhs2);
+ std::swap (dts[0], dts[1]);
}
else
{