If we have a load/store with an illegal fixed length vector result type that
needs widened, e.g. x:v6i32 = load p
Instead of just widening it to: x:v8i32 = load p
We can widen it to the equivalent VP operation and set the EVL to the
exact number of elements needed: x:v8i32 = vp_load a, b, mask=true, evl=6
Provided that the target supports vp_load/vp_store on the widened type.
Scalable vectors are already widened this way where possible, so this
largely reuses the same logic.
Can we use SelectionDAG::getElementCount?