diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 07128b1cde0..faae5f79dfd 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2015-11-26 Richard Biener + + PR testsuite/66799 + * gcc.dg/vect/pr20122.c (main): Do not align Kernel, do not + vectorize init loop and adjust expected outcome. + 2015-11-26 Richard Biener PR testsuite/67203 diff --git a/gcc/testsuite/gcc.dg/vect/pr20122.c b/gcc/testsuite/gcc.dg/vect/pr20122.c index 3316270efbc..4f1b7bd6c1e 100644 --- a/gcc/testsuite/gcc.dg/vect/pr20122.c +++ b/gcc/testsuite/gcc.dg/vect/pr20122.c @@ -36,12 +36,16 @@ int main (int argc, char **argv) { check_vect (); - short Kernel[8][24] __attribute__ ((__aligned__(__BIGGEST_ALIGNMENT__))); + short Kernel[8][24]; int k,i; for (k = 0; k<8; k++) - for (i = 0; i<24; i++) - Kernel[k][i] = 0; + for (i = 0; i<24; i++) + { + Kernel[k][i] = 0; + /* Don't get into the game of versioning vs. peeling. */ + __asm__ volatile ("" : : : "memory"); + } VecBug(Kernel); VecBug2(Kernel); @@ -49,7 +53,6 @@ int main (int argc, char **argv) return 0; } -/* The loops in VecBug and VecBug2 require versioning for alignment. - The loop in main is aligned. */ -/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 3 "vect" } } */ +/* The loops in VecBug and VecBug2 require versioning for alignment. */ +/* { dg-final { scan-tree-dump-times "vectorized 1 loops" 2 "vect" } } */ /* { dg-final { scan-tree-dump-times "Alignment of access forced using versioning" 2 "vect" { target { vect_no_align && { ! vect_hw_misalign } } } } } */