Re: [PATCH v5 22/60] target/riscv: vector integer merge and move instructions

2020-03-15 Thread Richard Henderson
On 3/15/20 7:57 PM, LIU Zhiwei wrote: >> You definitely want to use tcg_gen_gvec_mov (vv), tcg_gen_gvec_dup_i{32,64} >> (vx) and tcg_gen_gvec_dup{8,16,32,64}i (vi). > I have a question here. > > Are these GVEC IRsĀ  proper for any vl, or just when vl equals vlmax? > I see there are some align asser

Re: [PATCH v5 22/60] target/riscv: vector integer merge and move instructions

2020-03-15 Thread LIU Zhiwei
On 2020/3/14 15:27, Richard Henderson wrote: On 3/12/20 7:58 AM, LIU Zhiwei wrote: +/* Vector Integer Merge and Move Instructions */ +static bool opivv_vmerge_check(DisasContext *s, arg_rmrr *a) +{ +return (vext_check_isa_ill(s, RVV) && +vext_check_overlap_mask(s, a->rd, a->vm,

Re: [PATCH v5 22/60] target/riscv: vector integer merge and move instructions

2020-03-14 Thread Richard Henderson
On 3/12/20 7:58 AM, LIU Zhiwei wrote: > +/* Vector Integer Merge and Move Instructions */ > +static bool opivv_vmerge_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

[PATCH v5 22/60] target/riscv: vector integer merge and move instructions

2020-03-12 Thread LIU Zhiwei
Signed-off-by: LIU Zhiwei --- target/riscv/helper.h | 9 target/riscv/insn32.decode | 3 ++ target/riscv/insn_trans/trans_rvv.inc.c | 24 ++ target/riscv/vector_helper.c| 58 + 4 files changed, 94 insertions(+) dif