@@ -32,6 +32,18 @@ llvm.func @blockload2d(%a: !llvm.ptr<1>, %base_width_a: i32, %base_height_a: i32
32
32
llvm.return %loaded_a : vector <8 xi16 >
33
33
}
34
34
35
+ // -----
36
+ // CHECK-LABEL: llvm.func spir_funccc @_Z41intel_sub_group_2d_block_read_16b_8r16x1cPU3AS1viiiDv2_iPt(
37
+ llvm.func @blockload2d (%a: !llvm.ptr <1 >, %base_width_a: i32 , %base_height_a: i32 , %base_pitch_a: i32 , %x: i32 , %y: i32 ) -> vector <8 xi16 > {
38
+ // CHECK: xevm.DecorationCacheControl =
39
+ // CHECK-SAME: 6442 : i32, 0 : i32, 1 : i32, 0 : i32
40
+ // CHECK-SAME: 6442 : i32, 1 : i32, 1 : i32, 0 : i32
41
+ %loaded_a = xevm.blockload2d %a , %base_width_a , %base_height_a , %base_pitch_a , %x , %y
42
+ <{elem_size_in_bits =16 : i32 , tile_width =16 : i32 , tile_height =8 : i32 , v_blocks =1 : i32 , transpose =false ,
43
+ pack_register =false , cache_control =#xevm.load_cache_control <L1uc_L2uc_L3uc >}> : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 ) -> vector <8 xi16 >
44
+ llvm.return %loaded_a : vector <8 xi16 >
45
+ }
46
+
35
47
// -----
36
48
// CHECK-LABEL: llvm.func spir_funccc @_Z41intel_sub_group_2d_block_read_16b_8r16x2cPU3AS1viiiDv2_iPt(
37
49
// CHECK-SAME: !llvm.ptr<1> {llvm.nonnull, llvm.readonly}, i32, i32, i32, vector<2xi32>,
@@ -148,6 +160,18 @@ llvm.func @blockstore2d(%c: !llvm.ptr<1>, %base_width_c: i32, %base_height_c: i3
148
160
llvm.return
149
161
}
150
162
163
+ // -----
164
+ // CHECK-LABEL: llvm.func spir_funccc @_Z42intel_sub_group_2d_block_write_32b_8r16x1cPU3AS1viiiDv2_iPj(
165
+ llvm.func @blockstore2d (%c: !llvm.ptr <1 >, %base_width_c: i32 , %base_height_c: i32 , %base_pitch_c: i32 , %x: i32 , %y: i32 , %c_result_casted: vector <8 xi32 >) {
166
+ // CHECK: xevm.DecorationCacheControl =
167
+ // CHECK-SAME: 6443 : i32, 0 : i32, 2 : i32, 0 : i32
168
+ // CHECK-SAME: 6443 : i32, 1 : i32, 2 : i32, 0 : i32
169
+ xevm.blockstore2d %c , %base_width_c , %base_height_c , %base_pitch_c , %x , %y , %c_result_casted
170
+ <{elem_size_in_bits =32 : i32 , tile_width =16 : i32 , tile_height =8 : i32 , cache_control = #xevm.store_cache_control <L1wt_L2uc_L3wb >}>
171
+ : (!llvm.ptr <1 >, i32 , i32 , i32 , i32 , i32 , vector <8 xi32 >)
172
+ llvm.return
173
+ }
174
+
151
175
// -----
152
176
// CHECK-LABEL: llvm.func spir_funccc @_Z44intel_sub_group_2d_block_prefetch_8b_8r32x1cPU3AS1viiiDv2_i(
153
177
// CHECK-SAME: !llvm.ptr<1> {llvm.nonnull}, i32, i32, i32, vector<2xi32>) attributes
0 commit comments