For stores of small fixed-length vector constants, we can store them
with a sequence of lui/addi/sh/sw to avoid the cost of building the
vector and the vsetivli toggle.
Note that this only handles vectors that are 32 bits or smaller, but
could be expanded to 64 bits if we know that the constant
materialization cost isn't too high.
Isn't this case now fully covered by the one you added? I think you can delete this.
Ah, I see the problem. Rather than checking that MemVT is less than 32 bits, you can check that the splat constant isUint<32>.
Or if you want, you can directly check materialization cost < 2 using RISCVMatInt.cpp/h