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 <ja...@redhat.com> 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