@@ -202,15 +202,15 @@ func.func @vector_maskedload_i4(%arg1: index, %arg2: index, %arg3: index, %passt
202202
203203// -----
204204
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 > {
206206 %0 = memref.alloc () : memref <3 x4 xi8 >
207207 %mask = vector.constant_mask [2 ] : vector <4 xi1 >
208208 %1 = vector.maskedload %0 [%arg1 , %arg2 ], %mask , %passthru :
209209 memref <3 x4 xi8 >, vector <4 xi1 >, vector <4 xi8 > into vector <4 xi8 >
210210 return %1 : vector <4 xi8 >
211211}
212212// Expect no conversions, i8 is supported.
213- // CHECK: func @vector_cst_maskedload_i8 (
213+ // CHECK: func @vector_maskedload_i8_constant_mask (
214214// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
215215// CHECK-SAME: %[[ARG2:[a-zA-Z0-9]+]]: vector<4xi8>)
216216// CHECK-NEXT: %[[ALLOC:.+]] = memref.alloc() : memref<3x4xi8>
@@ -220,7 +220,7 @@ func.func @vector_cst_maskedload_i8(%arg1: index, %arg2: index, %passthru: vecto
220220// CHECK-NEXT: return
221221
222222// 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 (
224224// CHECK32-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
225225// CHECK32-SAME: %[[ARG3:[a-zA-Z0-9]+]]: vector<4xi8>)
226226// CHECK32: %[[ALLOC:.+]] = memref.alloc() : memref<3xi32>
@@ -236,7 +236,7 @@ func.func @vector_cst_maskedload_i8(%arg1: index, %arg2: index, %passthru: vecto
236236
237237// -----
238238
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 > {
240240 %0 = memref.alloc () : memref <3 x8 xi4 >
241241 %cst = arith.constant dense <0 > : vector <3 x8 xi4 >
242242 %mask = vector.constant_mask [4 ] : vector <8 xi1 >
@@ -246,7 +246,7 @@ func.func @vector_cst_maskedload_i4(%arg1: index, %arg2: index, %passthru: vecto
246246 return %2 : vector <3 x8 xi4 >
247247}
248248// 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 (
250250// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
251251// CHECK-SAME: %[[ARG2:[a-zA-Z0-9]+]]: vector<8xi4>)
252252// CHECK: %[[ALLOC:.+]] = memref.alloc() : memref<12xi8>
@@ -260,7 +260,7 @@ func.func @vector_cst_maskedload_i4(%arg1: index, %arg2: index, %passthru: vecto
260260// CHECK: %[[SELECT:.+]] = arith.select %[[ORIG_MASK]], %[[BITCAST]], %[[ARG2]] : vector<8xi1>, vector<8xi4>
261261
262262// 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 (
264264// CHECK32-SAME: %[[ARG0:[a-zA-Z0-9]+]]: index, %[[ARG1:[a-zA-Z0-9]+]]: index,
265265// CHECK32-SAME: %[[ARG2:[a-zA-Z0-9]+]]: vector<8xi4>)
266266// CHECK32: %[[ALLOC:.+]] = memref.alloc() : memref<3xi32>
@@ -500,7 +500,6 @@ func.func @vector_maskedstore_i4(
500500 %value: vector <8 xi4 >) {
501501
502502 %0 = memref.alloc () : memref <3 x8 xi4 >
503- %cst = arith.constant dense <0 > : vector <3 x8 xi4 >
504503 %mask = vector.create_mask %num_elements_to_store : vector <8 xi1 >
505504 vector.maskedstore %0 [%idx1 , %idx2 ], %mask , %value :
506505 memref <3 x8 xi4 >, vector <8 xi1 >, vector <8 xi4 >
@@ -548,14 +547,14 @@ func.func @vector_maskedstore_i4(
548547
549548// -----
550549
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 >) {
552551 %0 = memref.alloc () : memref <3 x8 xi8 >
553552 %mask = vector.constant_mask [4 ] : vector <8 xi1 >
554553 vector.maskedstore %0 [%arg0 , %arg1 ], %mask , %value : memref <3 x8 xi8 >, vector <8 xi1 >, vector <8 xi8 >
555554 return
556555}
557556// Expect no conversions, i8 is supported.
558- // CHECK: func @vector_cst_maskedstore_i8 (
557+ // CHECK: func @vector_maskedstore_i8_constant_mask (
559558// CHECK-SAME: %[[ARG0:[a-zA-Z0-9]+]]
560559// CHECK-SAME: %[[ARG1:[a-zA-Z0-9]+]]
561560// CHECK-SAME: %[[VAL:[a-zA-Z0-9]+]]
@@ -565,7 +564,7 @@ func.func @vector_cst_maskedstore_i8(%arg0: index, %arg1: index, %value: vector<
565564// CHECK-NEXT: return
566565
567566// 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 (
569568// CHECK32-SAME: %[[ARG0:[a-zA-Z0-9]+]]
570569// CHECK32-SAME: %[[ARG1:[a-zA-Z0-9]+]]
571570// CHECK32-SAME: %[[VAL:[a-zA-Z0-9]+]]
@@ -582,21 +581,20 @@ func.func @vector_cst_maskedstore_i8(%arg0: index, %arg1: index, %value: vector<
582581
583582// -----
584583
585- func.func @vector_cst_maskedstore_i4 (
584+ func.func @vector_maskedstore_i4_constant_mask (
586585 %idx_1: index ,
587586 %idx_2: index ,
588587 %val_to_store: vector <8 xi4 >) {
589588
590589 %0 = memref.alloc () : memref <3 x8 xi4 >
591- %cst = arith.constant dense <0 > : vector <3 x8 xi4 >
592590 %mask = vector.constant_mask [4 ] : vector <8 xi1 >
593591 vector.maskedstore %0 [%idx_1 , %idx_2 ], %mask , %val_to_store :
594592 memref <3 x8 xi4 >, vector <8 xi1 >, vector <8 xi4 >
595593 return
596594}
597595
598596// 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 (
600598// CHECK-SAME: %[[IDX_1:[a-zA-Z0-9]+]]: index,
601599// CHECK-SAME: %[[IDX_2:[a-zA-Z0-9]+]]: index,
602600// CHECK-SAME: %[[VAL_TO_STORE:[a-zA-Z0-9]+]]: vector<8xi4>) {
@@ -606,13 +604,13 @@ func.func @vector_cst_maskedstore_i4(
606604// CHECK: %[[NEW_MASK:.+]] = vector.constant_mask [2] : vector<4xi1>
607605// CHECK: %[[PASS_THRU:.+]] = arith.constant dense<0> : vector<4xi8>
608606// 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>
613611
614612// 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 (
616614// CHECK32-SAME: %[[IDX_1:[a-zA-Z0-9]+]]: index,
617615// CHECK32-SAME: %[[IDX_2:[a-zA-Z0-9]+]]: index,
618616// CHECK32-SAME: %[[VAL_TO_STORE:[a-zA-Z0-9]+]]: vector<8xi4>) {
@@ -622,7 +620,7 @@ func.func @vector_cst_maskedstore_i4(
622620// CHECK32: %[[NEW_MASK:.+]] = vector.constant_mask [1] : vector<1xi1>
623621// CHECK32: %[[PASS_THRU:.+]] = arith.constant dense<0> : vector<1xi32>
624622// 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