On Wed, Nov 04, 2020 at 01:58:26PM -0600, Qing Zhao wrote: > > On Nov 4, 2020, at 1:00 PM, Segher Boessenkool <seg...@kernel.crashing.org> > > wrote: > > On Wed, Nov 04, 2020 at 01:20:58PM +0000, Richard Sandiford wrote: > >> Tobias Burnus <tob...@codesourcery.com> writes: > >>> Three of the testcases fail on PowerPC: > >>> gcc.target/i386/zero-scratch-regs-{9,10,11}.c > >>> powerpc64le-linux-gnu/default/gcc.d/zero-scratch-regs-10.c:77:1: sorry, > >>> unimplemented: '-fzero-call-used_regs' not supported on this target > >>> > >>> Did you miss some dg-require-effective-target ? > >> > >> No, these are a signal to target maintainers that they need > >> to decide whether to add support or accept the status quo > >> (in which case a new effective-target will be needed). See: > >> https://urldefense.com/v3/__https://gcc.gnu.org/pipermail/gcc-patches/2020-October/557595.html__;!!GqivPVa7Brio!PD1t9rpXf7lNS8yVbiQckiR5w3bv1eqGZenzRGPMBTAlYpshdQ9qVR0JLhoeNFMg$ > >> : > >> > >> The new tests are likely to fail on some targets with the sorry() > >> message, but I think target maintainers are best placed to decide > >> whether (a) that's a fundamental restriction of the target and the > >> tests should just be skipped or (b) the target needs to implement > >> the new hook. > > > > But why are tests in gcc.target/i386/ run for other targets at all?! > > No, tests in gcc.target/i386 should not run for PowerPC. > > What Tobias Burnus mentioned are the following tests: > > powerpc64le-linux-gnu-gcc.sum:FAIL: c-c++-common/zero-scratch-regs-10.c > -Wc++-compat (test for excess errors) > powerpc64le-linux-gnu-gcc.sum:FAIL: c-c++-common/zero-scratch-regs-11.c > -Wc++-compat (test for excess errors) > powerpc64le-linux-gnu-gcc.sum:FAIL: c-c++-common/zero-scratch-regs-9.c > -Wc++-compat (test for excess errors) > powerpc64le-linux-gnu-g++.sum:FAIL: c-c++-common/zero-scratch-regs-10.c > -std=gnu++98 (test for excess errors) > powerpc64le-linux-gnu-g++.sum:FAIL: c-c++-common/zero-scratch-regs-10.c > -std=gnu++14 (test for excess errors) > powerpc64le-linux-gnu-g++.sum:FAIL: c-c++-common/zero-scratch-regs-10.c > -std=gnu++17 (test for excess errors) > powerpc64le-linux-gnu-g++.sum:FAIL: c-c++-common/zero-scratch-regs-10.c > -std=gnu++2a (test for excess errors) > powerpc64le-linux-gnu-g++.sum:FAIL: c-c++-common/zero-scratch-regs-11.c > -std=gnu++98 (test for excess errors) > > > They are under c-c++-common, not gcc.target/i386.
Ah, good. But the mail said > >>> Three of the testcases fail on PowerPC: > >>> gcc.target/i386/zero-scratch-regs-{9,10,11}.c > >>> powerpc64le-linux-gnu/default/gcc.d/zero-scratch-regs-10.c:77:1: sorry, > >>> unimplemented: '-fzero-call-used_regs' not supported on this target so :-) > These testing cases are added intentionaly on all platforms in order to check > whether the current middle-end default implementation for > -fzero-call-used-regs works on the specific platform. > > If the default implementation doesn’t work for the specific platform, for > example, on PowerPC, it’s better for the Maintainer of PowerPC to decide > Whether to skip these testing case on this platform or add a PowerPC > implementation. Yeah, we will deal with it. In stage 3 :-) Segher