From patchwork Wed Jun 28 11:45:03 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Mark Cave-Ayland X-Patchwork-Id: 697233 Delivered-To: patch@linaro.org Received: by 2002:adf:e885:0:0:0:0:0 with SMTP id d5csp4295144wrm; Wed, 28 Jun 2023 04:48:58 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7rkMGQMhKWpHEGk+TmjRBfOzILePUO0MKWvd2VZ6paS0JKnMvY+duFeLy4RGp42C1qkkwS X-Received: by 2002:a05:620a:3902:b0:765:70cf:d7a4 with SMTP id qr2-20020a05620a390200b0076570cfd7a4mr13024321qkn.71.1687952938719; Wed, 28 Jun 2023 04:48:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687952938; cv=none; d=google.com; s=arc-20160816; b=snxXth37KWMUHVQtBq1EutHpxyPFI6o/0DPdRVL03mt539pDg1i3oXqpFYyVdVwsBK KHVT8pJVuXX5ch5A3AbrbwXm+pae8XzCJnuObEyCjL/UONCpjKn2SWdzrfo5y7/xehl/ zT0iVyGiU3yjJ3jUFRP61YPQOPVUkb/QGVQnTLZoKnbQAzB8LXgzd2kC8eKcJ1xt7ssT OsUxS4Q9deftRUIOHCAAlvdbJtOkNuW6MdXIg2d8Ui1CVlZuqlRflrxHk7UuWBGJ8z4S Z4ypBFK0JePGEvLYrf2BFB/EilyzKtMDpg8YQ5DbJ2O0FJpGOJoYqRyS9pblEisLf2ed qaoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:subject :content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:to:from:dkim-signature; bh=FV+chXvjmNEXKyHiXB6vsfOn/aoT2Gsa6mwo/x6dy/A=; fh=dxNoli/Xs5PJEU4/5g3muAZqP4q86W456+YpDLBdAUw=; b=TsfaHT8kw+3RlwQU7Busr4PNGtXEgm2bgQj1AA0wZeya62V6dPM4b3SRUwqMKpd325 ORr+1dFBFi8yIo3fVDT30sXsHMVhpALbMbmUjeqAlWNP0/+Ry1Te4qRlRbh9UmqCfYmw eoGFCrFdl8+IOSEX1hZN5YeH+iswFZMKLTGUX3YZKJrGSAXxMIKzTFyBnjwnrLmt2NWe UpsUSIIhiVDStjrZBJKagyMbzNHwy+l2hSWSjZd+Xat7nUENFHwaitAmXwCg0V9jlt/t 4dZmlvsiQCnCyfLSj6TMWCQkoTuyvO2ClzYsIwkyk5qBOVKC31IVJ+qELdtUyHXyXUON TzCQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@ilande.co.uk header.s=20220518 header.b="k44+/gkv"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ilande.co.uk Return-Path: Received: from lists.gnu.org (lists.gnu.org. [209.51.188.17]) by mx.google.com with ESMTPS id bp10-20020a05620a458a00b0075dabfdefb4si4637964qkb.331.2023.06.28.04.48.58 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Wed, 28 Jun 2023 04:48:58 -0700 (PDT) Received-SPF: pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; Authentication-Results: mx.google.com; dkim=fail header.i=@ilande.co.uk header.s=20220518 header.b="k44+/gkv"; spf=pass (google.com: domain of qemu-devel-bounces+patch=linaro.org@nongnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom="qemu-devel-bounces+patch=linaro.org@nongnu.org"; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ilande.co.uk Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qETd7-0003KE-A4; Wed, 28 Jun 2023 07:46:37 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qETcO-0002gD-62 for qemu-devel@nongnu.org; Wed, 28 Jun 2023 07:46:04 -0400 Received: from mail.ilande.co.uk ([2001:41c9:1:41f::167]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qETcL-0005F5-Hp for qemu-devel@nongnu.org; Wed, 28 Jun 2023 07:45:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=ilande.co.uk; s=20220518; h=Subject:Content-Transfer-Encoding:Content-Type: MIME-Version:References:In-Reply-To:Message-Id:Date:To:From:Sender:Reply-To: Cc:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=FV+chXvjmNEXKyHiXB6vsfOn/aoT2Gsa6mwo/x6dy/A=; b=k44+/gkvrg96DyXI7wEj/HPu+g MNgtOi8+sSfBhrniLJEdevSh/Vo6qH3DdK0m7JJEC6TC9FaOTqoiir65Jgz1secpFALo8xJiU0Tfv muqHVAQYqupxioVh7Kpkp3i9YlMVf/f2wvyhbBRjFkQuSiHy2bzUaGCz94gahIWYhoMEzwTOGTZT+ 6swtuAXVQD5LDvc7pIivNSK/ahSa6cXnNIFYCaxl4W9thaZPF+epYrdsk6Aunb829aKY1xtMT0/W8 bYLkgio+Qc3cIB4KUZ1E54F4v9UgtCztll+RGpu06xhvhF1ww3KGk5wnrmFCBA+T4u5OnE6PoPNzl UoV93tw+sqqSQUKVHQhaFiVg4LYCfuS06cJSKbCerQ/JYnJvfNZUkKFmUItYy/cqi/qAtLZKLjBNn Tjwr6GfrHjw8upDgXu9NdSVmyqtvd9I/yAg9Q6b/koKHw4ncimEeoq+17czQ1vQ4qvbTiP2orv3vW y01d0gFskWDjXiGHuWX5mtLDg/e+bugG1wXFnmJhJopzp5spajcku+OTF3np/BWlj2xHx/SmZsKpT otGh0VUBBQdD51ZzTMcSmCpnQHKZ88Fgtoae7Lf/A4L3eLXP7io0/oyE3QtUm2GupZ7urNSQL/8Jo cVAd98olF9aD3wy5xoZ+kBxvV5COBGJNaeIZ3ENvc=; Received: from host86-130-37-216.range86-130.btcentralplus.com ([86.130.37.216] helo=kentang.home) by mail.ilande.co.uk with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1qETc7-00007c-En; Wed, 28 Jun 2023 12:45:39 +0100 From: Mark Cave-Ayland To: richard.henderson@linaro.org, qemu-devel@nongnu.org Date: Wed, 28 Jun 2023 12:45:03 +0100 Message-Id: <20230628114504.546265-10-mark.cave-ayland@ilande.co.uk> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20230628114504.546265-1-mark.cave-ayland@ilande.co.uk> References: <20230628114504.546265-1-mark.cave-ayland@ilande.co.uk> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 86.130.37.216 X-SA-Exim-Mail-From: mark.cave-ayland@ilande.co.uk Subject: [PULL 09/10] target/sparc: Use tcg_gen_lookup_and_goto_ptr for v9 WRASI X-SA-Exim-Version: 4.2.1 (built Wed, 08 May 2019 21:11:16 +0000) X-SA-Exim-Scanned: Yes (on mail.ilande.co.uk) Received-SPF: pass client-ip=2001:41c9:1:41f::167; envelope-from=mark.cave-ayland@ilande.co.uk; helo=mail.ilande.co.uk 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, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+patch=linaro.org@nongnu.org Sender: qemu-devel-bounces+patch=linaro.org@nongnu.org From: Richard Henderson We incorporate %asi into tb->flags so that we may generate inline code for the many ASIs for which it is easy to do so. Setting %asi is common for e.g. memcpy and memset performing block copy and clear, so it is worth noticing this case. We must end the TB but do not need to return to the main loop. Reviewed-by: Philippe Mathieu-Daudé Signed-off-by: Richard Henderson Message-Id: <20230628071202.230991-9-richard.henderson@linaro.org> Signed-off-by: Mark Cave-Ayland --- target/sparc/translate.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/target/sparc/translate.c b/target/sparc/translate.c index 9148e33283..bd877a5e4a 100644 --- a/target/sparc/translate.c +++ b/target/sparc/translate.c @@ -4147,10 +4147,14 @@ static void disas_sparc_insn(DisasContext * dc, unsigned int insn) tcg_gen_andi_tl(cpu_tmp0, cpu_tmp0, 0xff); tcg_gen_st32_tl(cpu_tmp0, cpu_env, offsetof(CPUSPARCState, asi)); - /* End TB to notice changed ASI. */ + /* + * End TB to notice changed ASI. + * TODO: Could notice src1 = %g0 and IS_IMM, + * update DisasContext and not exit the TB. + */ save_state(dc); gen_op_next_insn(); - tcg_gen_exit_tb(NULL, 0); + tcg_gen_lookup_and_goto_ptr(); dc->base.is_jmp = DISAS_NORETURN; break; case 0x6: /* V9 wrfprs */