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.
+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
}
/* { 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" } } */