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=-2.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,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 592B1C2BA19 for ; Sat, 18 Apr 2020 21:42:16 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (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 DA87821927 for ; Sat, 18 Apr 2020 21:42:14 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DA87821927 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 lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 494RJ402zmzDsP3 for ; Sun, 19 Apr 2020 07:42:12 +1000 (AEST) 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=) Authentication-Results: lists.ozlabs.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by lists.ozlabs.org (Postfix) with ESMTP id 494RFc6K5PzDrgv for ; Sun, 19 Apr 2020 07:40:03 +1000 (AEST) Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 03ILdsF2020160; Sat, 18 Apr 2020 16:39:54 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 03ILdr0X020159; Sat, 18 Apr 2020 16:39:53 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Sat, 18 Apr 2020 16:39:53 -0500 From: Segher Boessenkool To: Christophe Leroy Subject: Re: How to use "y" constraint in GCC inline powerpc assembly ? Message-ID: <20200418213953.GO26902@gate.crashing.org> References: <9fd93f18-652e-c301-f110-d9f07201330d@c-s.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <9fd93f18-652e-c301-f110-d9f07201330d@c-s.fr> 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: "linuxppc-dev@lists.ozlabs.org" Errors-To: linuxppc-dev-bounces+linuxppc-dev=archiver.kernel.org@lists.ozlabs.org Sender: "Linuxppc-dev" Hi! On Sat, Apr 18, 2020 at 08:28:53AM +0000, Christophe Leroy wrote: > I'd like to use cr instead of gpr to return error condition from > __get_user(). > > I saw in GCC doc > (https://gcc.gnu.org/onlinedocs/gcc/Machine-Constraints.html) that it is > possible to use "y" as constraint to refer to "Any condition register > field, cr0…cr7". > > I tried the test below, but it fails with "error: impossible register > constraint in 'asm'" > > How does "y" has to be used ? The same as "x". You cannot really use these constraints in asm, it's internal only. I'll remove it from the inline asm documentation. Thanks! (You should put the cr fields you use in an inline asm in its clobber list, i.e. "cr0" or "cr7"). Segher