@@ -59,21 +59,6 @@ declare float @llvm.nvvm.ldg.global.f.f32.p0(ptr, i32)
5959declare i32 @llvm.nvvm.atomic.load.inc.32 (ptr , i32 )
6060declare i32 @llvm.nvvm.atomic.load.dec.32 (ptr , i32 )
6161
62- declare ptr addrspace (3 ) @llvm.nvvm.mapa.shared.cluster (ptr addrspace (3 ), i32 )
63-
64- declare void @llvm.nvvm.cp.async.bulk.global.to.shared.cluster (ptr addrspace (3 ), ptr addrspace (3 ), ptr addrspace (1 ), i32 , i16 , i64 , i1 , i1 )
65- declare void @llvm.nvvm.cp.async.bulk.shared.cta.to.cluster (ptr addrspace (3 ), ptr addrspace (3 ), ptr addrspace (3 ), i32 )
66-
67- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.1d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
68- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.2d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
69- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.3d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i32 %d2 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
70- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.4d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
71- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.5d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i32 %d4 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
72-
73- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.3d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i32 %d2 , i16 %im2col0 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
74- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.4d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i16 %im2col0 , i16 %im2col1 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
75- declare void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.5d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tm , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i32 %d4 , i16 %im2col0 , i16 %im2col1 , i16 %im2col2 , i16 %mc , i64 %ch , i1 %f1 , i1 %f2 );
76-
7762; CHECK-LABEL: @simple_upgrade
7863define void @simple_upgrade (i32 %a , i64 %b , i16 %c ) {
7964; CHECK: call i32 @llvm.bitreverse.i32(i32 %a)
@@ -269,45 +254,3 @@ define i32 @atomics(ptr %p0, i32 %a) {
269254 ret i32 %r2
270255}
271256
272- ; CHECK-LABEL: @nvvm_shared_cluster_intrinsics
273- define void @nvvm_shared_cluster_intrinsics (ptr addrspace (3 ) %p0 , i32 %offset ) {
274- ; CHECK: %r = call ptr addrspace(7) @llvm.nvvm.mapa.shared.cluster(ptr addrspace(3) %p0, i32 %offset)
275- %r = call ptr addrspace (3 ) @llvm.nvvm.mapa.shared.cluster (ptr addrspace (3 ) %p0 , i32 %offset )
276- ret void
277- }
278-
279- ; CHECK-LABEL: @nvvm_cp_async_bulk_intrinsics
280- define void @nvvm_cp_async_bulk_intrinsics (ptr addrspace (3 ) %dst , ptr addrspace (3 ) %bar , ptr addrspace (1 ) %src , ptr addrspace (3 ) %src_shared , i32 %size ) {
281- ; CHECK: call void @llvm.nvvm.cp.async.bulk.global.to.shared.cluster(ptr addrspace(7) %1, ptr addrspace(3) %bar, ptr addrspace(1) %src, i32 %size, i16 0, i64 0, i1 false, i1 false)
282- ; CHECK: call void @llvm.nvvm.cp.async.bulk.shared.cta.to.cluster(ptr addrspace(7) %2, ptr addrspace(3) %bar, ptr addrspace(3) %src_shared, i32 %size)
283- call void @llvm.nvvm.cp.async.bulk.global.to.shared.cluster (ptr addrspace (3 ) %dst , ptr addrspace (3 ) %bar , ptr addrspace (1 ) %src , i32 %size , i16 0 , i64 0 , i1 false , i1 false )
284- call void @llvm.nvvm.cp.async.bulk.shared.cta.to.cluster (ptr addrspace (3 ) %dst , ptr addrspace (3 ) %bar , ptr addrspace (3 ) %src_shared , i32 %size )
285- ret void
286- }
287-
288- ; CHECK-LABEL: @nvvm_cp_async_bulk_tensor_g2s_im2col
289- define void @nvvm_cp_async_bulk_tensor_g2s_im2col (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i32 %d4 , i16 %im2col0 , i16 %im2col1 , i16 %im2col2 , i16 %mc , i64 %ch ) {
290- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.3d(ptr addrspace(7) %1, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i32 %d2, i16 %im2col0, i16 0, i64 0, i1 false, i1 false)
291- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.4d(ptr addrspace(7) %2, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i32 %d2, i32 %d3, i16 %im2col0, i16 %im2col1, i16 0, i64 0, i1 false, i1 false)
292- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.5d(ptr addrspace(7) %3, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i32 %d2, i32 %d3, i32 %d4, i16 %im2col0, i16 %im2col1, i16 %im2col2, i16 0, i64 0, i1 false, i1 false)
293- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.3d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i16 %im2col0 , i16 0 , i64 0 , i1 0 , i1 0 )
294- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.4d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i16 %im2col0 , i16 %im2col1 , i16 0 , i64 0 , i1 0 , i1 0 )
295- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.im2col.5d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i32 %d4 , i16 %im2col0 , i16 %im2col1 , i16 %im2col2 , i16 0 , i64 0 , i1 0 , i1 0 )
296- ret void
297- }
298-
299- ; CHECK-LABEL: @nvvm_cp_async_bulk_tensor_g2s_tile
300- define void @nvvm_cp_async_bulk_tensor_g2s_tile (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i32 %d4 , i16 %mc , i64 %ch ) {
301- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.1d(ptr addrspace(7) %1, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i16 0, i64 0, i1 false, i1 false)
302- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.2d(ptr addrspace(7) %2, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i16 0, i64 0, i1 false, i1 false)
303- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.3d(ptr addrspace(7) %3, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i32 %d2, i16 0, i64 0, i1 false, i1 false)
304- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.4d(ptr addrspace(7) %4, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i32 %d2, i32 %d3, i16 0, i64 0, i1 false, i1 false)
305- ; CHECK: call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.5d(ptr addrspace(7) %5, ptr addrspace(3) %bar, ptr %tmap, i32 %d0, i32 %d1, i32 %d2, i32 %d3, i32 %d4, i16 0, i64 0, i1 false, i1 false)
306- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.1d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i16 0 , i64 0 , i1 0 , i1 0 )
307- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.2d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i16 0 , i64 0 , i1 0 , i1 0 )
308- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.3d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i16 0 , i64 0 , i1 0 , i1 0 )
309- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.4d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i16 0 , i64 0 , i1 0 , i1 0 )
310- call void @llvm.nvvm.cp.async.bulk.tensor.g2s.tile.5d (ptr addrspace (3 ) %d , ptr addrspace (3 ) %bar , ptr %tmap , i32 %d0 , i32 %d1 , i32 %d2 , i32 %d3 , i32 %d4 , i16 0 , i64 0 , i1 0 , i1 0 )
311- ret void
312- }
313-
0 commit comments