On 12/22/24 15:40, Jiaxun Yang wrote:
@@ -9,7 +9,7 @@ static bool gen_ll(DisasContext *ctx, arg_rr_i *a, MemOp mop)
      TCGv src1 = gpr_src(ctx, a->rj, EXT_NONE);
      TCGv t0 = make_address_i(ctx, src1, a->imm);
...
@@ -28,7 +28,8 @@ static bool gen_sc(DisasContext *ctx, arg_rr_i *a, MemOp mop)
      TCGLabel *l1 = gen_new_label();
      TCGLabel *done = gen_new_label();
- tcg_gen_addi_tl(t0, src1, a->imm);
+    tcg_gen_mov_tl(t0, src1);
+    t0 = make_address_i(ctx, t0, a->imm);

The move before make_address_i is not required.
See the similar code just above in gen_ll.


r~

Reply via email to