Lowers the llvm.masked.gather intrinsics (scalar plus vector addressing mode only)
Changes in this patch:
- Add custom lowering for MGATHER, using getGatherVecOpcode() to choose the appropriate gather load opcode to use.
- Improve codegen with refineIndexType/refineUniformBase, added in D90942
- Tests added for gather loads with 32 & 64-bit scaled & unscaled offsets.
nit: can you add a comment here to describe that this option is temporary and only exists for the purpose of testing functionality added to DAGCombiner.cpp. Perhaps you can also say there is the expectation to remove it in the future, when both implementations of will be based off MGATHER. rather than relying on the ISD nodes we added for the llvm.aarch64.sve.ld1.gather intrinsics.