On Tue, Mar 30, 2021 at 02:33:17PM +0200, Richard Biener via Gcc-patches wrote:
> > I don't know, perhaps.
> > Seems the target hook is only defined on
> > config/i386/i386.c:#undef TARGET_ZERO_CALL_USED_REGS
> > config/i386/i386.c:#define TARGET_ZERO_CALL_USED_REGS
> > ix86_zero_call_used_regs
> > config/sparc/sparc.c:#undef TARGET_ZERO_CALL_USED_REGS
> > config/sparc/sparc.c:#define TARGET_ZERO_CALL_USED_REGS
> > sparc_zero_call_used_regs
> > but apparently many of the tests actually succeed on various targets that
> > don't define those hooks. E.g. I haven't seen them to fail on aarch64,
> > on arm only the -10.c fails, on powerpc*/s390* all {8,9,10,11} fail (plus
> > 5 is skipped on power*-aix*).
> > On ia64 according to testresults {6,7,8,9,10,11} fail, some with ICEs.
> > On mipsel according to testresults {9,10,11} fail, some with ICEs.
> > On nvptx at least 1-9 succeed, 10-11 don't know, don't have assert.h around.
> >
> > So, do we want to fill in negative dg-skip-if for the 6-11 tests or
> > positive? In any case, is there any hope any of the maintainers or the
> > original submitter will change anything for GCC 12, or are we going to end
> > up with a very narrowly supported feature?
>
> It looks like the latter - I've seen no attempt by the original authors to
> make
> the feature work on more targets than they cared for.
So, like this instead?
I've kept {5,6,7} with aix,ia64,ia64 skipped because those seems like
outliers, it works pretty much everywhere but on those.
The rest have known good targets.
Tested on x86_64-linux, verified all tests are run there.
2021-03-30 Jakub Jelinek <[email protected]>
PR testsuite/97680
* c-c++-common/zero-scratch-regs-6.c: Skip on ia64.
* c-c++-common/zero-scratch-regs-7.c: Likewise.
* c-c++-common/zero-scratch-regs-8.c: Change from dg-skip-if of
selected unsupported triplets to all targets but selected triplets
of supported targets.
* c-c++-common/zero-scratch-regs-9.c: Likewise.
* c-c++-common/zero-scratch-regs-10.c: Likewise.
* c-c++-common/zero-scratch-regs-11.c: Likewise.
--- gcc/testsuite/c-c++-common/zero-scratch-regs-6.c.jj 2020-10-31
17:41:19.793739605 +0100
+++ gcc/testsuite/c-c++-common/zero-scratch-regs-6.c 2021-03-30
16:19:00.509582587 +0200
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-skip-if "not implemented" { ia64*-*-* } } */
/* { dg-options "-O2 -fzero-call-used-regs=all-gpr-arg" } */
#include "zero-scratch-regs-1.c"
--- gcc/testsuite/c-c++-common/zero-scratch-regs-7.c.jj 2020-10-31
17:41:19.793739605 +0100
+++ gcc/testsuite/c-c++-common/zero-scratch-regs-7.c 2021-03-30
16:19:12.059454807 +0200
@@ -1,4 +1,5 @@
/* { dg-do run } */
+/* { dg-skip-if "not implemented" { ia64*-*-* } } */
/* { dg-options "-O2 -fzero-call-used-regs=all-gpr" } */
#include "zero-scratch-regs-1.c"
--- gcc/testsuite/c-c++-common/zero-scratch-regs-8.c.jj 2020-11-11
01:46:03.392696119 +0100
+++ gcc/testsuite/c-c++-common/zero-scratch-regs-8.c 2021-03-30
16:21:28.453945834 +0200
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-skip-if "not implemented" { powerpc*-*-* } } */
+/* { dg-skip-if "not implemented" { ! { i?86*-*-* x86_64*-*-* sparc*-*-*
aarch64*-*-* arm*-*-* nvptx*-*-* } } } */
/* { dg-options "-O2 -fzero-call-used-regs=all-arg" } */
#include "zero-scratch-regs-1.c"
--- gcc/testsuite/c-c++-common/zero-scratch-regs-9.c.jj 2020-11-11
01:46:03.392696119 +0100
+++ gcc/testsuite/c-c++-common/zero-scratch-regs-9.c 2021-03-30
16:21:41.711799156 +0200
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-skip-if "not implemented" { powerpc*-*-* } } */
+/* { dg-skip-if "not implemented" { ! { i?86*-*-* x86_64*-*-* sparc*-*-*
aarch64*-*-* arm*-*-* nvptx*-*-* } } } */
/* { dg-options "-O2 -fzero-call-used-regs=all" } */
#include "zero-scratch-regs-1.c"
--- gcc/testsuite/c-c++-common/zero-scratch-regs-10.c.jj 2021-03-18
15:32:56.459617723 +0100
+++ gcc/testsuite/c-c++-common/zero-scratch-regs-10.c 2021-03-30
16:21:55.017651951 +0200
@@ -1,6 +1,5 @@
/* { dg-do run } */
-/* { dg-skip-if "not implemented" { powerpc*-*-* } } */
-/* { dg-skip-if "not implemented" { arm*-*-* } } */
+/* { dg-skip-if "not implemented" { ! { i?86*-*-* x86_64*-*-* sparc*-*-*
aarch64*-*-* nvptx*-*-* } } } */
/* { dg-options "-O2" } */
#include <assert.h>
--- gcc/testsuite/c-c++-common/zero-scratch-regs-11.c.jj 2020-11-11
01:46:03.392696119 +0100
+++ gcc/testsuite/c-c++-common/zero-scratch-regs-11.c 2021-03-30
16:22:04.439547999 +0200
@@ -1,5 +1,5 @@
/* { dg-do run } */
-/* { dg-skip-if "not implemented" { powerpc*-*-* } } */
+/* { dg-skip-if "not implemented" { ! { i?86*-*-* x86_64*-*-* sparc*-*-*
aarch64*-*-* arm*-*-* nvptx*-*-* } } } */
/* { dg-options "-O2 -fzero-call-used-regs=all" } */
#include "zero-scratch-regs-10.c"
Jakub