RVV does have significant departures from prior work, and some of them are difficult to understand:
- the whole concept of avl, which adds complexity in many areas including reg renaming. From where I sit, we could just use masks instead.
- mask bits reside in the lower bits of a vector, so we either require tons of lane-crossing wires or some kind of caching.
- global state LMUL/SEW makes things hard for compilers and OoO.
- LMUL is cool but I imagine it's not fun to implement reductions, and vrgather.