* [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).