@@ -507,6 +507,30 @@ func.func @elect_one_leader_sync() {
507
507
508
508
// -----
509
509
510
+ // CHECK-LABEL: @stmatrix(
511
+ // CHECK-SAME: %[[arg0:[a-zA-Z0-9_]+]]: !llvm.ptr<3>,
512
+ // CHECK-SAME: %[[arg1:[a-zA-Z0-9_]+]]: i32,
513
+ // CHECK-SAME: %[[arg2:[a-zA-Z0-9_]+]]: i32,
514
+ // CHECK-SAME: %[[arg3:[a-zA-Z0-9_]+]]: i32,
515
+ // CHECK-SAME: %[[arg4:[a-zA-Z0-9_]+]]: i32)
516
+ llvm.func @stmatrix (%arg0 : !llvm.ptr <3 >, %m1 : i32 , %m2 : i32 , %m3 : i32 , %m4 : i32 ) {
517
+ // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "stmatrix.sync.aligned.x1.m8n8.shared.b16 [$0], {$1}", "r,r" %[[arg0]], %[[arg1]] : (!llvm.ptr<3>, i32) -> ()
518
+ // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "stmatrix.sync.aligned.x2.m8n8.shared.b16 [$0], {$1, $2}", "r,r,r" %[[arg0]], %[[arg1]], %[[arg2]] : (!llvm.ptr<3>, i32, i32) -> ()
519
+ // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "stmatrix.sync.aligned.x4.m8n8.shared.b16 [$0], {$1, $2, $3, $4};", "r,r,r,r,r" %[[arg0]], %[[arg1]], %[[arg2]], %[[arg3]], %[[arg4]] : (!llvm.ptr<3>, i32, i32, i32, i32) -> ()
520
+ // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "stmatrix.sync.aligned.x1.trans.m8n8.shared.b16 [$0], {$1}", "r,r" %[[arg0]], %[[arg1]] : (!llvm.ptr<3>, i32) -> ()
521
+ // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "stmatrix.sync.aligned.x2.trans.m8n8.shared.b16 [$0], {$1, $2}", "r,r,r" %[[arg0]], %[[arg1]], %[[arg2]] : (!llvm.ptr<3>, i32, i32) -> ()
522
+ // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "stmatrix.sync.aligned.x4.trans.m8n8.shared.b16 [$0], {$1, $2, $3, $4};", "r,r,r,r,r" %[[arg0]], %[[arg1]], %[[arg2]], %[[arg3]], %[[arg4]] : (!llvm.ptr<3>, i32, i32, i32, i32) -> ()
523
+ nvvm.stmatrix %arg0 , %m1 {layout = #nvvm.mma_layout <row >} : !llvm.ptr <3 >, i32
524
+ nvvm.stmatrix %arg0 , %m1 , %m2 {layout = #nvvm.mma_layout <row >} : !llvm.ptr <3 >, i32 , i32
525
+ nvvm.stmatrix %arg0 , %m1 , %m2 , %m3 , %m4 {layout = #nvvm.mma_layout <row >} : !llvm.ptr <3 >, i32 , i32 , i32 , i32
526
+ nvvm.stmatrix %arg0 , %m1 {layout = #nvvm.mma_layout <col >} : !llvm.ptr <3 >, i32
527
+ nvvm.stmatrix %arg0 , %m1 , %m2 {layout = #nvvm.mma_layout <col >} : !llvm.ptr <3 >, i32 , i32
528
+ nvvm.stmatrix %arg0 , %m1 , %m2 , %m3 , %m4 {layout = #nvvm.mma_layout <col >} : !llvm.ptr <3 >, i32 , i32 , i32 , i32
529
+ llvm.return
530
+ }
531
+
532
+ // -----
533
+
510
534
// CHECK-LABEL: @init_mbarrier_arrive_expect_tx
511
535
llvm.func @init_mbarrier_arrive_expect_tx (%desc : !llvm.ptr , %pred : i1 ) {
512
536
//CHECK: llvm.inline_asm has_side_effects asm_dialect = att "prefetch.tensormap [$0];", "l"
0 commit comments