From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.3 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DA7BCC433E4 for ; Wed, 24 Mar 2021 15:55:44 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id EADF661A13 for ; Wed, 24 Mar 2021 15:55:43 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EADF661A13 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Received: from boromir.ozlabs.org (localhost [IPv6:::1]) by lists.ozlabs.org (Postfix) with ESMTP id 4F5CWL2SYbz3bsp for ; Thu, 25 Mar 2021 02:55:42 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; spf=permerror (SPF Permanent Error: Unknown mechanism found: ip:192.40.192.88/32) smtp.mailfrom=kernel.crashing.org (client-ip=63.228.1.57; helo=gate.crashing.org; envelope-from=segher@kernel.crashing.org; receiver=) Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by lists.ozlabs.org (Postfix) with ESMTP id 4F5CVy6CpKz30Bf for ; Thu, 25 Mar 2021 02:55:21 +1100 (AEDT) Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 12OFp7Vj004371; Wed, 24 Mar 2021 10:51:07 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 12OFp6Nv004370; Wed, 24 Mar 2021 10:51:06 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Wed, 24 Mar 2021 10:51:05 -0500 From: Segher Boessenkool To: Nicholas Piggin Subject: Re: [RFC PATCH 6/8] powerpc/mm/book3s64/hash: drop pre 2.06 tlbiel for clang Message-ID: <20210324155105.GZ16691@gate.crashing.org> References: <20210225031006.1204774-1-dja@axtens.net> <20210225031006.1204774-7-dja@axtens.net> <1616118111.i881ydq4h2.astroid@bobo.none> <7f7cafb5-e6c4-5015-5285-9f9ca25e52fb@csgroup.eu> <1616436133.s8792026fh.astroid@bobo.none> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1616436133.s8792026fh.astroid@bobo.none> User-Agent: Mutt/1.4.2.3i X-BeenThere: linuxppc-dev@lists.ozlabs.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux on PowerPC Developers Mail List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: llvmlinux@lists.linuxfoundation.org, linuxppc-dev@lists.ozlabs.org, Daniel Axtens Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Hi! On Tue, Mar 23, 2021 at 04:11:10AM +1000, Nicholas Piggin wrote: > The problem in this file is we generate 3 different tlbie and tlbiel > instructions with the same mnemonic corresponding to different ISA > versions. > > This might actually be the one good place to use .machine to make sure > the assembler generates the right thing. Yes, but then hide that in some macro. (And "the one good place"? I protest!) > I'm not entirely sure it is > foolproof because some of the times the instruction variant is inferred > by the number of arguments it has yet arguments can be implicit. PPC_ > define would be exactly explicit. The variants with fewer operands have those coded as 0 in the instruction. All of this is backwards compatible. > But if it can be made reasonably robust with .machine then I'd be okay > with that too. Since you should do a macro (or inline) for it anyway, you could just do .long, all the nastiness is in one place anyway then, it won't make much difference what you do. It should be documented there as well :-) Segher