[llvm] [SPIR-V] Add support for SPV_INTEL_masked_gather_scatter extension (PR #185418)

Juan Manuel Martinez CaamaƱo via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 10 03:26:09 PDT 2026


================
@@ -102,14 +105,11 @@ void SPIRVConvertMaskedMemIntrinsics::visitIntrinsicInst(IntrinsicInst &I) {
 
     auto *NewI = B.CreateIntrinsic(Intrinsic::spv_masked_gather, Types, Args);
     I.replaceAllUsesWith(NewI);
-    ToErase.push_back(&I);
-  } else if (I.getIntrinsicID() == Intrinsic::masked_scatter) {
-    const SPIRVSubtarget &ST =
-        TM->getSubtarget<SPIRVSubtarget>(*I.getFunction());
-    if (!ST.canUseExtension(SPIRV::Extension::SPV_INTEL_masked_gather_scatter))
-      report_fatal_error(
-          "llvm.masked.scatter requires SPV_INTEL_masked_gather_scatter");
+    I.eraseFromParent();
+    return true;
+  }
 
+  if (I.getIntrinsicID() == Intrinsic::masked_scatter) {
     IRBuilder<> B(I.getParent());
     B.SetInsertPoint(&I);
----------------
jmmartinez wrote:

Instead you can use instead of calling `SetInsertPoint`:

```
IRBuilder<> B(&I);
```
---

Same comment for the block above.

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


More information about the llvm-commits mailing list