diff mbox

target-mips: fix for missing delay slot in BC1EQZ and BC1NEZ

Message ID 1415269778-2162-1-git-send-email-leon.alrae@imgtec.com
State New
Headers show

Commit Message

Leon Alrae Nov. 6, 2014, 10:29 a.m. UTC
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>
---
 target-mips/translate.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Yongbok Kim Nov. 6, 2014, 10:42 a.m. UTC | #1
On 06/11/2014 10:29, Leon Alrae wrote:
> 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>
> ---
>   target-mips/translate.c | 1 +
>   1 file changed, 1 insertion(+)
>
> diff --git a/target-mips/translate.c b/target-mips/translate.c
> index 2117ce8..e83c50a 100644
> --- a/target-mips/translate.c
> +++ b/target-mips/translate.c
> @@ -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);

Reviewed-by: Yongbok Kim <yongbok.kim@imgtec.com>

Regards,
Yongbok Kim
diff mbox

Patch

diff --git a/target-mips/translate.c b/target-mips/translate.c
index 2117ce8..e83c50a 100644
--- a/target-mips/translate.c
+++ b/target-mips/translate.c
@@ -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);