From 48148a0bb6c05b68b9c8f867f5c5ee9d8f4dd996 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Mon, 22 Jan 2024 16:27:49 -0800 Subject: [PATCH] Fix some of vect-avg-*.c testcases The vect-avg-*.c testcases are trying to make sure the AVG internal function are used and not doing promotion to `vector unsigned short` but when V4QI is implemented, `vector(2) unsigned short` shows up in the detail dump file and causes the failure. To fix this checking the optimized dump instead of the vect dump for `vector unsigned short` to make sure the vectorizer does not do the promotion. Built and tested for aarch64-linux-gnu. gcc/testsuite/ChangeLog: * gcc.dg/vect/vect-avg-1.c: Check optimized dump for `vector *signed short` instead of the `vect` dump. * gcc.dg/vect/vect-avg-11.c: Likewise. * gcc.dg/vect/vect-avg-12.c: Likewise. * gcc.dg/vect/vect-avg-13.c: Likewise. * gcc.dg/vect/vect-avg-14.c: Likewise. * gcc.dg/vect/vect-avg-2.c: Likewise. * gcc.dg/vect/vect-avg-3.c: Likewise. * gcc.dg/vect/vect-avg-4.c: Likewise. * gcc.dg/vect/vect-avg-5.c: Likewise. * gcc.dg/vect/vect-avg-6.c: Likewise. * gcc.dg/vect/vect-avg-7.c: Likewise. * gcc.dg/vect/vect-avg-8.c: Likewise. Signed-off-by: Andrew Pinski --- gcc/testsuite/gcc.dg/vect/vect-avg-1.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-11.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-12.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-13.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-14.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-2.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-3.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-4.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-5.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-6.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-7.c | 3 ++- gcc/testsuite/gcc.dg/vect/vect-avg-8.c | 3 ++- 12 files changed, 24 insertions(+), 12 deletions(-) diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-1.c b/gcc/testsuite/gcc.dg/vect/vect-avg-1.c index 4a752cd7d57..052903762c9 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-1.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-1.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #include "tree-vect.h" @@ -44,5 +45,5 @@ main (void) /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-11.c b/gcc/testsuite/gcc.dg/vect/vect-avg-11.c index 0046f8ceb4e..e91be1175c9 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-11.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-11.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #include "tree-vect.h" @@ -54,5 +55,5 @@ main (void) /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-12.c b/gcc/testsuite/gcc.dg/vect/vect-avg-12.c index f40331ea1bf..cc64c589535 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-12.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-12.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS signed @@ -6,5 +7,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-13.c b/gcc/testsuite/gcc.dg/vect/vect-avg-13.c index 7957c0e4adc..ff55c01dc22 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-13.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-13.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS unsigned #define BIAS 1 @@ -7,5 +8,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_CEIL} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-14.c b/gcc/testsuite/gcc.dg/vect/vect-avg-14.c index 8ab11f74e94..4161a08161c 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-14.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-14.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS signed #define BIAS 1 @@ -7,5 +8,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_CEIL} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-2.c b/gcc/testsuite/gcc.dg/vect/vect-avg-2.c index b5586b5f013..a58122c9906 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-2.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-2.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS signed @@ -6,5 +7,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-3.c b/gcc/testsuite/gcc.dg/vect/vect-avg-3.c index 104fe961393..1ae689491e8 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-3.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-3.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS unsigned #define BIAS 1 @@ -7,5 +8,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_CEIL} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-4.c b/gcc/testsuite/gcc.dg/vect/vect-avg-4.c index 92181d7fc3d..87fb826a7fc 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-4.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-4.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS signed #define BIAS 1 @@ -7,5 +8,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_CEIL} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-5.c b/gcc/testsuite/gcc.dg/vect/vect-avg-5.c index 6bdaeff0d5a..73dcb369c9e 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-5.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-5.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #include "tree-vect.h" @@ -48,5 +49,5 @@ main (void) /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-6.c b/gcc/testsuite/gcc.dg/vect/vect-avg-6.c index efe97b8a5f1..2cf48a4cd34 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-6.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-6.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS signed @@ -6,5 +7,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_FLOOR} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-7.c b/gcc/testsuite/gcc.dg/vect/vect-avg-7.c index 62a8474f690..365ce7a3f7b 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-7.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-7.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS unsigned #define BIAS 1 @@ -7,5 +8,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_CEIL} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */ diff --git a/gcc/testsuite/gcc.dg/vect/vect-avg-8.c b/gcc/testsuite/gcc.dg/vect/vect-avg-8.c index cc7c4cde6b0..b8e4c04b068 100644 --- a/gcc/testsuite/gcc.dg/vect/vect-avg-8.c +++ b/gcc/testsuite/gcc.dg/vect/vect-avg-8.c @@ -1,4 +1,5 @@ /* { dg-require-effective-target vect_int } */ +/* { dg-additional-options "-fdump-tree-optimized" } */ #define SIGNEDNESS signed #define BIAS 1 @@ -7,5 +8,5 @@ /* { dg-final { scan-tree-dump "vect_recog_average_pattern: detected" "vect" } } */ /* { dg-final { scan-tree-dump {\.AVG_CEIL} "vect" { target vect_avg_qi } } } */ -/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "vect" { target vect_avg_qi } } } */ +/* { dg-final { scan-tree-dump-not {vector\([^\n]*short} "optimized" { target vect_avg_qi } } } */ /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" { target vect_avg_qi } } } */