1
1
// RUN: triton-opt -convert-tritongen-to-llvm -split-input-file %s | FileCheck %s
2
2
3
+ module attributes {" ttg.threads-per-warp" = 16 : i32 } {
3
4
llvm.func @triton_gen.2Dblockstore (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 , %stored_val : vector <8 xi16 >) {
4
5
// CHECK: [[ONE0:%.*]] = llvm.mlir.constant(1 : i32) : i32
5
6
// CHECK: [[PTR:%.*]] = llvm.ptrtoint %arg0 : !llvm.ptr<1> to i64
@@ -25,11 +26,11 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
25
26
triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =8 , tile_width =8 , tile_height =8 , v_blocks =1 , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi16 >)
26
27
llvm.return
27
28
}
29
+ }
28
30
29
31
// -----
30
32
31
- // CHECK: llvm.func spir_funccc @_Z33__spirv_Subgroup2DBlockStoreINTELiiiiPvPU3AS1viiiDv2_i(i32, i32, i32, i32, !llvm.ptr {llvm.nonnull, llvm.readonly}, !llvm.ptr<1> {llvm.nonnull, llvm.writeonly}, i32, i32, i32, vector<2xi32>) attributes {no_unwind, will_return}
32
-
33
+ module attributes {" ttg.threads-per-warp" = 16 : i32 } {
33
34
llvm.func @triton_gen.2Dblockstore (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 , %stored_val : vector <8 xi8 >) {
34
35
// CHECK: llvm.func @triton_gen.2Dblockstore(%arg0: !llvm.ptr<1>, %arg1: i32, %arg2: i32, %arg3: i32, %arg4: i32, %arg5: i32, %arg6: vector<8xi8>) {
35
36
// CHECK: [[C8:%.*]] = llvm.mlir.constant(8 : i32) : i32
@@ -61,7 +62,7 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
61
62
triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =8 , tile_width =16 , tile_height =8 , v_blocks =1 , cache_control =L1UC_L3UC } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi8 >)
62
63
llvm.return
63
64
}
64
-
65
+ }
65
66
// -----
66
67
67
68
llvm.func @triton_gen.2Dblockstore (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 , %stored_val : vector <8 xi16 >) {
@@ -78,6 +79,7 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
78
79
79
80
// -----
80
81
82
+ module attributes {" ttg.threads-per-warp" = 16 : i32 } {
81
83
llvm.func @triton_gen.2Dblockstore (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 , %stored_val : vector <8 xi16 >) {
82
84
// CHECK-COUNT-2: llvm.mlir.constant(1 : i32) : i32
83
85
// CHECK: [[ElemSize:%.*]] = llvm.mlir.constant(1 : i32) : i32
@@ -88,6 +90,7 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
88
90
triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =8 , tile_width =32 , tile_height =8 , v_blocks =1 , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi16 >)
89
91
llvm.return
90
92
}
93
+ }
91
94
92
95
// -----
93
96
@@ -133,6 +136,7 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
133
136
134
137
// -----
135
138
139
+ module attributes {" ttg.threads-per-warp" = 16 : i32 } {
136
140
llvm.func @triton_gen.2Dblockstore (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 , %stored_val : vector <8 xi16 >) {
137
141
// CHECK: llvm.mlir.constant(2 : i32) : i32
138
142
// CHECK: [[ElemSize:%.*]] = llvm.mlir.constant(2 : i32) : i32
@@ -143,6 +147,7 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
143
147
triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =16 , tile_width =16 , tile_height =8 , v_blocks =1 , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi16 >)
144
148
llvm.return
145
149
}
150
+ }
146
151
147
152
// -----
148
153
@@ -188,6 +193,7 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
188
193
189
194
// -----
190
195
196
+ module attributes {" ttg.threads-per-warp" = 16 : i32 } {
191
197
llvm.func @triton_gen.2Dblockstore (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 , %stored_val : vector <8 xi32 >) {
192
198
// CHECK: llvm.mlir.constant(4 : i32) : i32
193
199
// CHECK: [[ElemSize:%.*]] = llvm.mlir.constant(4 : i32) : i32
@@ -198,3 +204,4 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
198
204
triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =32 , tile_width =16 , tile_height =8 , v_blocks =1 , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi32 >)
199
205
llvm.return
200
206
}
207
+ }
0 commit comments