blob: a8f80296f20aec5f526e84c1d1f5e536c329b28a [file] [edit]
// RUN: mlir-translate -mlir-to-llvmir %s | FileCheck %s --check-prefix=CHECK-LLVM
// CHECK-LABEL: @llvm_nvvm_tcgen05_alloc
llvm.func @llvm_nvvm_tcgen05_alloc(%addr : !llvm.ptr, %ncols : i32) {
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.alloc.cg1(ptr %{{.*}}, i32 %{{.*}})
nvvm.tcgen05.alloc %addr, %ncols : !llvm.ptr, i32
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.alloc.cg2(ptr %{{.*}}, i32 %{{.*}})
nvvm.tcgen05.alloc %addr, %ncols {group = #nvvm.cta_group<cta_2>} : !llvm.ptr, i32
llvm.return
}
// CHECK-LABEL: @llvm_nvvm_tcgen05_alloc_shared
llvm.func @llvm_nvvm_tcgen05_alloc_shared(%addr : !llvm.ptr<3>, %ncols : i32) {
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.alloc.shared.cg1(ptr addrspace(3) %{{.*}}, i32 %{{.*}})
nvvm.tcgen05.alloc %addr, %ncols : !llvm.ptr<3>, i32
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.alloc.shared.cg2(ptr addrspace(3) %{{.*}}, i32 %{{.*}})
nvvm.tcgen05.alloc %addr, %ncols {group = #nvvm.cta_group<cta_2>} : !llvm.ptr<3>, i32
llvm.return
}
// CHECK-LABEL: @llvm_nvvm_tcgen05_dealloc
llvm.func @llvm_nvvm_tcgen05_dealloc(%addr : !llvm.ptr<6>, %ncols : i32) {
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.dealloc.cg1(ptr addrspace(6) %{{.*}}, i32 %{{.*}})
nvvm.tcgen05.dealloc %addr, %ncols : !llvm.ptr<6>, i32
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.dealloc.cg2(ptr addrspace(6) %{{.*}}, i32 %{{.*}})
nvvm.tcgen05.dealloc %addr, %ncols {group = #nvvm.cta_group<cta_2>} : !llvm.ptr<6>, i32
llvm.return
}
// CHECK-LABEL: @llvm_nvvm_tcgen05_relinquish_alloc_permit
llvm.func @llvm_nvvm_tcgen05_relinquish_alloc_permit() {
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.relinq.alloc.permit.cg1()
nvvm.tcgen05.relinquish_alloc_permit
// CHECK-LLVM: call void @llvm.nvvm.tcgen05.relinq.alloc.permit.cg2()
nvvm.tcgen05.relinquish_alloc_permit {group = #nvvm.cta_group<cta_2>}
llvm.return
}