qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 07/20] target-mips: add msa_reset(), global m


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH v2 07/20] target-mips: add msa_reset(), global msa register
Date: Wed, 05 Nov 2014 18:36:47 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.2.0

On 10/29/2014 02:41 AM, Yongbok Kim wrote:
> +    for (i = 0; i < 32; i++) {
> +        int off = offsetof(CPUMIPSState, active_fpu.fpr[i].wr.d[0]);
> +        msa_wr_d[i * 2] =
> +                tcg_global_mem_new_i64(TCG_AREG0, off, msaregnames[i * 2]);
> +        off = offsetof(CPUMIPSState, active_fpu.fpr[i].wr.d[1]);
> +        msa_wr_d[i * 2 + 1] =
> +                tcg_global_mem_new_i64(TCG_AREG0, off, msaregnames[i * 2 + 
> 1]);
> +    }
> +

You've got to be extremely careful here, since now you have two TCG registers
covering the same data -- the msa register you define here and the fpu_f64
register.

You can get away with this ONLY if you never use both within the same TB.  And
I strongly suspect you're not going to do that.  You're planning to use msa_wr
for msa insns and fpu_f64 with fpu insns because it "seems right".


r~



reply via email to

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