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=-12.3 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=ham 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 733A2C4332F for ; Wed, 22 Sep 2021 15:14:06 +0000 (UTC) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (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 E2D71610A1 for ; Wed, 22 Sep 2021 15:14:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E2D71610A1 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=nongnu.org Received: from localhost ([::1]:53896 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mT3wj-0006yF-13 for qemu-devel@archiver.kernel.org; Wed, 22 Sep 2021 11:14:05 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:59346) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mT3vx-0006Hz-7B for qemu-devel@nongnu.org; Wed, 22 Sep 2021 11:13:17 -0400 Received: from mail-pg1-x536.google.com ([2607:f8b0:4864:20::536]:42638) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mT3vv-0003Xd-I6 for qemu-devel@nongnu.org; Wed, 22 Sep 2021 11:13:16 -0400 Received: by mail-pg1-x536.google.com with SMTP id q68so2975497pga.9 for ; Wed, 22 Sep 2021 08:13:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-language:content-transfer-encoding; bh=OitfZYNcshDmGxuWnHfz1bf3SkEraDvGiRl65MLZiFY=; b=JKGQimrvNpVas5SYjbCzNt4KQHbknxr9vNec/ykBnZCaHEjFdL4FBwwcZ/FZqVt1QQ zBPW6jMtJDAvpdeAtE4WFIX0MtyXo6jdcC3oY3d/+lWywnIlGh6nvz7nIVDi+6oTbGP9 4x31KoPhNvt9BANm2FvlqkQIyUXKj+J7r2Rpnwba6lxHkWKELSjcqviE4H2dMVR33OBW 0v539m+rxUtg86vpSjA8NS3GrbLU0M9LP2voFfXMatu0avhO02gqzBzV014ybg8+N5zR rq7vINDyUlRHu98YK8zU6RCHcRNMdcXkvMZfD573tqpiV2F+a7HR7zasL8aWZa3Sj/gp /Swg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=OitfZYNcshDmGxuWnHfz1bf3SkEraDvGiRl65MLZiFY=; b=rO9WzjmsIap8tWmnmfMwlnW1oFsjPbTaXsTAsDxh9GHQxEzHnOEi8WWJ1e8dWAp3H+ vpomMN5vQUaKTMIbpuMqGWOL8RqI6qzm3504x1alHRuPqOoJgdlBRIGSyduNcsL4tMsa wLEUGKlVsHiWLIYwCyRQMLEuJLWbt+eNDOuJp9o2uaJ/HdJD53z3bx39/gMHzitPOOXi Mlni9tr3gGUmJDtiGqtiJqhUpzBH5CO99mh6JrIgKbPZ9l2Hfyd3RLB1l9+yOMBjX5tt p5dsZnk1e4iTd+s/shRaZDGZ2VLdq1CMFSJmKxZc7OBaHEscg4uGAtR7Xa58b82T6DVp RwYA== X-Gm-Message-State: AOAM532UkqgDRrYAbb2Nh1RAzJKT4KfscE0c4nF2bc3J9rsv//EGzihh XtUwcVLLlgnEMeiEc8fkLBbxHbt96sM2rg== X-Google-Smtp-Source: ABdhPJzzZy1Ms3YPnR6wYpfhRUMmau9unjcFL31C1DgHJ3LaDxveLw4NoUWozKLVomfzQbsE65r4vA== X-Received: by 2002:a63:f513:: with SMTP id w19mr122516pgh.231.1632323594096; Wed, 22 Sep 2021 08:13:14 -0700 (PDT) Received: from [192.168.1.11] ([71.212.134.125]) by smtp.gmail.com with ESMTPSA id q3sm3180086pgf.18.2021.09.22.08.13.13 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 22 Sep 2021 08:13:13 -0700 (PDT) Subject: Re: [PATCH v2 20/30] tcg/loongarch64: Implement setcond ops To: WANG Xuerui , qemu-devel@nongnu.org References: <20210921201915.601245-1-git@xen0n.name> <20210921201915.601245-21-git@xen0n.name> From: Richard Henderson Message-ID: <596cef66-7b19-1ef8-92ec-1e916711b737@linaro.org> Date: Wed, 22 Sep 2021 08:13:12 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: <20210921201915.601245-21-git@xen0n.name> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Received-SPF: pass client-ip=2607:f8b0:4864:20::536; envelope-from=richard.henderson@linaro.org; helo=mail-pg1-x536.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+qemu-devel=archiver.kernel.org@nongnu.org Sender: "Qemu-devel" On 9/21/21 1:19 PM, WANG Xuerui wrote: > +static void tcg_out_setcond(TCGContext *s, TCGCond cond, TCGReg ret, > + TCGReg arg1, TCGReg arg2, bool c1, bool c2) > +{ > + TCGReg tmp; > + > + if (c1) { > + tcg_debug_assert(arg1 == 0); > + } > + if (c2) { > + tcg_debug_assert(arg2 == 0); > + } You don't need to work quite this hard. Only the second argument will be constant. If both are constant, we will have folded the operation away. If the first argument was constant, we will swap the condition. > + switch (cond) { > + case TCG_COND_EQ: > + if (c1) { > + tmp = arg2; > + } else if (c2) { > + tmp = arg1; > + } else { > + tcg_out_opc_sub_d(s, ret, arg1, arg2); if (!c2) { ... } Otherwise, Reviewed-by: Richard Henderson r~