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 <quic_apin...@quicinc.com>
---
 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 } } } */
-- 
2.39.3

Reply via email to