On 10/17/22 23:48, Peter Maydell wrote:
-if (use_goto_tb(s, dest)) {
-tcg_gen_goto_tb(n);
-gen_a64_update_pc(s, diff);
+if (use_goto_tb(s, s->pc_curr + diff)) {
+if (TARGET_TB_PCREL) {
+gen_a64_update_pc(s, diff);
+tcg_gen_goto_tb(n);
+
On Sun, 16 Oct 2022 at 23:23, Richard Henderson
wrote:
>
> Signed-off-by: Richard Henderson
> static void gen_goto_tb(DisasContext *s, int n, int64_t diff)
> {
> -uint64_t dest = s->pc_curr + diff;
> -
> -if (use_goto_tb(s, dest)) {
> -tcg_gen_goto_tb(n);
> -gen_a64_up
Signed-off-by: Richard Henderson
---
v7: Introduce DisasLabel to clean up pc_save frobbing.
Adjust pc_save around tcg_remove_ops_after.
---
target/arm/cpu-param.h| 1 +
target/arm/translate.h| 50 -
target/arm/cpu.c | 23
target/arm/tr