This was assuming the vector types were MVTs, but they don't have to be.
Note that the concrete output of the test isn't very useful, since it's dominated by nonsensical calling convention lowering for the weird types (ideas for a less gross test welcome!)
An alternative to consider is whether it makes sense to try this that early, but we get to this from the generic ext-load combines, so I guess it's fine on that side
I kind of wondered if this should only require the vector element type to be simple but looking at MachineValueType.h the important vector types upto 2048bit are simple so I doubt it matters.