On 7/10/20 3:48 AM, frank.chang@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
Yes, this change should be moved to patch 7.
> - 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~
You're right, I will resend the patches with more description and justification.
Frank Chang