mirror of https://github.com/xemu-project/xemu.git
target/sparc: Use DYNAMIC_PC_LOOKUP for conditional branches
When resolving JUMP_PC, we know this is for a plain branch with no other side effects. Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Signed-off-by: Richard Henderson <richard.henderson@linaro.org> Message-Id: <20230628071202.230991-6-richard.henderson@linaro.org> Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
This commit is contained in:
parent
633c42834c
commit
99c82c479b
|
@ -941,7 +941,7 @@ static void flush_cond(DisasContext *dc)
|
||||||
{
|
{
|
||||||
if (dc->npc == JUMP_PC) {
|
if (dc->npc == JUMP_PC) {
|
||||||
gen_generic_branch(dc);
|
gen_generic_branch(dc);
|
||||||
dc->npc = DYNAMIC_PC;
|
dc->npc = DYNAMIC_PC_LOOKUP;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -951,7 +951,7 @@ static void save_npc(DisasContext *dc)
|
||||||
switch (dc->npc) {
|
switch (dc->npc) {
|
||||||
case JUMP_PC:
|
case JUMP_PC:
|
||||||
gen_generic_branch(dc);
|
gen_generic_branch(dc);
|
||||||
dc->npc = DYNAMIC_PC;
|
dc->npc = DYNAMIC_PC_LOOKUP;
|
||||||
break;
|
break;
|
||||||
case DYNAMIC_PC:
|
case DYNAMIC_PC:
|
||||||
case DYNAMIC_PC_LOOKUP:
|
case DYNAMIC_PC_LOOKUP:
|
||||||
|
@ -997,7 +997,7 @@ static void gen_mov_pc_npc(DisasContext *dc)
|
||||||
case JUMP_PC:
|
case JUMP_PC:
|
||||||
gen_generic_branch(dc);
|
gen_generic_branch(dc);
|
||||||
tcg_gen_mov_tl(cpu_pc, cpu_npc);
|
tcg_gen_mov_tl(cpu_pc, cpu_npc);
|
||||||
dc->pc = DYNAMIC_PC;
|
dc->pc = DYNAMIC_PC_LOOKUP;
|
||||||
break;
|
break;
|
||||||
case DYNAMIC_PC:
|
case DYNAMIC_PC:
|
||||||
case DYNAMIC_PC_LOOKUP:
|
case DYNAMIC_PC_LOOKUP:
|
||||||
|
|
Loading…
Reference in New Issue