This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix up ivdep/do concurrent testcases (PR testsuite/59064)
- From: Richard Biener <rguenther at suse dot de>
- To: Jakub Jelinek <jakub at redhat dot com>
- Cc: Tobias Burnus <burnus at net-b dot de>, Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>, gcc-patches at gcc dot gnu dot org
- Date: Fri, 17 Jan 2014 15:37:23 +0100 (CET)
- Subject: Re: [PATCH] Fix up ivdep/do concurrent testcases (PR testsuite/59064)
- Authentication-results: sourceware.org; auth=none
- References: <20140117140306 dot GD892 at tucnak dot redhat dot com>
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 <jakub@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 <rguenther@suse.de>
SUSE / SUSE Labs
SUSE LINUX Products GmbH - Nuernberg - AG Nuernberg - HRB 16746
GF: Jeff Hawn, Jennifer Guild, Felix Imend"orffer