This patch is built on top of the patch introducing non-extending masked gathers from a base and a vector of offsets (to be found at https://reviews.llvm.org/D72330).
It extends the pass that transforms selected gathers into calls to MVE's masked gather intrinsic by extending gathers.
This is a little long. Clang-format would fix it up I think.