public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH] s390: testsuite: Fix loop-interchange-16.c
@ 2024-04-11  7:00 Stefan Schulze Frielinghaus
  2024-04-11  7:17 ` Richard Biener
  0 siblings, 1 reply; 3+ messages in thread
From: Stefan Schulze Frielinghaus @ 2024-04-11  7:00 UTC (permalink / raw)
  To: krebbel, gcc-patches; +Cc: Stefan Schulze Frielinghaus

Revert parameter max-completely-peel-times to 16, otherwise, the
innermost loop is removed and we are left with no loop interchange which
this test is all about.

gcc/testsuite/ChangeLog:

	* gcc.dg/tree-ssa/loop-interchange-16.c: Revert parameter
	max-completely-peel-times for s390.
---
 Ok for mainline?

 gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
index 781555e085d..2530ec84bc0 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
@@ -1,6 +1,7 @@
 /* PR/101280 */
 /* { dg-do compile } */
 /* { dg-options "-O3 -fdump-tree-linterchange-details" } */
+/* { dg-additional-options "--param max-completely-peel-times=16" { target s390*-*-* } } */
 
 void dummy (double *, double *);
 #define LEN_2D 32
-- 
2.43.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] s390: testsuite: Fix loop-interchange-16.c
  2024-04-11  7:00 [PATCH] s390: testsuite: Fix loop-interchange-16.c Stefan Schulze Frielinghaus
@ 2024-04-11  7:17 ` Richard Biener
  2024-04-11  7:46   ` [PATCH] " Stefan Schulze Frielinghaus
  0 siblings, 1 reply; 3+ messages in thread
From: Richard Biener @ 2024-04-11  7:17 UTC (permalink / raw)
  To: Stefan Schulze Frielinghaus; +Cc: krebbel, gcc-patches

On Thu, Apr 11, 2024 at 9:02 AM Stefan Schulze Frielinghaus
<stefansf@linux.ibm.com> wrote:
>
> Revert parameter max-completely-peel-times to 16, otherwise, the
> innermost loop is removed and we are left with no loop interchange which
> this test is all about.
>
> gcc/testsuite/ChangeLog:
>
>         * gcc.dg/tree-ssa/loop-interchange-16.c: Revert parameter
>         max-completely-peel-times for s390.
> ---
>  Ok for mainline?

Can you check whether placing

#pragma GCC unroll 0

before the innermost loop works as well?  That'd be more to the point.

OK if that works.

thanks,
Richard.

>  gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
> index 781555e085d..2530ec84bc0 100644
> --- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
> +++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
> @@ -1,6 +1,7 @@
>  /* PR/101280 */
>  /* { dg-do compile } */
>  /* { dg-options "-O3 -fdump-tree-linterchange-details" } */
> +/* { dg-additional-options "--param max-completely-peel-times=16" { target s390*-*-* } } */
>
>  void dummy (double *, double *);
>  #define LEN_2D 32
> --
> 2.43.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [PATCH] testsuite: Fix loop-interchange-16.c
  2024-04-11  7:17 ` Richard Biener
@ 2024-04-11  7:46   ` Stefan Schulze Frielinghaus
  0 siblings, 0 replies; 3+ messages in thread
From: Stefan Schulze Frielinghaus @ 2024-04-11  7:46 UTC (permalink / raw)
  To: Richard Biener, gcc-patches; +Cc: Stefan Schulze Frielinghaus

Yes, that works, too.  Will commit.

Thanks,
Stefan

--

Prevent loop unrolling of the innermost loop because otherwise we are
left with no loop interchange for targets like s390 which have a more
aggressive loop unrolling strategy.

gcc/testsuite/ChangeLog:

	* gcc.dg/tree-ssa/loop-interchange-16.c: Prevent loop unrolling
	of the innermost loop.
---
 gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
index 781555e085d..bbcb14f9c6c 100644
--- a/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
+++ b/gcc/testsuite/gcc.dg/tree-ssa/loop-interchange-16.c
@@ -11,6 +11,7 @@ double s231(int iterations)
 //    loop with data dependency
     for (int nl = 0; nl < 100*(iterations/LEN_2D); nl++) {
         for (int i = 0; i < LEN_2D; ++i) {
+#pragma GCC unroll 0
             for (int j = 1; j < LEN_2D; j++) {
                 aa[j][i] = aa[j - 1][i] + bb[j][i];
             }
-- 
2.43.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-04-11  7:48 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-11  7:00 [PATCH] s390: testsuite: Fix loop-interchange-16.c Stefan Schulze Frielinghaus
2024-04-11  7:17 ` Richard Biener
2024-04-11  7:46   ` [PATCH] " Stefan Schulze Frielinghaus

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).