[llvm] [RISCV] Emit VP strided loads/stores in RISCVGatherScatterLowering (PR #98111)
Luke Lau via llvm-commits
llvm-commits at lists.llvm.org
Tue Jul 9 02:35:05 PDT 2024
================
@@ -144,9 +144,9 @@ define void @gather_zero_stride(ptr noalias nocapture %A, ptr noalias nocapture
; CHECK-NEXT: vsetvli zero, a3, e8, m1, ta, ma
; CHECK-NEXT: .LBB3_1: # %vector.body
; CHECK-NEXT: # =>This Inner Loop Header: Depth=1
-; CHECK-NEXT: lbu a3, 0(a1)
-; CHECK-NEXT: vle8.v v8, (a0)
-; CHECK-NEXT: vadd.vx v8, v8, a3
+; CHECK-NEXT: vlse8.v v8, (a1), zero
----------------
lukel97 wrote:
Oh I see, but we want the vmv.v.x/vmv.v.f to have vl=evl? Does wrapping the splat in a `@llvm.vp.select` with the passthru and false both set to undef, but using the original mask and evl work? #97989 recently landed which may help set vl=evl
https://github.com/llvm/llvm-project/pull/98111
More information about the llvm-commits
mailing list