public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369)
@ 2018-12-06  7:07 Jakub Jelinek
  2018-12-10 12:00 ` [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2) Jakub Jelinek
  0 siblings, 1 reply; 3+ messages in thread
From: Jakub Jelinek @ 2018-12-06  7:07 UTC (permalink / raw)
  To: Rainer Orth, Mike Stump; +Cc: gcc-patches

Hi!

On (at least some of these) tests and on some targets, GCC prints messages
like:
./cc1 -quiet -O3 -fopt-info-vec-optimized -mvis vect-ivdep-1.c
vect-ivdep-1.c:11:3: optimized: loop vectorized using 8 byte vectors
vect-ivdep-1.c:11:3: optimized:  loop versioned for vectorization to enhance alignment
and the versioning for alignment message according to this PR makes those
tests FAIL.  We just want to make sure in these testcases we don't version
for alias, so this patch just prunes the versioning for alignment
diagnostics.

Bootstrapped/regtested on x86_64-linux and i686-linux, does it work on SPARC
and ok for trunk in that case?

2018-12-06  Jakub Jelinek  <jakub@redhat.com>

	PR testsuite/88369
	* gcc.dg/vect/vect-ivdep-1.c: Prune versioning for alignment messages.
	* gcc.dg/vect/vect-ivdep-2.c: 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: Likewise.

--- gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c.jj	2015-05-29 15:04:27.894882932 +0200
+++ gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c	2018-12-05 17:37:54.032485003 +0100
@@ -15,3 +15,4 @@ void foo(int n, int *a, int *b, int *c,
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
--- gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c.jj	2015-05-29 15:04:27.908882716 +0200
+++ gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c	2018-12-05 17:38:00.528377814 +0100
@@ -31,3 +31,4 @@ void bar(int n, int *a, int *b, int *c)
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc.jj	2015-05-29 15:04:31.748823367 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc	2018-12-05 17:35:08.818212056 +0100
@@ -15,3 +15,4 @@ void foo(int n, int *a, int *b, int *c,
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc.jj	2015-05-29 15:04:31.739823506 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc	2018-12-05 17:35:28.772881921 +0100
@@ -30,6 +30,7 @@ void bar(int n, int *a, int *b, int *c)
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
 
 /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 2 "original" } } */
 /* { dg-final { scan-tree-dump-times "ANNOTATE " 2 "gimple" } } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc.jj	2015-05-29 15:04:31.747823383 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc	2018-12-05 17:37:10.182208572 +0100
@@ -17,6 +17,7 @@ void foo(int *a) {
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
 
 /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 1 "original" } } */
 /* { dg-final { scan-tree-dump-times "ANNOTATE " 1 "gimple" } } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc.jj	2015-05-29 15:04:31.740823491 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc	2018-12-05 17:37:43.715655239 +0100
@@ -22,6 +22,7 @@ void foo(std::vector<int> *ar, int *b) {
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* FIXME:     dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0  */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
 
 /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 1 "original" } } */
 /* { dg-final { scan-tree-dump-times "ANNOTATE " 1 "gimple" } } */

	Jakub

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2)
  2018-12-06  7:07 [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369) Jakub Jelinek
@ 2018-12-10 12:00 ` Jakub Jelinek
  2018-12-10 12:15   ` Rainer Orth
  0 siblings, 1 reply; 3+ messages in thread
From: Jakub Jelinek @ 2018-12-10 12:00 UTC (permalink / raw)
  To: Rainer Orth, Mike Stump; +Cc: gcc-patches

On Thu, Dec 06, 2018 at 08:07:30AM +0100, Jakub Jelinek wrote:
> On (at least some of these) tests and on some targets, GCC prints messages
> like:
> ./cc1 -quiet -O3 -fopt-info-vec-optimized -mvis vect-ivdep-1.c
> vect-ivdep-1.c:11:3: optimized: loop vectorized using 8 byte vectors
> vect-ivdep-1.c:11:3: optimized:  loop versioned for vectorization to enhance alignment
> and the versioning for alignment message according to this PR makes those
> tests FAIL.  We just want to make sure in these testcases we don't version
> for alias, so this patch just prunes the versioning for alignment
> diagnostics.
> 
> Bootstrapped/regtested on x86_64-linux and i686-linux, does it work on SPARC
> and ok for trunk in that case?

As mentioned in the PR, another testcase was missed, this patch modifies
that one too.  Ok for trunk?

2018-12-10  Jakub Jelinek  <jakub@redhat.com>

	PR testsuite/88369
	* gcc.dg/vect/vect-ivdep-1.c: Prune versioning for alignment messages.
	* gcc.dg/vect/vect-ivdep-2.c: Likewise.
	* gcc.dg/vect/nodump-vect-opt-info-1.c: 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: Likewise.

--- gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c.jj	2015-05-29 15:04:27.894882932 +0200
+++ gcc/testsuite/gcc.dg/vect/vect-ivdep-1.c	2018-12-05 17:37:54.032485003 +0100
@@ -15,3 +15,4 @@ void foo(int n, int *a, int *b, int *c,
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
--- gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c.jj	2015-05-29 15:04:27.908882716 +0200
+++ gcc/testsuite/gcc.dg/vect/vect-ivdep-2.c	2018-12-05 17:38:00.528377814 +0100
@@ -31,3 +31,4 @@ void bar(int n, int *a, int *b, int *c)
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
--- gcc/testsuite/gcc.dg/vect/nodump-vect-opt-info-1.c.jj	2018-09-29 18:03:11.562727541 +0200
+++ gcc/testsuite/gcc.dg/vect/nodump-vect-opt-info-1.c	2018-12-10 12:57:56.714484728 +0100
@@ -6,6 +6,7 @@ vadd (int *dst, int *op1, int *op2, int
 {
 /* { dg-optimized "loop vectorized" "" { target *-*-* } .+2 } */
 /* { dg-optimized "loop versioned for vectorization because of possible aliasing" "" { target *-*-* } .+1 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
   for (int i = 0; i < count; ++i)
     dst[i] = op1[i] + op2[i];
 }
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc.jj	2015-05-29 15:04:31.748823367 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep.cc	2018-12-05 17:35:08.818212056 +0100
@@ -15,3 +15,4 @@ void foo(int n, int *a, int *b, int *c,
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc.jj	2015-05-29 15:04:31.739823506 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-2.cc	2018-12-05 17:35:28.772881921 +0100
@@ -30,6 +30,7 @@ void bar(int n, int *a, int *b, int *c)
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
 
 /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 2 "original" } } */
 /* { dg-final { scan-tree-dump-times "ANNOTATE " 2 "gimple" } } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc.jj	2015-05-29 15:04:31.747823383 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-3.cc	2018-12-05 17:37:10.182208572 +0100
@@ -17,6 +17,7 @@ void foo(int *a) {
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* { dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0 } */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
 
 /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 1 "original" } } */
 /* { dg-final { scan-tree-dump-times "ANNOTATE " 1 "gimple" } } */
--- gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc.jj	2015-05-29 15:04:31.740823491 +0200
+++ gcc/testsuite/g++.dg/vect/pr33426-ivdep-4.cc	2018-12-05 17:37:43.715655239 +0100
@@ -22,6 +22,7 @@ void foo(std::vector<int> *ar, int *b) {
 
 /* { dg-message "loop vectorized" "" { target *-*-* } 0 } */
 /* FIXME:     dg-bogus " version\[^\n\r]* alias" "" { target *-*-* } 0  */
+/* { dg-prune-output " version\[^\n\r]* alignment" } */
 
 /* { dg-final { scan-tree-dump-times "ANNOTATE_EXPR " 1 "original" } } */
 /* { dg-final { scan-tree-dump-times "ANNOTATE " 1 "gimple" } } */


	Jakub

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2)
  2018-12-10 12:00 ` [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2) Jakub Jelinek
