On Thu, 7 Dec 2023, Hans-Peter Nilsson wrote:
> > Date: Mon, 4 Dec 2023 12:58:03 +0100 (CET)
> > From: Richard Biener <[email protected]>
>
> > On Sat, 2 Dec 2023, Hans-Peter Nilsson wrote:
> > > > Date: Fri, 1 Dec 2023 08:07:14 +0100 (CET)
> > > > From: Richard Biener <[email protected]>
> > > > I read from your messages that the testcases pass on arm*-*-*?
> > > Yes: they pass (currently XPASS) on arm-eabi and
> > > arm-unknown-linux-gnueabi, default configurations. But,
> > > scev-3 and -5 fail with for example -mcpu=cortex-r5
> >
> > I see. As said, the testcases test for "cost" things, so that we
> > "regressed" might mean we really "regressed" here. Even the x86 -m32
> > result is questionable.
> >
> > Of course whether using a single IV makes sense for all archs is
> > unknown.
> >
> > Btw, if we turn the testcases into ones that are (sub-)target
> > specific then we want to again use C code as input.
> >
> > I think at this point we've lost track and I'm juggling between
> > removing the testcases or moving them to a place they succeed
> > (with some specific -mcpu=?)
> >
> > Richard.
>
> So to not drop the ball(s) on this, here's a patch with your
> first alternative: remove them.
>
> Ok?
OK.
Thanks,
Richard.
> -- >8 --
> Subject: [PATCH] testsuite: Remove gcc.dg/tree-ssa/scev-3.c -4.c and 5.c
>
> These tests were recently xfailed on ilp32 targets though
> passing on almost all ilp32 targets (known exceptions: ia32
> and some arm subtargets). They've been changed around too
> much to remain useful.
>
> PR testsuite/112786
> * gcc.dg/tree-ssa/scev-3.c, gcc.dg/tree-ssa/scev-4.c,
> gcc.dg/tree-ssa/scev-5.c: Remove.
> ---
> gcc/testsuite/gcc.dg/tree-ssa/scev-3.c | 44 -----------------------
> gcc/testsuite/gcc.dg/tree-ssa/scev-4.c | 49 --------------------------
> gcc/testsuite/gcc.dg/tree-ssa/scev-5.c | 44 -----------------------
> 3 files changed, 137 deletions(-)
> delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/scev-3.c
> delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/scev-4.c
> delete mode 100644 gcc/testsuite/gcc.dg/tree-ssa/scev-5.c
>
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c
> b/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c
> deleted file mode 100644
> index beea9aed9fe9..000000000000
> --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-3.c
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -/* { dg-do compile } */
> -/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */
> -
> -int *a_p;
> -int a[1000];
> -
> -void __GIMPLE (ssa,startwith ("loop"))
> -f (int k)
> -{
> - int i;
> - int * _1;
> -
> -__BB(2):
> - i_5 = k_4(D);
> - if (i_5 <= 999)
> - goto __BB4;
> - else
> - goto __BB3;
> -
> -__BB(3):
> - return;
> -
> -__BB(4):
> - goto __BB5;
> -
> -__BB(5):
> - i_12 = __PHI (__BB6: i_9, __BB4: i_5);
> - _1 = &a[i_12];
> - a_p = _1;
> - __MEM <int[1000]> ((int *)&a)[i_12] = 100;
> - i_9 = i_5 + i_12;
> - if (i_9 <= 999)
> - goto __BB6;
> - else
> - goto __BB3;
> -
> -__BB(6):
> - ;
> - goto __BB5;
> -
> -}
> -
> -/* Not all 32-bit systems fail this, but several do. */
> -/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" { xfail ilp32 } } } */
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c
> b/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c
> deleted file mode 100644
> index a97f75f81f65..000000000000
> --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-4.c
> +++ /dev/null
> @@ -1,49 +0,0 @@
> -/* { dg-do compile } */
> -/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */
> -
> -typedef struct {
> - int x;
> - int y;
> -} S;
> -
> -int *a_p;
> -S a[1000];
> -
> -void __GIMPLE (ssa, startwith ("loop"))
> -f (int k)
> -{
> - int i;
> - int * _1;
> -
> -__BB(2):
> - i_5 = k_4(D);
> - if (i_5 <= 999)
> - goto __BB4;
> - else
> - goto __BB3;
> -
> -__BB(3):
> - return;
> -
> -__BB(4):
> - goto __BB5;
> -
> -__BB(5):
> - i_12 = __PHI (__BB6: i_9, __BB4: i_5);
> - _1 = &a[i_12].y;
> - a_p = _1;
> - __MEM <S[1000]> ((int *)&a)[i_12].y = 100;
> - i_9 = i_5 + i_12;
> - if (i_9 <= 999)
> - goto __BB6;
> - else
> - goto __BB3;
> -
> -__BB(6):
> - ;
> - goto __BB5;
> -
> -}
> -
> -/* Not all 32-bit systems fail this, but several do. */
> -/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" { xfail ilp32 } } } */
> diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c
> b/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c
> deleted file mode 100644
> index 08f4260403c4..000000000000
> --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-5.c
> +++ /dev/null
> @@ -1,44 +0,0 @@
> -/* { dg-do compile } */
> -/* { dg-options "-O2 -fgimple -fdump-tree-ivopts" } */
> -
> -int *a_p;
> -int a[1000];
> -
> -void __GIMPLE (ssa,startwith ("loop"))
> -f (int k)
> -{
> - long long int i;
> - int * _1;
> -
> -__BB(2):
> - i_5 = (long long int) k_4(D);
> - if (i_5 <= 999ll)
> - goto __BB4;
> - else
> - goto __BB3;
> -
> -__BB(3):
> - return;
> -
> -__BB(4):
> - goto __BB5;
> -
> -__BB(5):
> - i_12 = __PHI (__BB6: i_9, __BB4: i_5);
> - _1 = &a[i_12];
> - a_p = _1;
> - __MEM <int[1000]> ((int *)&a)[i_12] = 100;
> - i_9 = i_5 + i_12;
> - if (i_9 <= 999ll)
> - goto __BB6;
> - else
> - goto __BB3;
> -
> -__BB(6):
> - ;
> - goto __BB5;
> -
> -}
> -
> -/* Not all 32-bit systems fail this, but several do. */
> -/* { dg-final { scan-tree-dump-times "&a" 1 "ivopts" { xfail ilp32 } } } */
>
--
Richard Biener <[email protected]>
SUSE Software Solutions Germany GmbH,
Frankenstrasse 146, 90461 Nuernberg, Germany;
GF: Ivo Totev, Andrew McDonald, Werner Knoblich; (HRB 36809, AG Nuernberg)