Currently, generated vector instructions will use a distinct vd, vs2, and vs1. However, as I had to find out, it's easy to introduce bugs in an RVV implementation that only manifest when a register is used more than once, especially when vd is also a source register.
Thus, I suggest adding tests that cover that scenario.