On Fri, 17 Jan 2014, Jakub Jelinek wrote: > Hi! > > I believe the intent of these testcases was to verify the loops > are vectorized and don't need versioning for alias, which is the only thing > these constructs tell the compiler about. On some architectures, it is > possible the loops will need versioning for alignment (or peeling for > alignment or just using unaligned loads and/or stores in the vectorized > loop). > > Fixed thusly, bootstrapped/regtested on x86_64-linux and i686-linux, ok for > trunk?
Ok. Thanks, Richard. > 2014-01-17 Jakub Jelinek <ja...@redhat.com> > > PR testsuite/59064 > * gcc.dg/vect/vect-ivdep-1.c: Replace two dg-bogus lines separately > testing for " version" and " alias" with one testing for > " version\[^\n\r]* alias". > * gcc.dg/vect/vect-ivdep-2.c: Likewise. > * gfortran.dg/vect/vect-do-concurrent-1.f90: Likewise. > * g++.dg/vect/pr33426-ivdep.cc: Likewise. > * g++.dg/vect/pr33426-ivdep-2.cc: Likewise. > * g++.dg/vect/pr33426-ivdep-3.cc: Likewise. > * g++.dg/vect/pr33426-ivdep-4.cc: Adjust comments similarly. > > --- gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c.jj 2013-11-12 > 11:31:19.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c 2014-01-17 08:38:37.919749235 > +0100 > @@ -14,6 +14,5 @@ void foo(int n, int *a, int *b, int *c, > } > > /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */ > -/* { dg-bogus " version" "" { target *-*-* } 0 } */ > -/* { dg-bogus " alias" "" { target *-*-* } 0 } */ > +/* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > --- gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c.jj 2013-11-12 > 11:31:19.000000000 +0100 > +++ gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c 2014-01-17 08:38:55.854652038 > +0100 > @@ -30,6 +30,5 @@ void bar(int n, int *a, int *b, int *c) > > > /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */ > -/* { dg-bogus " version" "" { target *-*-* } 0 } */ > -/* { dg-bogus " alias" "" { target *-*-* } 0 } */ > +/* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > --- gcc/testsuite/gfortran.dg/vect/vect-do-concurrent-1.f90.jj > 2013-11-12 11:31:16.000000000 +0100 > +++ gcc/testsuite/gfortran.dg/vect/vect-do-concurrent-1.f90 2014-01-17 > 08:41:58.744714758 +0100 > @@ -12,6 +12,5 @@ subroutine test(n, a, b, c) > end subroutine test > > ! { dg-message "loop vectorized" "" { target *-*-* } 0 } > -! { dg-bogus " version" "" { target *-*-* } 0 } > -! { dg-bogus " alias" "" { target *-*-* } 0 } > +! { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } > ! { dg-final { cleanup-tree-dump "vect" } } > --- gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc.jj 2013-11-12 > 11:31:20.000000000 +0100 > +++ gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc 2014-01-17 > 08:40:08.534286245 +0100 > @@ -14,6 +14,5 @@ void foo(int n, int *a, int *b, int *c, > } > > /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */ > -/* { dg-bogus " version" "" { target *-*-* } 0 } */ > -/* { dg-bogus " alias" "" { target *-*-* } 0 } */ > +/* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > --- gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc.jj 2013-11-12 > 11:31:20.000000000 +0100 > +++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc 2014-01-17 > 08:40:23.557207616 +0100 > @@ -29,8 +29,7 @@ void bar(int n, int *a, int *b, int *c) > } > > /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */ > -/* { dg-bogus " version" "" { target *-*-* } 0 } */ > -/* { dg-bogus " alias" "" { target *-*-* } 0 } */ > +/* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 2 "original" } } */ > --- gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc.jj 2013-11-12 > 11:31:20.000000000 +0100 > +++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc 2014-01-17 > 08:40:31.833150629 +0100 > @@ -15,8 +15,7 @@ void foo(int *a) { > } > > /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */ > -/* { dg-bogus " version" "" { target *-*-* } 0 } */ > -/* { dg-bogus " alias" "" { target *-*-* } 0 } */ > +/* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 1 "original" } } */ > --- gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc.jj 2013-11-12 > 11:31:20.000000000 +0100 > +++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc 2014-01-17 > 08:40:56.073057959 +0100 > @@ -20,8 +20,7 @@ void foo(std::vector<int> *ar, int *b) { > } > > /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */ > -/* FIXME: dg-bogus " version" "" { target *-*-* } 0 */ > -/* FIXME: dg-bogus " alias" "" { target *-*-* } 0 */ > +/* FIXME: dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 */ > /* { dg-final { cleanup-tree-dump "vect" } } */ > > /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 1 "original" } } */ > > Jakub > > -- Richard Biener <rguent...@suse.de> SUSE / SUSE Labs SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746 GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer