public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] testsuite/vect: Add target checks to refined patterns [PR113558]
@ 2024-01-24 14:40 Robin Dapp
  2024-01-24 19:46 ` Jeff Law
  0 siblings, 1 reply; 3+ messages in thread
From: Robin Dapp @ 2024-01-24 14:40 UTC (permalink / raw)
  To: gcc-patches; +Cc: rdapp.gcc, ro

Hi,

on Solaris/SPARC several vector tests appeared to be regressing.  They
were never vectorized but the checks before r14-3612-ge40edf64995769
would match regardless if a loop was actually vectorized or not.
The refined checks only match a successful vectorization attempt
but are run unconditionally.  This patch adds target checks to them.

Bootstrapped (unnecessarily) and regtested on x86, aarch64 and
power10.  Regtested on riscv and (the previous version that 
missed vect-reduc-pattern-2a.c) on Solaris/SPARC by Rainer Orth.

Is this OK if Rainer's second run is successful?

Regards
 Robin

gcc/testsuite/ChangeLog:

	PR testsuite/113558

	* gcc.dg/vect/no-scevccp-outer-7.c: Add target check.
	* gcc.dg/vect/vect-outer-4c-big-array.c: Ditto.
	* gcc.dg/vect/vect-reduc-dot-s16a.c: Ditto.
	* gcc.dg/vect/vect-reduc-dot-s8a.c: Ditto.
	* gcc.dg/vect/vect-reduc-dot-s8b.c: Ditto.
	* gcc.dg/vect/vect-reduc-dot-u16b.c: Ditto.
	* gcc.dg/vect/vect-reduc-dot-u8a.c: Ditto.
	* gcc.dg/vect/vect-reduc-dot-u8b.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-1a.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-2a.c: Ditto.
	* gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto.
	* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Ditto.
---
 gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c              | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-outer-4c-big-array.c         | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c             | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c              | 4 ++--
 gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c              | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c             | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c              | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c              | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1a.c           | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b-big-array.c | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1c-big-array.c | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2a.c           | 2 +-
 gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b-big-array.c | 2 +-
 gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c        | 4 ++--
 14 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c b/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c
index 058d1d2db2d..87048422013 100644
--- a/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c
+++ b/gcc/testsuite/gcc.dg/vect/no-scevccp-outer-7.c
@@ -77,4 +77,4 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED." 1 "vect" { target vect_widen_mult_hi_to_si } } } */
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target vect_widen_mult_hi_to_si } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-outer-4c-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-outer-4c-big-array.c
index 5c3eea95476..4aaf2932006 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-outer-4c-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-outer-4c-big-array.c
@@ -24,4 +24,4 @@ foo (){
 }
 
 /* { dg-final { scan-tree-dump-times "OUTER LOOP VECTORIZED" 1 "vect" { target { vect_short_mult && { ! vect_no_align } } } } } */
-/* { dg-final { scan-tree-dump-times "zero step in outer loop.(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "zero step in outer loop.(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_short_mult && { ! vect_no_align } } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c
index d826828e3d6..86fdcf37df8 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s16a.c
@@ -51,7 +51,7 @@ main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_sdot_hi || vect_widen_mult_hi_to_si } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_sdot_hi } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_mult_hi_to_si } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c
index 4e1e0b234f4..99c53d0ff02 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8a.c
@@ -55,8 +55,8 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_sdot_qi || { vect_widen_mult_qi_to_hi && vect_widen_sum_hi_to_si } } } } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_sdot_qi || { vect_widen_mult_qi_to_hi && vect_widen_sum_hi_to_si } } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_sdot_qi } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_mult_qi_to_hi && vect_widen_sum_hi_to_si } } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
index cb88ad5b639..f66f8ddfbc0 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-s8b.c
@@ -54,7 +54,7 @@ int main (void)
 }
 
 /* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { xfail *-*-* } } } */
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target vect_widen_mult_qi_to_hi } } } */
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_mult_qi_to_hi } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c
index be9ed905b00..e6b88423cf0 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u16b.c
@@ -46,6 +46,6 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_pack_trunc || vect_udot_hi } } } } */
 
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_pack_trunc || vect_udot_hi } } } } */ 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c
index 969cdafe4a7..f81562b7e65 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8a.c
@@ -53,7 +53,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_udot_qi || { vect_widen_mult_qi_to_hi && vect_widen_sum_qi_to_si } } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_udot_qi } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_mult_qi_to_hi && vect_widen_sum_qi_to_si } } } } */
 
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c
index 35627ba4d53..3d04fa0a0bc 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-dot-u8b.c
@@ -45,7 +45,7 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { { vect_widen_mult_qi_to_hi } || { vect_udot_qi || vect_unpack } } } } } */
 
 /* When the vectorizer is enhanced to vectorize accumulation into short for 
    targets that support accumulation into int (powerpc, ia64) we'd have:
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1a.c
index eef8b8d29b6..2a1b07a515a 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1a.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1a.c
@@ -41,6 +41,6 @@ main (void)
   return foo ();
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target vect_widen_sum_hi_to_si  } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_sum_hi_to_si } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_hi_to_si } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b-big-array.c
index 561ed00c77f..6f9735f6f05 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1b-big-array.c
@@ -41,6 +41,6 @@ main (void)
   return foo ();
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_widen_sum_qi_to_si || vect_unpack } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_sum_qi_to_si || vect_unpack } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { { ! vect_widen_sum_qi_to_si } && { ! vect_unpack } } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1c-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1c-big-array.c
index cdccd1a3202..9b503502756 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1c-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-1c-big-array.c
@@ -41,6 +41,6 @@ main (void)
   return foo ();
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target vect_widen_sum_qi_to_hi } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_sum_qi_to_hi } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_qi_to_hi } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2a.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2a.c
index 3f23cb859e5..c77e29a80b1 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2a.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2a.c
@@ -41,6 +41,6 @@ main (void)
   return foo ();
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target vect_widen_sum_hi_to_si } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target vect_widen_sum_hi_to_si } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { ! vect_widen_sum_hi_to_si } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b-big-array.c b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b-big-array.c
index c69a8896e5e..d9d448292a1 100644
--- a/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b-big-array.c
+++ b/gcc/testsuite/gcc.dg/vect/vect-reduc-pattern-2b-big-array.c
@@ -42,6 +42,6 @@ main (void)
   return foo ();
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_sum_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_widen_sum_qi_to_si && vect_unpack } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" { target { vect_widen_sum_qi_to_si && vect_unpack } } } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 0 "vect" { target { { ! vect_widen_sum_qi_to_si } && { ! vect_unpack } } } } } */
diff --git a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
index 751352649ce..24858e16281 100644
--- a/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
+++ b/gcc/testsuite/gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c
@@ -46,8 +46,8 @@ int main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
-/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_dot_prod_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_widen_mult_qi_to_hi || vect_unpack } } } } */
+/* { dg-final { scan-tree-dump-times "vect_recog_widen_mult_pattern: detected(?:(?!failed)(?!Re-trying).)*succeeded" 1 "vect" { target { vect_widen_mult_qi_to_hi || vect_unpack } } } } */
 
 /* When vectorizer is enhanced to vectorize accumulation into short for targets 
    that support accumulation into int (e.g. ia64) we'd have:
-- 
2.43.0

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

* Re: [PATCH] testsuite/vect: Add target checks to refined patterns [PR113558]
  2024-01-24 14:40 [PATCH] testsuite/vect: Add target checks to refined patterns [PR113558] Robin Dapp
@ 2024-01-24 19:46 ` Jeff Law
  2024-01-24 20:24   ` Rainer Orth
  0 siblings, 1 reply; 3+ messages in thread
From: Jeff Law @ 2024-01-24 19:46 UTC (permalink / raw)
  To: Robin Dapp, gcc-patches; +Cc: ro



On 1/24/24 07:40, Robin Dapp wrote:
> Hi,
> 
> on Solaris/SPARC several vector tests appeared to be regressing.  They
> were never vectorized but the checks before r14-3612-ge40edf64995769
> would match regardless if a loop was actually vectorized or not.
> The refined checks only match a successful vectorization attempt
> but are run unconditionally.  This patch adds target checks to them.
> 
> Bootstrapped (unnecessarily) and regtested on x86, aarch64 and
> power10.  Regtested on riscv and (the previous version that
> missed vect-reduc-pattern-2a.c) on Solaris/SPARC by Rainer Orth.
> 
> Is this OK if Rainer's second run is successful?
> 
> Regards
>   Robin
> 
> gcc/testsuite/ChangeLog:
> 
> 	PR testsuite/113558
> 
> 	* gcc.dg/vect/no-scevccp-outer-7.c: Add target check.
> 	* gcc.dg/vect/vect-outer-4c-big-array.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-dot-s16a.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-dot-s8a.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-dot-s8b.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-dot-u16b.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-dot-u8a.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-dot-u8b.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-pattern-1a.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-pattern-2a.c: Ditto.
> 	* gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto.
> 	* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Ditto.
Yes, OK if Rainer's run is successful.  If you need to make similiar 
changes to other tests, consider them pre-approved.

jeff

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

* Re: [PATCH] testsuite/vect: Add target checks to refined patterns [PR113558]
  2024-01-24 19:46 ` Jeff Law
@ 2024-01-24 20:24   ` Rainer Orth
  0 siblings, 0 replies; 3+ messages in thread
From: Rainer Orth @ 2024-01-24 20:24 UTC (permalink / raw)
  To: Jeff Law; +Cc: Robin Dapp, gcc-patches

Hi Jeff,

> On 1/24/24 07:40, Robin Dapp wrote:
>> Hi,
>> on Solaris/SPARC several vector tests appeared to be regressing.  They
>> were never vectorized but the checks before r14-3612-ge40edf64995769
>> would match regardless if a loop was actually vectorized or not.
>> The refined checks only match a successful vectorization attempt
>> but are run unconditionally.  This patch adds target checks to them.
>> Bootstrapped (unnecessarily) and regtested on x86, aarch64 and
>> power10.  Regtested on riscv and (the previous version that
>> missed vect-reduc-pattern-2a.c) on Solaris/SPARC by Rainer Orth.
>> Is this OK if Rainer's second run is successful?
>> Regards
>>   Robin
>> gcc/testsuite/ChangeLog:
>> 	PR testsuite/113558
>> 	* gcc.dg/vect/no-scevccp-outer-7.c: Add target check.
>> 	* gcc.dg/vect/vect-outer-4c-big-array.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-dot-s16a.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-dot-s8a.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-dot-s8b.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-dot-u16b.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-dot-u8a.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-dot-u8b.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-pattern-1a.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-pattern-1b-big-array.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-pattern-1c-big-array.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-pattern-2a.c: Ditto.
>> 	* gcc.dg/vect/vect-reduc-pattern-2b-big-array.c: Ditto.
>> 	* gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c: Ditto.
> Yes, OK if Rainer's run is successful.  If you need to make similiar
> changes to other tests, consider them pre-approved.

sparc-sun-solaris2.11 testing just completed successfully.

Thanks.
        Rainer

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

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

end of thread, other threads:[~2024-01-24 20:24 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-01-24 14:40 [PATCH] testsuite/vect: Add target checks to refined patterns [PR113558] Robin Dapp
2024-01-24 19:46 ` Jeff Law
2024-01-24 20:24   ` 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).