On 2/25/20 6:43 PM, LIU Zhiwei wrote: > Signed-off-by: LIU Zhiwei <zhiwei_liu@xxxxxxxxx> > --- > target/riscv/helper.h | 395 +++++++ > target/riscv/insn32.decode | 127 +++ > target/riscv/insn_trans/trans_rvv.inc.c | 671 +++++++++++- > target/riscv/vector_helper.c | 1308 ++++++++++++++++++++++- > 4 files changed, 2462 insertions(+), 39 deletions(-) This patch is too large and needs splitting. > -static bool vext_check_overlap_mask(DisasContext *s, uint32_t vd, bool vm) > +static bool vext_check_overlap_mask(DisasContext *s, uint32_t vd, bool vm, > + bool widen) > { > - return !(s->lmul > 1 && vm == 0 && vd == 0); > + return (vm != 0 || vd != 0) ? true : (!widen && (s->lmul == 0)); > } > Best to move the addition of widen back to the patch that introduced this function. The "? true :" is a funny way to write ||. r~