From: Richard Henderson <richard.henderson@linaro.org>
To: qemu-devel@nongnu.org
Cc: mark.cave-ayland@ilande.co.uk,
"Philippe Mathieu-Daudé" <philmd@linaro.org>
Subject: [PATCH v3 8/8] target/sparc: Use tcg_gen_lookup_and_goto_ptr for v9 WRASI
Date: Wed, 28 Jun 2023 09:12:02 +0200 [thread overview]
Message-ID: <20230628071202.230991-9-richard.henderson@linaro.org> (raw)
In-Reply-To: <20230628071202.230991-1-richard.henderson@linaro.org>
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é <philmd@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
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 */
--
2.34.1
next prev parent reply other threads:[~2023-06-28 7:13 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-06-28 7:11 [PATCH v3 0/8] target/sparc: Use tcg_gen_lookup_and_goto_ptr Richard Henderson
2023-06-28 7:11 ` [PATCH v3 1/8] target/sparc: Use tcg_gen_lookup_and_goto_ptr in gen_goto_tb Richard Henderson
2023-06-28 7:11 ` [PATCH v3 2/8] target/sparc: Fix npc comparison in sparc_tr_insn_start Richard Henderson
2023-06-28 7:11 ` [PATCH v3 3/8] target/sparc: Drop inline markers from translate.c Richard Henderson
2023-06-28 7:11 ` [PATCH v3 4/8] target/sparc: Introduce DYNAMIC_PC_LOOKUP Richard Henderson
2023-06-28 7:51 ` Philippe Mathieu-Daudé
2023-06-28 7:11 ` [PATCH v3 5/8] target/sparc: Use DYNAMIC_PC_LOOKUP for conditional branches Richard Henderson
2023-06-28 7:12 ` [PATCH v3 6/8] target/sparc: Use DYNAMIC_PC_LOOKUP for JMPL Richard Henderson
2023-06-28 7:12 ` [PATCH v3 7/8] target/sparc: Use DYNAMIC_PC_LOOKUP for v9 RETURN Richard Henderson
2023-06-28 7:12 ` Richard Henderson [this message]
2023-06-28 7:50 ` [PATCH v3 0/8] target/sparc: Use tcg_gen_lookup_and_goto_ptr Philippe Mathieu-Daudé
2023-06-28 9:48 ` Mark Cave-Ayland
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230628071202.230991-9-richard.henderson@linaro.org \
--to=richard.henderson@linaro.org \
--cc=mark.cave-ayland@ilande.co.uk \
--cc=philmd@linaro.org \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).