target-mips: fix for missing delay slot in BC1EQZ and BC1NEZ
authorLeon Alrae <leon.alrae@imgtec.com>
Thu, 6 Nov 2014 10:29:38 +0000 (10:29 +0000)
committerLeon Alrae <leon.alrae@imgtec.com>
Fri, 7 Nov 2014 14:15:28 +0000 (14:15 +0000)
New R6 COP1 conditional branches currently don't have delay slot. Fixing this
by setting MIPS_HFLAG_BDS32 flag which is required for branches having 4-byte
delay slot.

Signed-off-by: Leon Alrae <leon.alrae@imgtec.com>
Reviewed-by: Yongbok Kim <yongbok.kim@imgtec.com>
target-mips/translate.c

index d6722e1..194d4fb 100644 (file)
@@ -8104,6 +8104,7 @@ static void gen_compute_branch1_r6(DisasContext *ctx, uint32_t op,
     MIPS_DEBUG("%s: cond %02x target " TARGET_FMT_lx, opn,
                ctx->hflags, btarget);
     ctx->btarget = btarget;
+    ctx->hflags |= MIPS_HFLAG_BDS32;
 
 out:
     tcg_temp_free_i64(t0);