Commit a5028f74 authored by jakub's avatar jakub

PR tree-optimization/63563

	* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
	if either dra or drb stmts are not normal loads/stores.

	* gcc.target/i386/pr63563.c: New test.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-4_9-branch@216508 138bc75d-0d04-0410-961f-82ee72b054a4
parent 606da49c
2014-10-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/63563
* tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Bail out
if either dra or drb stmts are not normal loads/stores.
2014-10-17 Jakub Jelinek <jakub@redhat.com>
* asan.c (instrument_derefs): Allow instrumentation of odd-sized
......
2014-10-21 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/63563
* gcc.target/i386/pr63563.c: New test.
2014-10-20 Yury Gribov <y.gribov@samsung.com>
Backported from mainline
......
/* PR tree-optimization/63563 */
/* { dg-do compile } */
/* { dg-options "-O3 -mavx2" } */
struct A { unsigned long a, b, c, d; } a[1024] = { { 0, 1, 2, 3 } }, b;
void
foo (void)
{
int i;
for (i = 0; i < 1024; i++)
{
a[i].a = a[i].b = a[i].c = b.c;
if (a[i].d)
a[i].d = b.d;
}
}
......@@ -2530,11 +2530,14 @@ vect_analyze_data_ref_accesses (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
over them. The we can just skip ahead to the next DR here. */
/* Check that the data-refs have same first location (except init)
and they are both either store or load (not load and store). */
and they are both either store or load (not load and store,
not masked loads or stores). */
if (DR_IS_READ (dra) != DR_IS_READ (drb)
|| !operand_equal_p (DR_BASE_ADDRESS (dra),
DR_BASE_ADDRESS (drb), 0)
|| !dr_equal_offsets_p (dra, drb))
|| !dr_equal_offsets_p (dra, drb)
|| !gimple_assign_single_p (DR_STMT (dra))
|| !gimple_assign_single_p (DR_STMT (drb)))
break;
/* Check that the data-refs have the same constant size and step. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment