aboutsummaryrefslogtreecommitdiffstats
path: root/target-microblaze
diff options
context:
space:
mode:
authorPaul Hartke <paul.hartke@xilinx.com>2009-12-13 03:22:24 +0100
committerEdgar E. Iglesias <edgar.iglesias@gmail.com>2009-12-13 03:22:24 +0100
commit9d2dcce9a3bb450df89ee025a0a2edd4dbb98159 (patch)
tree80c346f88392852861e1ad1099be000280fd759d /target-microblaze
parent1a03675db146dfc760b3b48b3448075189f142cc (diff)
microblaze: Correct branch to registers.
Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
Diffstat (limited to 'target-microblaze')
-rw-r--r--target-microblaze/translate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-microblaze/translate.c b/target-microblaze/translate.c
index 44f4db0c6..85dcf863f 100644
--- a/target-microblaze/translate.c
+++ b/target-microblaze/translate.c
@@ -1019,7 +1019,7 @@ static void dec_br(DisasContext *dc)
if (dc->imm == 0)
t_gen_raise_exception(dc, EXCP_DEBUG);
} else {
- if (dc->tb_flags & IMM_FLAG) {
+ if (!dc->type_b || (dc->tb_flags & IMM_FLAG)) {
tcg_gen_movi_tl(env_btaken, 1);
tcg_gen_movi_tl(env_btarget, dc->pc);
tcg_gen_add_tl(env_btarget, env_btarget, *(dec_alu_op_b(dc)));