@@ -202,15 +202,15 @@ func.func @vector_maskedload_i4(%arg1: index, %arg2: index, %arg3: index, %passt
202
202
203
203
// -----
204
204
205
- func.func @vector_cst_maskedload_i8 (%arg1: index , %arg2: index , %passthru: vector <4 xi8 >) -> vector <4 xi8 > {
205
+ func.func @vector_maskedload_i8_constant_mask (%arg1: index , %arg2: index , %passthru: vector <4 xi8 >) -> vector <4 xi8 > {
206
206
%0 = memref.alloc () : memref <3 x4 xi8 >
207
207
%mask = vector.constant_mask [2 ] : vector <4 xi1 >
208
208
%1 = vector.maskedload %0 [%arg1 , %arg2 ], %mask , %passthru :
209
209
memref <3 x4 xi8 >, vector <4 xi1 >, vector <4 xi8 > into vector <4 xi8 >
210
210
return %1 : vector <4 xi8 >
211
211
}
212
212
// Expect no conversions, i8 is supported.
213
- // CHECK: func @vector_cst_maskedload_i8 (
213
+ // CHECK: func @vector_maskedload_i8_constant_mask (
214
214
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
215
215
// CHECK-SAME: %[[ARG2:[a-zA-Z0-9]+]]: vector<4xi8>)
216
216
// CHECK-NEXT: %[[ALLOC:.+]] = memref.alloc() : memref<3x4xi8>
@@ -220,7 +220,7 @@ func.func @vector_cst_maskedload_i8(%arg1: index, %arg2: index, %passthru: vecto
220
220
// CHECK-NEXT: return
221
221
222
222
// CHECK32-DAG: #[[LOAD_IDX_MAP:.+]] = affine_map<()[s0, s1] -> (s0 + s1 floordiv 4)>
223
- // CHECK32: func @vector_cst_maskedload_i8 (
223
+ // CHECK32: func @vector_maskedload_i8_constant_mask (
224
224
// CHECK32-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
225
225
// CHECK32-SAME: %[[ARG3:[a-zA-Z0-9]+]]: vector<4xi8>)
226
226
// CHECK32: %[[ALLOC:.+]] = memref.alloc() : memref<3xi32>
@@ -236,7 +236,7 @@ func.func @vector_cst_maskedload_i8(%arg1: index, %arg2: index, %passthru: vecto
236
236
237
237
// -----
238
238
239
- func.func @vector_cst_maskedload_i4 (%arg1: index , %arg2: index , %passthru: vector <8 xi4 >) -> vector <3 x8 xi4 > {
239
+ func.func @vector_maskedload_i4_constant_mask (%arg1: index , %arg2: index , %passthru: vector <8 xi4 >) -> vector <3 x8 xi4 > {
240
240
%0 = memref.alloc () : memref <3 x8 xi4 >
241
241
%cst = arith.constant dense <0 > : vector <3 x8 xi4 >
242
242
%mask = vector.constant_mask [4 ] : vector <8 xi1 >
@@ -246,7 +246,7 @@ func.func @vector_cst_maskedload_i4(%arg1: index, %arg2: index, %passthru: vecto
246
246
return %2 : vector <3 x8 xi4 >
247
247
}
248
248
// CHECK-DAG: #[[LOAD_IDX_MAP:.+]] = affine_map<()[s0, s1] -> (s0 * 4 + s1 floordiv 2)>
249
- // CHECK: func @vector_cst_maskedload_i4 (
249
+ // CHECK: func @vector_maskedload_i4_constant_mask (
250
250
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
251
251
// CHECK-SAME: %[[ARG2:[a-zA-Z0-9]+]]: vector<8xi4>)
252
252
// CHECK: %[[ALLOC:.+]] = memref.alloc() : memref<12xi8>
@@ -260,7 +260,7 @@ func.func @vector_cst_maskedload_i4(%arg1: index, %arg2: index, %passthru: vecto
260
260
// CHECK: %[[SELECT:.+]] = arith.select %[[ORIG_MASK]], %[[BITCAST]], %[[ARG2]] : vector<8xi1>, vector<8xi4>
261
261
262
262
// CHECK32-DAG: #[[LOAD_IDX_MAP:.+]] = affine_map<()[s0, s1] -> (s0 + s1 floordiv 8)>
263
- // CHECK32: func @vector_cst_maskedload_i4 (
263
+ // CHECK32: func @vector_maskedload_i4_constant_mask (
264
264
// CHECK32-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
265
265
// CHECK32-SAME: %[[ARG2:[a-zA-Z0-9]+]]: vector<8xi4>)
266
266
// CHECK32: %[[ALLOC:.+]] = memref.alloc() : memref<3xi32>
@@ -500,7 +500,6 @@ func.func @vector_maskedstore_i4(
500
500
%value: vector <8 xi4 >) {
501
501
502
502
%0 = memref.alloc () : memref <3 x8 xi4 >
503
- %cst = arith.constant dense <0 > : vector <3 x8 xi4 >
504
503
%mask = vector.create_mask %num_elements_to_store : vector <8 xi1 >
505
504
vector.maskedstore %0 [%idx1 , %idx2 ], %mask , %value :
506
505
memref <3 x8 xi4 >, vector <8 xi1 >, vector <8 xi4 >
@@ -548,14 +547,14 @@ func.func @vector_maskedstore_i4(
548
547
549
548
// -----
550
549
551
- func.func @vector_cst_maskedstore_i8 (%arg0: index , %arg1: index , %value: vector <8 xi8 >) {
550
+ func.func @vector_maskedstore_i8_constant_mask (%arg0: index , %arg1: index , %value: vector <8 xi8 >) {
552
551
%0 = memref.alloc () : memref <3 x8 xi8 >
553
552
%mask = vector.constant_mask [4 ] : vector <8 xi1 >
554
553
vector.maskedstore %0 [%arg0 , %arg1 ], %mask , %value : memref <3 x8 xi8 >, vector <8 xi1 >, vector <8 xi8 >
555
554
return
556
555
}
557
556
// Expect no conversions, i8 is supported.
558
- // CHECK: func @vector_cst_maskedstore_i8 (
557
+ // CHECK: func @vector_maskedstore_i8_constant_mask (
559
558
// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]
560
559
// CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]
561
560
// CHECK-SAME: %[[VAL:[a-zA-Z0-9]+]]
@@ -565,7 +564,7 @@ func.func @vector_cst_maskedstore_i8(%arg0: index, %arg1: index, %value: vector<
565
564
// CHECK-NEXT: return
566
565
567
566
// CHECK32-DAG: #[[LOAD_IDX_MAP:.+]] = affine_map<()[s0, s1] -> (s0 * 2 + s1 floordiv 4)>
568
- // CHECK32: func @vector_cst_maskedstore_i8 (
567
+ // CHECK32: func @vector_maskedstore_i8_constant_mask (
569
568
// CHECK32-SAME: %[[ARG0:[a-zA-Z0-9]+]]
570
569
// CHECK32-SAME: %[[ARG1:[a-zA-Z0-9]+]]
571
570
// CHECK32-SAME: %[[VAL:[a-zA-Z0-9]+]]
@@ -582,21 +581,20 @@ func.func @vector_cst_maskedstore_i8(%arg0: index, %arg1: index, %value: vector<
582
581
583
582
// -----
584
583
585
- func.func @vector_cst_maskedstore_i4 (
584
+ func.func @vector_maskedstore_i4_constant_mask (
586
585
%idx_1: index ,
587
586
%idx_2: index ,
588
587
%val_to_store: vector <8 xi4 >) {
589
588
590
589
%0 = memref.alloc () : memref <3 x8 xi4 >
591
- %cst = arith.constant dense <0 > : vector <3 x8 xi4 >
592
590
%mask = vector.constant_mask [4 ] : vector <8 xi1 >
593
591
vector.maskedstore %0 [%idx_1 , %idx_2 ], %mask , %val_to_store :
594
592
memref <3 x8 xi4 >, vector <8 xi1 >, vector <8 xi4 >
595
593
return
596
594
}
597
595
598
596
// CHECK: #[[$ATTR_12:.+]] = affine_map<()[s0, s1] -> (s0 * 4 + s1 floordiv 2)>
599
- // CHECK-LABEL: func.func @vector_cst_maskedstore_i4 (
597
+ // CHECK-LABEL: func.func @vector_maskedstore_i4_constant_mask (
600
598
// CHECK-SAME: %[[IDX_1:[a-zA-Z0-9]+]]: index,
601
599
// CHECK-SAME: %[[IDX_2:[a-zA-Z0-9]+]]: index,
602
600
// CHECK-SAME: %[[VAL_TO_STORE:[a-zA-Z0-9]+]]: vector<8xi4>) {
@@ -606,13 +604,13 @@ func.func @vector_cst_maskedstore_i4(
606
604
// CHECK: %[[NEW_MASK:.+]] = vector.constant_mask [2] : vector<4xi1>
607
605
// CHECK: %[[PASS_THRU:.+]] = arith.constant dense<0> : vector<4xi8>
608
606
// CHECK: %[[LOAD:.+]] = vector.maskedload %[[ALLOC]]{{\[}}%[[LIDX]]], %[[NEW_MASK]], %[[PASS_THRU]] : memref<12xi8>, vector<4xi1>, vector<4xi8> into vector<4xi8>
609
- // CHECK: %[[VAL_9 :.+]] = vector.bitcast %[[LOAD]] : vector<4xi8> to vector<8xi4>
610
- // CHECK: %[[SELECT:.+]] = arith.select %[[ORIG_MASK]], %[[VAL_TO_STORE]], %[[VAL_9 ]] : vector<8xi1>, vector<8xi4>
611
- // CHECK: %[[BITCAST :.+]] = vector.bitcast %[[SELECT]] : vector<8xi4> to vector<4xi8>
612
- // CHECK: vector.maskedstore %[[ALLOC]]{{\[}}%[[LIDX]]], %[[NEW_MASK]], %[[BITCAST ]] : memref<12xi8>, vector<4xi1>, vector<4xi8>
607
+ // CHECK: %[[BITCAST :.+]] = vector.bitcast %[[LOAD]] : vector<4xi8> to vector<8xi4>
608
+ // CHECK: %[[SELECT:.+]] = arith.select %[[ORIG_MASK]], %[[VAL_TO_STORE]], %[[BITCAST ]] : vector<8xi1>, vector<8xi4>
609
+ // CHECK: %[[NEW_VAL :.+]] = vector.bitcast %[[SELECT]] : vector<8xi4> to vector<4xi8>
610
+ // CHECK: vector.maskedstore %[[ALLOC]]{{\[}}%[[LIDX]]], %[[NEW_MASK]], %[[NEW_VAL ]] : memref<12xi8>, vector<4xi1>, vector<4xi8>
613
611
614
612
// CHECK32: #[[$ATTR_20:.+]] = affine_map<()[s0, s1] -> (s0 + s1 floordiv 8)>
615
- // CHECK32-LABEL: func.func @vector_cst_maskedstore_i4 (
613
+ // CHECK32-LABEL: func.func @vector_maskedstore_i4_constant_mask (
616
614
// CHECK32-SAME: %[[IDX_1:[a-zA-Z0-9]+]]: index,
617
615
// CHECK32-SAME: %[[IDX_2:[a-zA-Z0-9]+]]: index,
618
616
// CHECK32-SAME: %[[VAL_TO_STORE:[a-zA-Z0-9]+]]: vector<8xi4>) {
@@ -622,7 +620,7 @@ func.func @vector_cst_maskedstore_i4(
622
620
// CHECK32: %[[NEW_MASK:.+]] = vector.constant_mask [1] : vector<1xi1>
623
621
// CHECK32: %[[PASS_THRU:.+]] = arith.constant dense<0> : vector<1xi32>
624
622
// CHECK32: %[[LOAD:.+]] = vector.maskedload %[[ALLOC]]{{\[}}%[[LIDX]]], %[[NEW_MASK]], %[[PASS_THRU]] : memref<3xi32>, vector<1xi1>, vector<1xi32> into vector<1xi32>
625
- // CHECK32: %[[VAL_9 :.+]] = vector.bitcast %[[LOAD]] : vector<1xi32> to vector<8xi4>
626
- // CHECK32: %[[SELECT:.+]] = arith.select %[[ORIG_MASK]], %[[VAL_2 ]], %[[VAL_9 ]] : vector<8xi1>, vector<8xi4>
627
- // CHECK32: %[[BITCAST :.+]] = vector.bitcast %[[SELECT]] : vector<8xi4> to vector<1xi32>
628
- // CHECK32: vector.maskedstore %[[ALLOC]]{{\[}}%[[LIDX]]], %[[NEW_MASK]], %[[BITCAST ]] : memref<3xi32>, vector<1xi1>, vector<1xi32>
623
+ // CHECK32: %[[BITCAST :.+]] = vector.bitcast %[[LOAD]] : vector<1xi32> to vector<8xi4>
624
+ // CHECK32: %[[SELECT:.+]] = arith.select %[[ORIG_MASK]], %[[VAL_TO_STORE ]], %[[BITCAST ]] : vector<8xi1>, vector<8xi4>
625
+ // CHECK32: %[[NEW_VAL :.+]] = vector.bitcast %[[SELECT]] : vector<8xi4> to vector<1xi32>
626
+ // CHECK32: vector.maskedstore %[[ALLOC]]{{\[}}%[[LIDX]]], %[[NEW_MASK]], %[[NEW_VAL ]] : memref<3xi32>, vector<1xi1>, vector<1xi32>
0 commit comments