On 7/10/20 3:48 AM, frank.ch...@sifive.com wrote: > +#define REQUIRE_RVV do { \ > + if (s->mstatus_vs == 0) \ > + return false; \ > +} while (0)
You've used this macro already back in patch 7. I guess it should not have been there? Or this bit belongs there, one or the other. I think this patch requires a description and justification. I have no idea why you are replacing > - return (vext_check_isa_ill(s) && > - vext_check_overlap_mask(s, a->rd, a->vm, false) && > - vext_check_reg(s, a->rd, false) && > - vext_check_reg(s, a->rs2, false) && > - vext_check_reg(s, a->rs1, false)); with invisible returns > + REQUIRE_RVV; > + VEXT_CHECK_ISA_ILL(s); > + VEXT_CHECK_SSS(s, a->rd, a->rs1, a->rs2, a->vm, true); > + return true; r~