@@ -64,6 +64,20 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
6464
6565// -----
6666
67+ 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 >) {
68+ // CHECK: [[ELEM_BITS:%.*]] = llvm.mlir.constant(8 : i32) : i32
69+ // CHECK: [[TILE_WIDTH:%.*]] = llvm.mlir.constant(32 : i32) : i32
70+ // CHECK: [[TILE_HEIGHT:%.*]] = llvm.mlir.constant(1 : i32) : i32
71+ // CHECK: [[VBLOCKS:%.*]] = llvm.mlir.constant(1 : i32) : i32
72+ // CHECK: [[TRANSPOSE:%.*]] = llvm.mlir.constant(false) : i1
73+ // CHECK: [[VNNI:%.*]] = llvm.mlir.constant(false) : i1
74+ // CHECK: llvm.call spir_funccc @llvm.genx.GenISA.LSC2DBlockWrite.v8i16({{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}}, [[ELEM_BITS]], [[TILE_WIDTH]], [[TILE_HEIGHT]], [[VBLOCKS]], [[TRANSPOSE]], [[VNNI]], {{.*}})
75+ triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =8 , tile_width =32 , tile_height =1 , v_blocks =1 , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi16 >)
76+ llvm.return
77+ }
78+
79+ // -----
80+
6781llvm.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 >) {
6882 // CHECK-COUNT-2: llvm.mlir.constant(1 : i32) : i32
6983 // CHECK: [[ElemSize:%.*]] = llvm.mlir.constant(1 : i32) : i32
@@ -118,6 +132,20 @@ llvm.func @triton_gen.2Dblockstore(%ptr : !llvm.ptr<1>, %base_width : i32, %base
118132
119133// -----
120134
135+ 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 >) {
136+ // CHECK: [[ELEM_BITS:%.*]] = llvm.mlir.constant(16 : i32) : i32
137+ // CHECK: [[TILE_WIDTH:%.*]] = llvm.mlir.constant(32 : i32) : i32
138+ // CHECK: [[TILE_HEIGHT:%.*]] = llvm.mlir.constant(8 : i32) : i32
139+ // CHECK: [[VBLOCKS:%.*]] = llvm.mlir.constant(1 : i32) : i32
140+ // CHECK: [[TRANSPOSE:%.*]] = llvm.mlir.constant(false) : i1
141+ // CHECK: [[VNNI:%.*]] = llvm.mlir.constant(false) : i1
142+ // CHECK: llvm.call spir_funccc @llvm.genx.GenISA.LSC2DBlockWrite.v8i16({{.*}}, {{.*}}, {{.*}}, {{.*}}, {{.*}}, [[ELEM_BITS]], [[TILE_WIDTH]], [[TILE_HEIGHT]], [[VBLOCKS]], [[TRANSPOSE]], [[VNNI]], {{.*}})
143+ triton_gen.2Dblockstore %ptr , %base_width , %base_height , %base_pitch , %x , %y , %stored_val {elem_size_in_bits =16 , tile_width =32 , tile_height =8 , v_blocks =1 , cache_control =Default } : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi16 >)
144+ llvm.return
145+ }
146+
147+ // -----
148+
121149llvm.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 >) {
122150 // CHECK: [[ELEM_BITS:%.*]] = llvm.mlir.constant(32 : i32) : i32
123151 // CHECK: [[TILE_WIDTH:%.*]] = llvm.mlir.constant(4 : i32) : i32
0 commit comments