[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC v5 06/68] target/riscv: rvv-1.0: add translation-time vector co
From: |
Richard Henderson |
Subject: |
Re: [RFC v5 06/68] target/riscv: rvv-1.0: add translation-time vector context status |
Date: |
Fri, 2 Oct 2020 11:18:56 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0 |
On 9/29/20 2:03 PM, frank.chang@sifive.com wrote:
> +++ b/target/riscv/insn_trans/trans_rvv.c.inc
> @@ -41,6 +41,7 @@ static bool trans_vsetvl(DisasContext *ctx, arg_vsetvl *a)
> gen_get_gpr(s2, a->rs2);
> gen_helper_vsetvl(dst, cpu_env, s1, s2);
> gen_set_gpr(a->rd, dst);
> + mark_vs_dirty(ctx);
> tcg_gen_movi_tl(cpu_pc, ctx->pc_succ_insn);
> lookup_and_goto_ptr(ctx);
> ctx->base.is_jmp = DISAS_NORETURN;
> @@ -72,7 +73,7 @@ static bool trans_vsetvli(DisasContext *ctx, arg_vsetvli *a)
> }
> gen_helper_vsetvl(dst, cpu_env, s1, s2);
> gen_set_gpr(a->rd, dst);
> - gen_goto_tb(ctx, 0, ctx->pc_succ_insn);
> + mark_vs_dirty(ctx);
Removing the gen_goto_tb can't be right all by itself.
I think you want to be sharing the code between vsetvl and vsetvli now. Just
pass in a TCGv value to a common helper.
r~
- Re: [RFC v5 06/68] target/riscv: rvv-1.0: add translation-time vector context status,
Richard Henderson <=