On 08/16/2018 07:57 AM, Aleksandar Markovic wrote:
> From: Stefan Markovic <smarko...@wavecomp.com>
> 
> Add emulation of DSP ASE instructions for nanoMIPS - part 6.
> 
> Reviewed-by: Aleksandar Markovic <amarko...@wavecomp.com>
> Signed-off-by: Aleksandar Markovic <amarko...@wavecomp.com>
> Signed-off-by: Stefan Markovic <smarko...@wavecomp.com>
> ---
>  target/mips/translate.c | 62 
> +++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 62 insertions(+)
> 
> diff --git a/target/mips/translate.c b/target/mips/translate.c
> index 420a296..02ae3d9 100644
> --- a/target/mips/translate.c
> +++ b/target/mips/translate.c
> @@ -17777,6 +17777,64 @@ static void 
> gen_pool32axf_4_nanomips_insn(DisasContext *ctx, uint32_t opc,
>      tcg_temp_free(t0);
>  }
>  
> +static void gen_pool32axf_7_nanomips_insn(DisasContext *ctx, uint32_t opc,
> +                                          int rt, int rs, int rd)
> +{
> +    TCGv t0;
> +    TCGv rs_t;
> +
> +    if (rt == 0) {
> +        /* Treat as NOP. */
> +        return;
> +    }

This...

> +
> +    t0 = tcg_temp_new();
> +    rs_t = tcg_temp_new();
> +
> +    gen_load_gpr(rs_t, rs);
> +
> +    switch (opc) {
> +    case NM_SHRA_R_QB:
> +        check_dspr2(ctx);

... misses out on these checks.
Better off with the gen_store_gpr calls from the other ASE patches.


r~

Reply via email to