Message ID | 20240523124045.1964-4-zhiwei_liu@linux.alibaba.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | target/riscv: Support Zabha extension | expand |
On Thu, May 23, 2024 at 10:44 PM LIU Zhiwei <zhiwei_liu@linux.alibaba.com> wrote: > > Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com> Acked-by: Alistair Francis <alistair.francis@wdc.com> Alistair > --- > target/riscv/insn_trans/trans_rvzacas.c.inc | 13 ------------- > target/riscv/translate.c | 13 +++++++++++++ > 2 files changed, 13 insertions(+), 13 deletions(-) > > diff --git a/target/riscv/insn_trans/trans_rvzacas.c.inc b/target/riscv/insn_trans/trans_rvzacas.c.inc > index 5d274d4c08..fcced99fc7 100644 > --- a/target/riscv/insn_trans/trans_rvzacas.c.inc > +++ b/target/riscv/insn_trans/trans_rvzacas.c.inc > @@ -22,19 +22,6 @@ > } \ > } while (0) > > -static bool gen_cmpxchg(DisasContext *ctx, arg_atomic *a, MemOp mop) > -{ > - TCGv dest = get_gpr(ctx, a->rd, EXT_NONE); > - TCGv src1 = get_address(ctx, a->rs1, 0); > - TCGv src2 = get_gpr(ctx, a->rs2, EXT_NONE); > - > - decode_save_opc(ctx); > - tcg_gen_atomic_cmpxchg_tl(dest, src1, dest, src2, ctx->mem_idx, mop); > - > - gen_set_gpr(ctx, a->rd, dest); > - return true; > -} > - > static bool trans_amocas_w(DisasContext *ctx, arg_amocas_w *a) > { > REQUIRE_ZACAS(ctx); > diff --git a/target/riscv/translate.c b/target/riscv/translate.c > index f597542f1c..0ce188bc91 100644 > --- a/target/riscv/translate.c > +++ b/target/riscv/translate.c > @@ -1097,6 +1097,19 @@ static bool gen_amo(DisasContext *ctx, arg_atomic *a, > return true; > } > > +static bool gen_cmpxchg(DisasContext *ctx, arg_atomic *a, MemOp mop) > +{ > + TCGv dest = get_gpr(ctx, a->rd, EXT_NONE); > + TCGv src1 = get_address(ctx, a->rs1, 0); > + TCGv src2 = get_gpr(ctx, a->rs2, EXT_NONE); > + > + decode_save_opc(ctx); > + tcg_gen_atomic_cmpxchg_tl(dest, src1, dest, src2, ctx->mem_idx, mop); > + > + gen_set_gpr(ctx, a->rd, dest); > + return true; > +} > + > static uint32_t opcode_at(DisasContextBase *dcbase, target_ulong pc) > { > DisasContext *ctx = container_of(dcbase, DisasContext, base); > -- > 2.25.1 > >
diff --git a/target/riscv/insn_trans/trans_rvzacas.c.inc b/target/riscv/insn_trans/trans_rvzacas.c.inc index 5d274d4c08..fcced99fc7 100644 --- a/target/riscv/insn_trans/trans_rvzacas.c.inc +++ b/target/riscv/insn_trans/trans_rvzacas.c.inc @@ -22,19 +22,6 @@ } \ } while (0) -static bool gen_cmpxchg(DisasContext *ctx, arg_atomic *a, MemOp mop) -{ - TCGv dest = get_gpr(ctx, a->rd, EXT_NONE); - TCGv src1 = get_address(ctx, a->rs1, 0); - TCGv src2 = get_gpr(ctx, a->rs2, EXT_NONE); - - decode_save_opc(ctx); - tcg_gen_atomic_cmpxchg_tl(dest, src1, dest, src2, ctx->mem_idx, mop); - - gen_set_gpr(ctx, a->rd, dest); - return true; -} - static bool trans_amocas_w(DisasContext *ctx, arg_amocas_w *a) { REQUIRE_ZACAS(ctx); diff --git a/target/riscv/translate.c b/target/riscv/translate.c index f597542f1c..0ce188bc91 100644 --- a/target/riscv/translate.c +++ b/target/riscv/translate.c @@ -1097,6 +1097,19 @@ static bool gen_amo(DisasContext *ctx, arg_atomic *a, return true; } +static bool gen_cmpxchg(DisasContext *ctx, arg_atomic *a, MemOp mop) +{ + TCGv dest = get_gpr(ctx, a->rd, EXT_NONE); + TCGv src1 = get_address(ctx, a->rs1, 0); + TCGv src2 = get_gpr(ctx, a->rs2, EXT_NONE); + + decode_save_opc(ctx); + tcg_gen_atomic_cmpxchg_tl(dest, src1, dest, src2, ctx->mem_idx, mop); + + gen_set_gpr(ctx, a->rd, dest); + return true; +} + static uint32_t opcode_at(DisasContextBase *dcbase, target_ulong pc) { DisasContext *ctx = container_of(dcbase, DisasContext, base);
Signed-off-by: LIU Zhiwei <zhiwei_liu@linux.alibaba.com> --- target/riscv/insn_trans/trans_rvzacas.c.inc | 13 ------------- target/riscv/translate.c | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-)