qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH v5 40/60] target/riscv: vector floating-point merge instructi


From: Richard Henderson
Subject: Re: [PATCH v5 40/60] target/riscv: vector floating-point merge instructions
Date: Sun, 15 Mar 2020 22:37:42 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1

On 3/15/20 8:41 PM, LIU Zhiwei wrote:
> 
> 
> On 2020/3/15 6:47, Richard Henderson wrote:
>> On 3/12/20 7:58 AM, LIU Zhiwei wrote:
>>> +
>>> +/* Vector Floating-Point Merge Instruction */
>>> +static bool opfvf_vfmerge_check(DisasContext *s, arg_rmrr *a)
>>> +{
>>> +    return (vext_check_isa_ill(s, RVV) &&
>>> +            vext_check_overlap_mask(s, a->rd, a->vm, false) &&
>>> +            vext_check_reg(s, a->rd, false) &&
>>> +            vext_check_reg(s, a->rs2, false) &&
>>> +            ((a->vm == 0) || (a->rs2 == 0)) &&
>>> +            (s->sew != 0));
>>> +}
>>> +GEN_OPFVF_TRANS(vfmerge_vfm, opfvf_vfmerge_check)
>> Similar comments as for integer merge, using tcg_gen_gvec_dup_i64 for
>> unpredicated merges.
>>
>> In fact, there's no reason at all to define a helper function for this one.  
>> I
>> would expect you do be able to use the exact same helpers as for the integer
>> merges.
> 
> Do you mean that I should expands TCGv to TCGv_i64 for vmv.v.x in translation?
> So that I can reuse it.
> 
> void gen_helper_vmv_v_x(TCG_ptr, TCGv_i64, TCGv_env, TCGv_i32);

Oh, I see, yes currently the integer helper is TCGv.
Yes, it might be easiest to extend to TCGv_i64.


r~



reply via email to

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