> While working on overlap for widening instructions, I realize that we set
> vwadd.wx/vfwadd.wf as earlyclobber which is incorrect.
> 
> Since according to RVV ISA:
> "The destination EEW equals the source EEW."
> 
> For both vwadd.wx/vfwadd.wf source vector and dest vector operand are same 
> EEW.
> So, they should be able to overlap registers.

A bit more verbose:

vwadd.vx widens the first source operand (i.e. 2 * source EEW = dest EEW) while
vwadd.wx only widens the second/scalar source operand.

Therefore overlap is legal for wx but not for vx.

OK from my side as it's a fix.

Regards
 Robin

Reply via email to