qemu-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-commits] [COMMIT c27e275] Sparc32/64: fix jmpl followed by branch


From: Anthony Liguori
Subject: [Qemu-commits] [COMMIT c27e275] Sparc32/64: fix jmpl followed by branch
Date: Sat, 22 Aug 2009 11:49:43 -0000

From: Blue Swirl <address@hidden>

Fix a case where 'jmpl' instruction followed by a branch instruction was
handled incorrectly.

Signed-off-by: Blue Swirl <address@hidden>

diff --git a/target-sparc/translate.c b/target-sparc/translate.c
index 9bbfd3c..61578ec 100644
--- a/target-sparc/translate.c
+++ b/target-sparc/translate.c
@@ -1134,6 +1134,7 @@ static void do_branch(DisasContext *dc, int32_t offset, 
uint32_t insn, int cc,
         } else {
             dc->pc = dc->npc;
             dc->npc = target;
+            tcg_gen_mov_tl(cpu_pc, cpu_npc);
         }
     } else {
         flush_cond(dc, r_cond);
@@ -1174,6 +1175,7 @@ static void do_fbranch(DisasContext *dc, int32_t offset, 
uint32_t insn, int cc,
         } else {
             dc->pc = dc->npc;
             dc->npc = target;
+            tcg_gen_mov_tl(cpu_pc, cpu_npc);
         }
     } else {
         flush_cond(dc, r_cond);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]