mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-04-14 04:20:25 +08:00
re PR tree-optimization/60000 (GCC trunk build failure caused by the vectorizer)
2014-02-03 Cong Hou <congh@google.com> PR tree-optimization/60000 * tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL if the vectorized statement is a store. A store statement can only appear at the end of pattern statements. 2014-02-03 Cong Hou <congh@google.com> PR tree-optimization/60000 * g++.dg/vect/pr60000.cc: New test. From-SVN: r207433
This commit is contained in:
parent
e3aaedd6bf
commit
cf5b2be2a4
@ -1,3 +1,10 @@
|
||||
2014-02-03 Cong Hou <congh@google.com>
|
||||
|
||||
PR tree-optimization/60000
|
||||
* tree-vect-loop.c (vect_transform_loop): Set pattern_def_seq to NULL
|
||||
if the vectorized statement is a store. A store statement can only
|
||||
appear at the end of pattern statements.
|
||||
|
||||
2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* config/i386/i386.c (flag_opts): Add -mlong-double-128.
|
||||
|
@ -1,3 +1,8 @@
|
||||
2014-02-03 Cong Hou <congh@google.com>
|
||||
|
||||
PR tree-optimization/60000
|
||||
* g++.dg/vect/pr60000.cc: New test.
|
||||
|
||||
2014-02-03 H.J. Lu <hongjiu.lu@intel.com>
|
||||
|
||||
* gcc.target/i386/long-double-64-1.c: Verify __multf3 isn't used.
|
||||
|
13
gcc/testsuite/g++.dg/vect/pr60000.cc
Normal file
13
gcc/testsuite/g++.dg/vect/pr60000.cc
Normal file
@ -0,0 +1,13 @@
|
||||
/* { dg-do compile } */
|
||||
/* { dg-additional-options "-fno-tree-vrp" } */
|
||||
|
||||
void foo (bool* a, int* b)
|
||||
{
|
||||
for (int i = 0; i < 1000; ++i)
|
||||
{
|
||||
a[i] = i % 2;
|
||||
b[i] = i % 3;
|
||||
}
|
||||
}
|
||||
|
||||
/* { dg-final { cleanup-tree-dump "vect" } } */
|
@ -6054,7 +6054,6 @@ vect_transform_loop (loop_vec_info loop_vinfo)
|
||||
the chain. */
|
||||
gsi_next (&si);
|
||||
vect_remove_stores (GROUP_FIRST_ELEMENT (stmt_info));
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
@ -6064,11 +6063,13 @@ vect_transform_loop (loop_vec_info loop_vinfo)
|
||||
unlink_stmt_vdef (store);
|
||||
gsi_remove (&si, true);
|
||||
release_defs (store);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
if (!transform_pattern_stmt && gsi_end_p (pattern_def_si))
|
||||
/* Stores can only appear at the end of pattern statements. */
|
||||
gcc_assert (!transform_pattern_stmt);
|
||||
pattern_def_seq = NULL;
|
||||
}
|
||||
else if (!transform_pattern_stmt && gsi_end_p (pattern_def_si))
|
||||
{
|
||||
pattern_def_seq = NULL;
|
||||
gsi_next (&si);
|
||||
|
Loading…
x
Reference in New Issue
Block a user