[testsuite] Fix PR94019 to check vector char when vect_hw_misalign
authorKewen Lin <linkw@linux.ibm.com>
Mon, 9 Mar 2020 02:55:11 +0000 (21:55 -0500)
committerKewen Lin <linkw@linux.ibm.com>
Mon, 9 Mar 2020 02:55:11 +0000 (21:55 -0500)
As PR94019 shows, without misaligned vector access support but with
realign load, the vectorized loop will end up with realign scheme.
It generates mask (control vector) with return type vector signed
char which breaks the not check.

gcc/testsuite/ChangeLog

2020-03-09  Kewen Lin  <linkw@gcc.gnu.org>

    PR testsuite/94019
    * gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if
    it's without misaligned vector access support.

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vect/vect-over-widen-17.c

index 2126a24c3eae0dfd3380d00158732c09f5280c07..b72b9cb19285ccd8378e22221ec84ef189daa4d1 100644 (file)
@@ -1,3 +1,9 @@
+2020-03-09  Kewen Lin  <linkw@gcc.gnu.org>
+
+       PR testsuite/94019
+       * gcc.dg/vect/vect-over-widen-17.c: Don't expect vector char if it's
+       without misaligned vector access support.
+
 2020-03-09  Kewen Lin  <linkw@gcc.gnu.org>
 
        PR testsuite/94023
index 04482607b04b44a1fcee6ac7a80fea18ed37c913..333d74ac3e7bdf99cc22b8fc7e919e39af7d2ca4 100644 (file)
@@ -41,6 +41,9 @@ main (void)
 }
 
 /* { dg-final { scan-tree-dump-not {vect_recog_over_widening_pattern: detected} "vect" } } */
-/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" } } */
+/* On Power, if there is no vect_hw_misalign support, unaligned vector access
+   adopts realign_load scheme.  It requires rs6000_builtin_mask_for_load to
+   generate mask whose return type is vector char.  */
+/* { dg-final { scan-tree-dump-not {vector[^\n]*char} "vect" { target vect_hw_misalign } } } */
 /* { dg-final { scan-tree-dump-not {vector[^ ]* int} "vect" } } */
 /* { dg-final { scan-tree-dump-times "vectorized 1 loop" 1 "vect" } } */