@ 2018-12-10 12:15   ` Rainer Orth
  0 siblings, 0 replies; 3+ messages in thread
From: Rainer Orth @ 2018-12-10 12:15 UTC (permalink / raw)
  To: Jakub Jelinek; +Cc: Mike Stump, gcc-patches

Hi Jakub,

> As mentioned in the PR, another testcase was missed, this patch modifies
> that one too.  Ok for trunk?
>
> 2018-12-10  Jakub Jelinek  <jakub@redhat.com>
>
> 	PR testsuite/88369
> 	* gcc.dg/vect/vect-ivdep-1.c: Prune versioning for alignment messages.
> 	* gcc.dg/vect/vect-ivdep-2.c: Likewise.
> 	* gcc.dg/vect/nodump-vect-opt-info-1.c: 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: Likewise.

> --- gcc/testsuite/gcc.dg/vect/nodump-vect-opt-info-1.c.jj	2018-09-29 18:03:11.562727541 +0200
> +++ gcc/testsuite/gcc.dg/vect/nodump-vect-opt-info-1.c	2018-12-10 12:57:56.714484728 +0100
> @@ -6,6 +6,7 @@ vadd (int *dst, int *op1, int *op2, int
>  {
>  /* { dg-optimized "loop vectorized" "" { target *-*-* } .+2 } */
>  /* { dg-optimized "loop versioned for vectorization because of possible aliasing" "" { target *-*-* } .+1 } */
> +/* { dg-prune-output " version\[^\n\r]* alignment" } */
>    for (int i = 0; i < count; ++i)
>      dst[i] = op1[i] + op2[i];
>  }

this is wrong: either move the dg-prune-output before the first
dg-optimized (preferably) or adjust the line number distances to account
for the additional line.

Ok with that fixed.

Thanks.
	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-12-10 12:15 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-06  7:07 [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369) Jakub Jelinek
2018-12-10 12:00 ` [PATCH] Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2) Jakub Jelinek
2018-12-10 12:15   ` Rainer Orth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).