From: Andreas Krebbel Date: Tue, 5 Nov 2019 15:26:19 +0000 (+0000) Subject: IBM Z: gen-vect-11/32: Set min-vect-loop-bound param back to default X-Git-Tag: releases/gcc-9.3.0~427 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7c182499255f6b87f58ba19cec8c98ef975948aa;p=thirdparty%2Fgcc.git 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 Backport from mainline 2019-11-05 Andreas Krebbel * 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 --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index dde8e96551a9..df6b79fd5fb3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2019-11-05 Andreas Krebbel + + Backport from mainline + 2019-11-05 Andreas Krebbel + + * 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 Backport from mainline 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 650e73a5ee89..dd1c0ac3eba6 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 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 8fce4385d0b4..2ec698968a98 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