qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 2/2] target-mips: reimplement SC instruction and


From: Leon Alrae
Subject: Re: [Qemu-devel] [PATCH 2/2] target-mips: reimplement SC instruction and use cmpxchg
Date: Tue, 27 Sep 2016 08:02:26 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

On Wed, Sep 21, 2016 at 01:16:28PM -0700, Richard Henderson wrote:
> On 09/21/2016 01:07 AM, Leon Alrae wrote:
> >+    tcg_gen_brcond_tl(TCG_COND_EQ, addr, cpu_lladdr, l1);
> >+    tcg_temp_free(addr);
> >+    tcg_gen_movi_tl(t0, 0);
> >+    tcg_gen_br(done);
> >+
> >+    gen_set_label(l1);
> >+    /* generate cmpxchg */
> >+    val = tcg_temp_new();
> >+    gen_load_gpr(val, rt);
> >+    tcg_gen_atomic_cmpxchg_tl(t0, cpu_lladdr, cpu_llval, val,
> >+                              ctx->mem_idx, tcg_mo);
> >+    tcg_gen_setcond_tl(TCG_COND_EQ, t0, t0, cpu_llval);
> >+    tcg_temp_free(val);
> >+
> >+    gen_set_label(done);
> >+    /* store the result into the register */
> >+    gen_store_gpr(t0, rt);
> >     tcg_temp_free(t0);
> 
> The only thing I would change is to duplicate the gen_store_gpr into
> both branches, so that we don't have to store t0 into the stack
> across the blocks.

Done in v3.

> 
> Otherwise,
> 
> Reviewed-by: Richard Henderson <address@hidden>

Thanks for reviewing.

Leon



reply via email to

[Prev in Thread] Current Thread [Next in Thread]