@@ -97,7 +97,7 @@ llvm.func @triton_gen.2Dblockload(%ptr : !llvm.ptr<1>, %base_width : i32, %base_
97
97
// CHECK: llvm.func spir_funccc @_Z32__spirv_Subgroup2DBlockLoadINTELiiiiPU3AS1viiiDv2_iPv(i32, i32, i32, i32, !llvm.ptr<1> {llvm.nonnull, llvm.readonly}, i32, i32, i32, vector<2xi32>, !llvm.ptr {llvm.nonnull, llvm.writeonly}) attributes {no_unwind, will_return}
98
98
99
99
module attributes {" ttg.threads-per-warp" = 16 : i32 } {
100
- llvm.func @triton_gen.2Dblockload2 (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 ) {
100
+ llvm.func @triton_gen.2Dblockload (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 ) {
101
101
// CHECK: [[C32:%.*]] = llvm.mlir.constant(32 : i32) : i32
102
102
// CHECK-NEXT: [[DEST:%.*]] = llvm.alloca [[C32]] x i8 : (i32) -> !llvm.ptr
103
103
// CHECK-NEXT: [[PTRTOINT:%.*]] = llvm.ptrtoint %arg0 : !llvm.ptr<1> to i64
@@ -162,6 +162,22 @@ llvm.func @triton_gen.2Dblockload(%ptr : !llvm.ptr<1>, %base_width : i32, %base_
162
162
163
163
// -----
164
164
165
+ module attributes {" ttg.threads-per-warp" = 16 : i32 } {
166
+ llvm.func @triton_gen.2Dblockload (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 ) {
167
+ // CHECK: [[ELEM_BITS:%.*]] = llvm.mlir.constant(8 : i32) : i32
168
+ // CHECK: [[TILE_WIDTH:%.*]] = llvm.mlir.constant(8 : i32) : i32
169
+ // CHECK: [[TILE_HEIGHT:%.*]] = llvm.mlir.constant(16 : i32) : i32
170
+ // CHECK: [[VBLOCKS:%.*]] = llvm.mlir.constant(4 : i32) : i32
171
+ // CHECK: [[TRANSPOSE:%.*]] = llvm.mlir.constant(false) : i1
172
+ // CHECK: [[VNNI:%.*]] = llvm.mlir.constant(false) : i1
173
+ // CHECK: llvm.call spir_funccc @llvm.genx.GenISA.LSC2DBlockRead.v32i8({{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}}, [[ELEM_BITS]], [[TILE_WIDTH]], [[TILE_HEIGHT]], [[VBLOCKS]], [[TRANSPOSE]], [[VNNI]], {{.*}})
174
+ %0 = triton_gen.2Dblockload %ptr , %base_width , %base_height , %base_pitch , %x , %y {elem_size_in_bits =8 , tile_width =8 , tile_height =16 , v_blocks =4 , transpose =false , vnni_transform =false , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 ) -> vector <32 xi8 >
175
+ llvm.return
176
+ }
177
+ }
178
+
179
+ // -----
180
+
165
181
module attributes {" ttg.threads-per-warp" = 16 : i32 } {
166
182
llvm.func @triton_gen.2Dblockload (%ptr : !llvm.ptr <1 >, %base_width : i32 , %base_height : i32 , %base_pitch : i32 , %x : i32 , %y : i32 ) {
167
183
// CHECK-COUNT-2: llvm.mlir.constant(1 : i32) : i32
0 commit comments