[llvm] [NVPTX] Vectorize and lower 256-bit global loads/stores for sm_100+/ptx88+ (PR #139292)

Drew Kersnar via llvm-commits llvm-commits at lists.llvm.org
Fri May 9 11:25:10 PDT 2025


================
@@ -1502,6 +1542,16 @@ bool NVPTXDAGToDAGISel::tryStoreVector(SDNode *N) {
     N2 = N->getOperand(5);
     ToTypeWidth = TotalWidth / 4;
     break;
+  case NVPTXISD::StoreV8:
+    if (!Subtarget->has256BitMaskedLoadStore())
+      return false;
+    VecType = NVPTX::PTXLdStInstCode::V8;
+    Ops.append({N->getOperand(1), N->getOperand(2), N->getOperand(3),
+                N->getOperand(4), N->getOperand(5), N->getOperand(6),
+                N->getOperand(7), N->getOperand(8)});
+    N2 = N->getOperand(9);
----------------
dakersnar wrote:

We would still need to set the VecType in the switch, right? Or would you want a second switch that switches from NumElts -> VecType?

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


More information about the llvm-commits mailing list