From nobody Wed Nov 5 07:16:05 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1533852936925245.83045906535017; Thu, 9 Aug 2018 15:15:36 -0700 (PDT) Received: from localhost ([::1]:53163 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fntDI-0007ap-B0 for importer@patchew.org; Thu, 09 Aug 2018 18:15:24 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45709) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnsjB-00030W-Nf for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fnsj8-0000xB-4H for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:17 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:43251) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fnsj7-0000uC-Vh for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:14 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 5231021E33; Thu, 9 Aug 2018 17:44:10 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 09 Aug 2018 17:44:10 -0400 Received: from localhost (flamenco.cs.columbia.edu [128.59.20.216]) by mail.messagingengine.com (Postfix) with ESMTPA id B85D91028A; Thu, 9 Aug 2018 17:44:09 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=braap.org; h=cc :date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=mesmtp; bh=jh4h41RrdhTiVU 1GlkJZH4W6KaRUeD6UMmnelBwIk5U=; b=UpzrUkhTiRhkgcbHy+3pR68tHVkhXq 16rD50Weu3j0b52dNqpynx626HVnBonwR5OImxmzSZsLmjNhWjWAV+7wCrBl/6/k gYByTXHRWh4B2Wts0117V4dxa1cyiEMWPHP+Vs2Jl7UVSAqlbZFTA9ED/0hKaCsn LcoaKRaacx/Lk= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=jh4h41RrdhTiVU1GlkJZH4W6KaRUeD6UMmnelBwIk5U=; b=RArI9oko YbK8VdIyz2lHstSaMotvGmiKmfsxp7pzCVtQPaES5iHPLyRULsGegam2M6ZON2Po awb+E3EX0d/1UOxxQQt8YPXvn4fcqLKSPU7gOYBEz4iNB5wnJbO0XMqA4I/SEAZP +R+E67VPRTst6BGWFuZGUK6AwxW0Db1zuIOuSR2lRTsnMPVjR5VbmrrqlKJ9aQh9 MDC7AMfslYaObsmEk5bONjvCdZv3QmtrsMb0q2V5O+7rWR73DLM3KfTHVxbHSvwr /5+eyT70eUDeUN2A0mLpE1H1dPFo0/iiR1CYwAnC9dQxMyyl91Esc6qen1WnZEFG XETGJKTOQO9e/w== X-ME-Proxy: X-ME-Sender: From: "Emilio G. Cota" To: qemu-devel@nongnu.org Date: Thu, 9 Aug 2018 17:43:54 -0400 Message-Id: <20180809214356.27690-2-cota@braap.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180809214356.27690-1-cota@braap.org> References: <20180809214356.27690-1-cota@braap.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.25 Subject: [Qemu-devel] [PATCH 1/3] target/riscv: optimize cross-page direct jumps in softmmu X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bastian Koppelmann , Michael Clark , Richard Henderson , Sagar Karandikar , Palmer Dabbelt Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson --- target/riscv/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 0b6be74f2d..ec2988b4f6 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -135,7 +135,7 @@ static void gen_goto_tb(DisasContext *ctx, int n, targe= t_ulong dest) if (ctx->base.singlestep_enabled) { gen_exception_debug(); } else { - tcg_gen_exit_tb(NULL, 0); + tcg_gen_lookup_and_goto_ptr(); } } } --=20 2.17.1 From nobody Wed Nov 5 07:16:05 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1533852305511885.4429138752979; Thu, 9 Aug 2018 15:05:05 -0700 (PDT) Received: from localhost ([::1]:53059 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnt3D-0005I3-U0 for importer@patchew.org; Thu, 09 Aug 2018 18:04:59 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45710) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnsjB-00030X-Nx for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fnsj7-0000wq-OP for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:17 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:54241) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fnsj7-0000uD-EI for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:13 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 56AB721E59; Thu, 9 Aug 2018 17:44:10 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 09 Aug 2018 17:44:10 -0400 Received: from localhost (flamenco.cs.columbia.edu [128.59.20.216]) by mail.messagingengine.com (Postfix) with ESMTPA id F0F231028C; Thu, 9 Aug 2018 17:44:09 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=braap.org; h=cc :date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=mesmtp; bh=cDSPGmPHlGmubA kXW/1lBS5BvDddQJjmG3hMtG4hjdw=; b=kGmyDYO+739sHUaolGorGpg6kW5XG/ xuqUIQy353PTkSue9rdDGE9ERkMyaLwB+UsYcaS8fziWtarQ6j/geh2u0DQOmc8w REvZ9ykn1qoKQhlu/c0Uz+OYTlJujekusj+JfaQ+jJ84KWCDj09g7TshFJzHUl17 lptsBxxieUPxY= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=cDSPGmPHlGmubAkXW/1lBS5BvDddQJjmG3hMtG4hjdw=; b=cFajUin9 VumOGKAmkm6Junux3aEmmUY8DbwowbVPYy1EI031VcoGPhNv3tWpXZHVAlCB3Gd2 Ef/jCim+3joy7e1zsw5Ic+ui0rqv8FfRb0/UXTh04JydXv1yJaFteUUYjuSkml7r ucoa3bnbNc95TtIiBIcqcKMlIcvw1o4GDWujFAqATodVpaGwnW/jZYCEXT1Oi492 VQldkHY+WSmMcrH4EH/KwlimyXe1HNaebWyp4RXRxmYFwyMaOSrqr4R9Ckw3W+Ca KNPPWmA2z9apjvppChK+3n9bur39W0qkyS4+ASfp883y5WUWHY7zkF3Lq9x4Mic7 Zc0SusRkQuNdqw== X-ME-Proxy: X-ME-Sender: From: "Emilio G. Cota" To: qemu-devel@nongnu.org Date: Thu, 9 Aug 2018 17:43:55 -0400 Message-Id: <20180809214356.27690-3-cota@braap.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180809214356.27690-1-cota@braap.org> References: <20180809214356.27690-1-cota@braap.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.25 Subject: [Qemu-devel] [PATCH 2/3] target/riscv: optimize indirect branches X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bastian Koppelmann , Michael Clark , Richard Henderson , Sagar Karandikar , Palmer Dabbelt Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Signed-off-by: Emilio G. Cota Reviewed-by: Richard Henderson --- target/riscv/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index ec2988b4f6..66a80ca772 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -548,7 +548,7 @@ static void gen_jalr(CPURISCVState *env, DisasContext *= ctx, uint32_t opc, if (rd !=3D 0) { tcg_gen_movi_tl(cpu_gpr[rd], ctx->pc_succ_insn); } - tcg_gen_exit_tb(NULL, 0); + tcg_gen_lookup_and_goto_ptr(); =20 if (misaligned) { gen_set_label(misaligned); --=20 2.17.1 From nobody Wed Nov 5 07:16:05 2025 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) client-ip=208.118.235.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Authentication-Results: mx.zohomail.com; spf=pass (zoho.com: domain of gnu.org designates 208.118.235.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org Return-Path: Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) by mx.zohomail.com with SMTPS id 1533853272997418.2656339831052; Thu, 9 Aug 2018 15:21:12 -0700 (PDT) Received: from localhost ([::1]:53198 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fntIt-0004op-UI for importer@patchew.org; Thu, 09 Aug 2018 18:21:11 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:45708) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fnsjB-00030V-NZ for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:18 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fnsj7-0000wl-O0 for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:17 -0400 Received: from out1-smtp.messagingengine.com ([66.111.4.25]:57527) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fnsj7-0000uL-EL for qemu-devel@nongnu.org; Thu, 09 Aug 2018 17:44:13 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 747E921E8C; Thu, 9 Aug 2018 17:44:10 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Thu, 09 Aug 2018 17:44:10 -0400 Received: from localhost (flamenco.cs.columbia.edu [128.59.20.216]) by mail.messagingengine.com (Postfix) with ESMTPA id 2E4901026B; Thu, 9 Aug 2018 17:44:10 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=braap.org; h=cc :date:from:in-reply-to:message-id:references:subject:to :x-me-sender:x-me-sender:x-sasl-enc; s=mesmtp; bh=qcoBTuUxJIL1dg uAYEoE8DYZgOspavEF/nwplbaubKg=; b=u3QkkniR029Jxrwh6/lUTpBj7T3Cye YF0aZznxelq9E4m0NA9U37szYWUHS4c1FPjCGtOdDbpCUtiCFfUC9rtt6e8UuQEf bc5G7noenldvfheAMCsCtN6SoVGKwJUpkLxqEEDnc/RUKqQJdPifOUSDcCplMGoP 5w3gLORv1lrhc= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:date:from:in-reply-to:message-id :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=qcoBTuUxJIL1dguAYEoE8DYZgOspavEF/nwplbaubKg=; b=ZtC1w1QX YRHXDFJQX607ZUYilWKngpjWDCY+MhJzxCHEMVvqAC5+PkasfOZFCF3CHzy47MSr giqGsmfDButweosp5hnerXvtNf6rmUsP+t11rw1ilkhaoeothwhKwy8xL/WIeaNF tIW9F7j2V5YYpUqw2mOTECxNf0J0Ee7lYYqCCWwTNE2ZTCbdHYHGG/4EGziwZRZg cT94wUNCdGK0YMNd+BBR2EYbtPaWOOx+4wqd+w9EsdqTeQs+L+oDViQs4e+lN5t7 o6UJpdOAPIdqnXmT+6Q7qaP8Dhcc2rSaSZpbLz8VTYrbxzo0ZaqvrNA4jRT26HFq mbe22+s/3XOt4Q== X-ME-Proxy: X-ME-Sender: From: "Emilio G. Cota" To: qemu-devel@nongnu.org Date: Thu, 9 Aug 2018 17:43:56 -0400 Message-Id: <20180809214356.27690-4-cota@braap.org> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20180809214356.27690-1-cota@braap.org> References: <20180809214356.27690-1-cota@braap.org> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 66.111.4.25 Subject: [Qemu-devel] [PATCH 3/3] target/riscv: call tcg_lookup_and_goto_ptr on DISAS_TOO_MANY X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Bastian Koppelmann , Michael Clark , Richard Henderson , Sagar Karandikar , Palmer Dabbelt Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail: RSF_0 Z_629925259 SPT_0 Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Performance impact of this and the previous commit, measured with the very-easy-to-cross-compile rv8-bench: https://github.com/rv8-io/rv8-bench Host: Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz - Key: before: master after1,2,3: the 3 commits in this series (i.e. 3 is this commit) - User-mode: bench before after1 after2 after3 final speedup --------------------------------------------------------- aes 1.12s 1.12s 1.10s 1.00s 1.12 bigint 0.78s 0.78s 0.78s 0.78s 1 dhrystone 0.96s 0.97s 0.49s 0.49s 1.9591837 miniz 1.94s 1.94s 1.88s 1.86s 1.0430108 norx 0.51s 0.51s 0.49s 0.48s 1.0625 primes 0.85s 0.85s 0.84s 0.84s 1.0119048 qsort 4.87s 4.88s 1.86s 1.86s 2.6182796 sha512 0.76s 0.77s 0.64s 0.64s 1.1875 (after1 only applies to softmmu, so no surprises here) - Full-system (fedora): bench before after1 after2 after3 final speedup --------------------------------------------------------- aes 2.68s 2.54s 2.60s 2.34s 1.1452991 bigint 1.61s 1.56s 1.55s 1.64s 0.98170732 dhrystone 1.78s 1.67s 1.25s 1.24s 1.4354839 miniz 3.53s 3.35s 3.28s 3.35s 1.0537313 norx 1.13s 1.09s 1.07s 1.06s 1.0660377 primes 15.37s 15.41s 15.20s 15.37s 1 qsort 7.20s 6.71s 3.85s 3.96s 1.8181818 sha512 1.07s 1.04s 0.90s 0.90s 1.1888889 SoftMMU slows things down, so the numbers are less sensitive. Cross-page jumps improve things a little bit, though. Note that I'm not showing here averages, just results from a single run, so with primes there isn't much to worry about. Signed-off-by: Emilio G. Cota --- target/riscv/translate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/target/riscv/translate.c b/target/riscv/translate.c index 66a80ca772..98e0311606 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -1872,7 +1872,7 @@ static void riscv_tr_tb_stop(DisasContextBase *dcbase= , CPUState *cpu) if (ctx->base.singlestep_enabled) { gen_exception_debug(); } else { - tcg_gen_exit_tb(NULL, 0); + tcg_gen_lookup_and_goto_ptr(); } break; case DISAS_NORETURN: --=20 2.17.1