From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by sourceware.org (Postfix) with ESMTP id B0ED33858C2F for ; Mon, 16 Jan 2023 10:41:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org B0ED33858C2F Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.crashing.org Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 30GAeqfC017442; Mon, 16 Jan 2023 04:40:52 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 30GAepaF017439; Mon, 16 Jan 2023 04:40:51 -0600 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Mon, 16 Jan 2023 04:40:51 -0600 From: Segher Boessenkool To: "Kewen.Lin" Cc: GCC Patches , David Edelsohn , Peter Bergner Subject: Re: [PATCH] rs6000: Teach rs6000_opaque_type_invalid_use_p about gcall [PR108348] Message-ID: <20230116104051.GG25951@gate.crashing.org> References: <1ea87e1b-7caf-59dd-ff1a-8f282a2dae14@linux.ibm.com> <20230116084907.GE25951@gate.crashing.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi! On Mon, Jan 16, 2023 at 05:20:56PM +0800, Kewen.Lin wrote: > on 2023/1/16 16:49, Segher Boessenkool wrote: > >> +/* { dg-require-effective-target powerpc_p9modulo_ok } */ > > > > Please use a saner selector? If one doesn't exist yet, make a new one? > > Something that just says "p9", not "modulo". > > The has_arch_pwr9 looks not suitable here as it doesn't check > the assembler behavior? ? What assembler behaviour? > Do you have some instruction in mind > for being used as the tested instruction mnemonic like modsw? It should not test *any* instruction? Ah. There is no *_ok wanted or needed at all. You simply are required to use a new enough binutils to fit your GCC. During development you probably want something, but that should not end up in the public trees. You can always use -mcpu=power9. If your toolchain is broken that will throw some pretty obvious errors your way; this is fine. A user can always say -mcpu=power9. The *_ok things should only be used for features that can be disabled during configuration, or features that we *want* users to be able to turn off (like FP, VMX, VSX, or HMT or QP float, that kind of thing). That gives quite enough permutations to test already, we do not need to create a whole bunch extra for no reason :-) > Maybe later we can deprecate -mmodulo like we get rid of > -mdirect-move, then we can rename p9modulo_ok to p9_ok here? :) We can (and should!) make that compiler flag a stub, yes. But currently it is used in places as a sneaky way to do -mcpu=power9. So it is a bit more work :-( Segher