IBM Z: gen-vect-11/32: Set min-vect-loop-bound param back to default
authorAndreas Krebbel <krebbel@linux.ibm.com>
Tue, 5 Nov 2019 13:29:13 +0000 (13:29 +0000)
committerAndreas Krebbel <krebbel@gcc.gnu.org>
Tue, 5 Nov 2019 13:29:13 +0000 (13:29 +0000)
In the Z backend we still set min-vect-loop-bound to 2 to work around
corner cases where awkward epilogue code gets generated in the
vectorizer.  This has a particular bad impact when vectorizing loops
with a low iteration count.  Due to this we do not vectorize the loop
in gen-vect-11/32 - what actually is a pity.

The patch sets min-vect-loop-bound back to the default value of 0 in
order to enable vectorization.

2019-11-05  Andreas Krebbel  <krebbel@linux.ibm.com>

* gcc.dg/tree-ssa/gen-vect-11.c: Add --param min-vect-loop-bound=0
for IBM Z.
* gcc.dg/tree-ssa/gen-vect-23.c: Likewise.

From-SVN: r277831

gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c
gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c

index 2af8f738dabf340277eaaaef8b9f7c237b5de32f..b721e5d1804f06ba8aac6638a2221c461288f046 100644 (file)
@@ -1,3 +1,9 @@
+2019-11-05  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+       * gcc.dg/tree-ssa/gen-vect-11.c: Add --param min-vect-loop-bound=0
+       for IBM Z.
+       * gcc.dg/tree-ssa/gen-vect-11.c: Likewise.
+
 2019-11-05  Andreas Krebbel  <krebbel@linux.ibm.com>
 
        * gcc.target/s390/s390.exp
index 650e73a5ee8931e0c3fd797ce26a7fa3f9c74054..dd1c0ac3eba67c9493a6527fb6a6d951bd70b2ab 100644 (file)
@@ -1,6 +1,10 @@
 /* { dg-do run { target vect_cmdline_needed } } */
 /* { dg-options "-O2 -ftree-vectorize -fwrapv -fdump-tree-vect-details -fvect-cost-model=dynamic" } */
-/* { dg-options "-O2 -ftree-vectorize -fwrapv -fdump-tree-vect-details -fvect-cost-model=dynamic -mno-sse" { target { i?86-*-* x86_64-*-* } } } */
+/* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
+/* The IBM Z backend sets the min-vect-loop-bound param to 2 to avoid
+   awkward epilogue code generation in some cases.  This line needs to
+   be removed after finding an alternate way to fix this.  */
+/* { dg-additional-options "--param min-vect-loop-bound=0" { target { s390*-*-* } } } */
 
 #include <stdlib.h>
 
index c4bee19b75aba447cca4d2c25092b8d8f2d1d297..378dd0b831cd5a0193045c0a9a430b2edb3fbb28 100644 (file)
@@ -1,6 +1,10 @@
 /* { dg-do run { target vect_cmdline_needed } } */
 /* { dg-options "-O2 -fno-tree-loop-distribute-patterns -ftree-vectorize -fdump-tree-vect-details -fno-vect-cost-model" } */
 /* { dg-additional-options "-mno-sse" { target { i?86-*-* x86_64-*-* } } } */
+/* The IBM Z backend sets the min-vect-loop-bound param to 2 to avoid
+   awkward epilogue code generation in some cases.  This line needs to
+   be removed after finding an alternate way to fix this.  */
+/* { dg-additional-options "--param min-vect-loop-bound=0" { target { s390*-*-* } } } */
 
 #include <stdlib.h>