[llvm] [RISCV] Lower unmasked zero-stride vp.stride to a splat of one scalar load. (PR #97394)

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 3 09:39:24 PDT 2024


topperc wrote:

> But is there any reason why vp.strided.load doesn't have a passthru operand? Would it be much more straightforward if we add a passthru operand to it? I don't know the history, but it seems that these intrinsics (gather/scatter vs vp.strided.load/store) are not consistent.

None of the VP intrinsics have a passthru operand. The masked.gather/scatter intrinsics are much older and pretty much copied the X86 instruction semantics. I'm not sure vectorizer uses the passthru operand. The `IRBuilderBase::CreateMaskedGather` considers it an optional parameter and uses poison if its not provided.

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


More information about the llvm-commits mailing list