[llvm] [RISCV] Emit VP strided loads/stores in RISCVGatherScatterLowering (PR #98111)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Mon Jul 15 19:57:18 PDT 2024


================
@@ -116,7 +116,7 @@ define void @stride_one_store(i64 %n, ptr %p) {
 ; RV64:       # %bb.0:
 ; RV64-NEXT:    vsetvli a0, zero, e64, m1, ta, ma
 ; RV64-NEXT:    vmv.v.i v8, 0
-; RV64-NEXT:    vs1r.v v8, (a1)
+; RV64-NEXT:    vse64.v v8, (a1)
----------------
lukel97 wrote:

I think this is because we're missing a generic DAG combine from unit strided VP load/store -> regular load/store. I'm not sure if we have any precedent for canonicalising VP ops to non-VP ops already?

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


More information about the llvm-commits mailing list