aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndreas Krebbel <krebbel@linux.ibm.com>2019-11-05 13:29:13 +0000
committerAndreas Krebbel <krebbel@gcc.gnu.org>2019-11-05 13:29:13 +0000
commitd9adca6e663070311c73cbd7dc9d73e7713aa315 (patch)
tree7102426cb0ccd18ec5db324d670e62c7ad36c962 /gcc
parentd8e5ca292046561482b3aad266b1ac1558c9bd95 (diff)
downloadgcc-d9adca6e663070311c73cbd7dc9d73e7713aa315.zip
gcc-d9adca6e663070311c73cbd7dc9d73e7713aa315.tar.gz
gcc-d9adca6e663070311c73cbd7dc9d73e7713aa315.tar.bz2
IBM Z: gen-vect-11/32: Set min-vect-loop-bound param back to default
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c6
-rw-r--r--gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c4
3 files changed, 15 insertions, 1 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 2af8f73..b721e5d 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,11 @@
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
(check_effective_target_s390_useable_hw): Add inline asm for z14
and z15. Replace instruction for z13 with lochiz. Add register
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c
index 650e73a..dd1c0ac 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c
@@ -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>
diff --git a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c
index c4bee19..378dd0b 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c
@@ -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>