[llvm] [RISCV] Match strided vector bases in RISCVGatherScatterLowering (PR #93972)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Fri May 31 11:11:15 PDT 2024


================
@@ -349,6 +349,22 @@ RISCVGatherScatterLowering::determineBaseAndStride(Instruction *Ptr,
 
   SmallVector<Value *, 2> Ops(GEP->operands());
 
+  // If the base pointer is a vector, check if it's strided.
----------------
lukel97 wrote:

I tried moving this down into the !ScalarBase case but it caused us to miss the splat_base_scalar_offset test case.

The code below bails if GEP doesn't have a vector offset, so putting it up here catches the case where we have a splat base + scalar offset.

https://github.com/llvm/llvm-project/pull/93972


More information about the llvm-commits mailing list