[Mlir-commits] [mlir] [MLIR][NVVM] Add tensormap.replace NVVM Op (PR #174926)

Srinivasa Ravi llvmlistbot at llvm.org
Mon Jan 19 02:07:31 PST 2026


================
@@ -0,0 +1,186 @@
+// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s
+
+// CHECK-LABEL: define void @tensormap_replace_global_address(ptr addrspace(1) %0, i64 %1) {
+llvm.func @tensormap_replace_global_address(%addr : !llvm.ptr<1>, %new_val : i64) {
+  // CHECK-NEXT: call void @llvm.nvvm.tensormap.replace.global.address.p1(ptr addrspace(1) %0, i64 %1)
+  nvvm.tensormap.replace field = global_address, new_value = %new_val in %addr : !llvm.ptr<1>, i64
+
+  // CHECK-NEXT: ret void
+  llvm.return
+  // CHECK-NEXT: }
+}
+
+// CHECK-LABEL: define void @tensormap_replace_rank(ptr addrspace(1) %0, i32 %1) {
+llvm.func @tensormap_replace_rank(%addr : !llvm.ptr<1>, %new_val : i32) {
+  // CHECK-NEXT: call void @llvm.nvvm.tensormap.replace.rank.p1(ptr addrspace(1) %0, i32 %1)
+  nvvm.tensormap.replace field = rank, new_value = %new_val in %addr : !llvm.ptr<1>, i32
+
+  // CHECK-NEXT: ret void
+  llvm.return
+  // CHECK-NEXT: }
+}
+
+// CHECK-LABEL: define void @tensormap_replace_box_dim(ptr addrspace(1) %0, i32 %1) {
+llvm.func @tensormap_replace_box_dim(%addr : !llvm.ptr<1>, %new_val : i32) {
+  // CHECK-NEXT: call void @llvm.nvvm.tensormap.replace.box.dim.p1(ptr addrspace(1) %0, i32 0, i32 %1)
+  nvvm.tensormap.replace field = box_dim, new_value = %new_val in %addr, ordinal = 0 : !llvm.ptr<1>, i32
+
+  // CHECK-NEXT: ret void
+  llvm.return
+  // CHECK-NEXT: }
+}
+
+// CHECK-LABEL: define void @tensormap_replace_global_dim(ptr addrspace(1) %0, i32 %1) {
+llvm.func @tensormap_replace_global_dim(%addr : !llvm.ptr<1>, %new_val : i32) {
+  // CHECK-NEXT: call void @llvm.nvvm.tensormap.replace.global.dim.p1(ptr addrspace(1) %0, i32 0, i32 %1)
+  nvvm.tensormap.replace field = global_dim, new_value = %new_val in %addr, ordinal = 0 : !llvm.ptr<1>, i32
----------------
Wolfram70 wrote:

That sounds like a neater way to do this. Updated the syntax to `[...]`. Thanks!

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


More information about the Mlir-commits mailing list