[gcc/devel/omp/gcc-9] IBM Z: gen-vect-11/32: Set min-vect-loop-bound param back to default

Tobias Burnus burnus@gcc.gnu.org
Thu Mar 5 14:20:00 GMT 2020


https://gcc.gnu.org/g:7c182499255f6b87f58ba19cec8c98ef975948aa

commit 7c182499255f6b87f58ba19cec8c98ef975948aa
Author: Andreas Krebbel <krebbel@linux.ibm.com>
Date:   Tue Nov 5 15:26:19 2019 +0000

    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>
    
    	Backport from mainline
    	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.
    
    From-SVN: r277843

Diff:
---
 gcc/testsuite/ChangeLog                     | 9 +++++++++
 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-11.c | 6 +++++-
 gcc/testsuite/gcc.dg/tree-ssa/gen-vect-32.c | 4 ++++
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index dde8e96..df6b79f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -3,6 +3,15 @@
 	Backport from mainline
 	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>
+
+	Backport from mainline
+	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 8fce438..2ec6989 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 -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>



More information about the Gcc-cvs mailing list