On Tue, Mar 30, 2021 at 5:01 PM Jakub Jelinek <ja...@redhat.com> wrote: > > 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.
OK. > 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 >