Power9 added support for V16QImode SAD operations. While making the 
check_effective_target change I noticed that the tests will also pass on 
Power7/Power8 even though they don't have the optab support. The reason is the 
tests are only checking that the source pattern is recognized, not that a 
SAD_EXPR was actually generated. So I've updated the tests also.

Ok for trunk?

-Pat


testsuite/ChangeLog:
2019-02-19  Pat Haugen  <pthau...@us.ibm.com>

        * lib/target-supports.exp (check_effective_target_vect_usad_char):
        Add PowerPC support.
        * gcc.dg/vect/slp-reduc-sad.c: Update scan string.
        * gcc.dg/vect/vect-reduc-sad.c: Likewise.


Index: gcc/testsuite/lib/target-supports.exp
===================================================================
--- gcc/testsuite/lib/target-supports.exp       (revision 268784)
+++ gcc/testsuite/lib/target-supports.exp       (working copy)
@@ -5982,7 +5982,9 @@ proc check_effective_target_vect_usad_ch
       expr { [istarget i?86-*-*]
              || [istarget x86_64-*-*]
              || ([istarget aarch64*-*-*]
-                 && ![check_effective_target_aarch64_sve])}}]
+                 && ![check_effective_target_aarch64_sve])
+             || ([istarget powerpc*-*-*]
+                 && [check_p9vector_hw_available])}}]
 }
 
 # Return 1 if the target plus current options supports both signed
Index: gcc/testsuite/gcc.dg/vect/slp-reduc-sad.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/slp-reduc-sad.c   (revision 268784)
+++ gcc/testsuite/gcc.dg/vect/slp-reduc-sad.c   (working copy)
@@ -58,6 +58,6 @@ main ()
   return 0;
 }
 
-/* { dg-final { scan-tree-dump "vect_recog_sad_pattern: detected" "vect" } } */
+/* { dg-final { scan-tree-dump "sad pattern recognized" "vect" } } */
 /* { dg-final { scan-tree-dump "vectorizing stmts using SLP" "vect" } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */
Index: gcc/testsuite/gcc.dg/vect/vect-reduc-sad.c
===================================================================
--- gcc/testsuite/gcc.dg/vect/vect-reduc-sad.c  (revision 268784)
+++ gcc/testsuite/gcc.dg/vect/vect-reduc-sad.c  (working copy)
@@ -49,6 +49,6 @@ main (void)
   return 0;
 }
 
-/* { dg-final { scan-tree-dump-times "vect_recog_sad_pattern: detected" 1 
"vect" } } */
+/* { dg-final { scan-tree-dump-times "sad pattern recognized" 1 "vect" } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loops" 1 "vect" } } */

Reply via email to