diff mbox series

Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2)

Message ID 20181210120019.GY12380@tucnak
State New
Headers show
Series Fix *ivdep* tests on SPARC etc. (PR testsuite/88369, take 2) | expand

Commit Message

Jakub Jelinek Dec. 10, 2018, noon UTC
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.



	Jakub

Comments

Rainer Orth Dec. 10, 2018, 12:15 p.m. UTC | #1
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
diff mbox series

Patch

--- 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" } } */