|
1 | 1 | // RUN: mlir-opt --convert-nvvm-to-llvm --split-input-file %s | FileCheck %s
|
2 | 2 |
|
3 | 3 | // CHECK-LABEL : @init_mbarrier_arrive_expect_tx
|
4 |
| -llvm.func @init_mbarrier_arrive_expect_tx(%barrier : !llvm.ptr<3>, %txcount : i32) -> i32{ |
5 |
| - //CHECK : llvm.inline_asm has_side_effects asm_dialect = att "mbarrier.arrive.expect_tx.shared.b64 %0, [%1], %2;", "=r,r,r" %{{.*}}, %{{.*}} : (!llvm.ptr<3>, i32) -> i32 |
6 |
| - %res = nvvm.mbarrier.arrive.expect_tx.shared %barrier, %txcount : !llvm.ptr<3>, i32 -> i32 |
7 |
| - llvm.return %res : i32 |
| 4 | +llvm.func @init_mbarrier_arrive_expect_tx(%barrier : !llvm.ptr<3>, %txcount : i32) -> i64 { |
| 5 | + //CHECK : llvm.inline_asm has_side_effects asm_dialect = att "mbarrier.arrive.expect_tx.shared.b64 %0, [%1], %2;", "=l,r,r" %{{.*}}, %{{.*}} : (!llvm.ptr<3>, i32) -> i64 |
| 6 | + %res = nvvm.mbarrier.arrive.expect_tx.shared %barrier, %txcount : !llvm.ptr<3>, i32 -> i64 |
| 7 | + llvm.return %res : i64 |
8 | 8 | }
|
9 | 9 |
|
10 | 10 | // CHECK-LABEL : @init_mbarrier_arrive_expect_tx_generic
|
11 |
| -llvm.func @init_mbarrier_arrive_expect_tx_generic(%barrier : !llvm.ptr, %txcount : i32)-> i32 { |
12 |
| - // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "mbarrier.arrive.expect_tx.b64 %0, [%1], %2;", "=r,l,r" %{{.*}}, %{{.*}} : (!llvm.ptr, i32) -> i32 |
13 |
| - %res = nvvm.mbarrier.arrive.expect_tx %barrier, %txcount : !llvm.ptr, i32 -> i32 |
14 |
| - llvm.return %res : i32 |
| 11 | +llvm.func @init_mbarrier_arrive_expect_tx_generic(%barrier : !llvm.ptr, %txcount : i32)-> i64 { |
| 12 | + // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "mbarrier.arrive.expect_tx.b64 %0, [%1], %2;", "=l,l,r" %{{.*}}, %{{.*}} : (!llvm.ptr, i32) -> i64 |
| 13 | + %res = nvvm.mbarrier.arrive.expect_tx %barrier, %txcount : !llvm.ptr, i32 -> i64 |
| 14 | + llvm.return %res : i64 |
15 | 15 | }
|
16 | 16 |
|
17 | 17 | // CHECK-LABEL : @init_mbarrier_try_wait.parity.shared
|
18 |
| -llvm.func @init_mbarrier_try_wait.parity.shared(%barrier : !llvm.ptr<3>, %token : i32) -> i32 { |
| 18 | +llvm.func @init_mbarrier_try_wait_shared(%barrier : !llvm.ptr<3>, %token : i32) -> i32 { |
19 | 19 | // CHECK : llvm.inline_asm has_side_effects asm_dialect = att "{\0A\09.reg .pred P1; \0A\09mbarrier.try_wait.parity.shared.b64 P1, [%1], %2; \0A\09selp.b32 %0, 1, 0, P1; \0A\09}", "=r,r,r" %{{.*}}, %{{.*}} : (!llvm.ptr<3>, i32) -> i32
|
20 | 20 | %res = nvvm.mbarrier.try_wait.parity.shared %barrier, %token : !llvm.ptr<3>, i32 -> i32
|
21 | 21 | llvm.return %res : i32
|
22 | 22 | }
|
23 | 23 |
|
24 | 24 | // CHECK-LABEL : @init_mbarrier_try_wait.parity
|
25 |
| -llvm.func @init_mbarrier_try_wait.parity(%barrier : !llvm.ptr, %token : i32) -> i32{ |
| 25 | +llvm.func @init_mbarrier_try_wait(%barrier : !llvm.ptr, %token : i32) -> i32{ |
26 | 26 | // CHECK: llvm.inline_asm has_side_effects asm_dialect = att "{\0A\09.reg .pred P1; \0A\09mbarrier.try_wait.parity.b64 P1, [%1], %2; \0A\09selp.b32 %0, 1, 0, P1; \0A\09}", "=r,l,r" %{{.*}}, %{{.*}} : (!llvm.ptr, i32) -> i32
|
27 | 27 | %res = nvvm.mbarrier.try_wait.parity %barrier, %token : !llvm.ptr, i32 -> i32
|
28 | 28 | llvm.return %res : i32
|
|
0 commit comments