@@ -222,8 +222,8 @@ func.func @extract_const_idx(%arg0: vector<4x8x16xf32>)
222222
223223// CHECK-LABEL: @extract_val_idx
224224// CHECK-SAME: %[[VEC:.+]]: vector<4x8x16xf32>, %[[IDX:.+]]: index
225- func.func @extract_val_idx (%arg0: vector <4 x8 x16 xf32 >, %idx: index )
226- -> (vector <8 x16 xf32 >, vector <16 xf32 >, f32 ) {
225+ func.func @extract_index_as_index (%arg0: vector <4 x8 x16 xf32 >, %idx: index )
226+ -> (vector <8 x16 xf32 >, vector <16 xf32 >, f32 ) {
227227 // CHECK: vector.extract %[[VEC]][%[[IDX]] : index] : vector<8x16xf32> from vector<4x8x16xf32>
228228 %0 = vector.extract %arg0 [%idx : index ] : vector <8 x16 xf32 > from vector <4 x8 x16 xf32 >
229229 // CHECK-NEXT: vector.extract %[[VEC]][%[[IDX]], %[[IDX]] : index] : vector<16xf32> from vector<4x8x16xf32>
@@ -234,17 +234,19 @@ func.func @extract_val_idx(%arg0: vector<4x8x16xf32>, %idx: index)
234234}
235235
236236// CHECK-LABEL: @extract_val_int
237- // CHECK-SAME: %[[VEC:.+]]: vector<4x8x16xf32>, %[[I32_IDX:.+]]: i32, %[[I8_IDX:.+]]: i8
238- func.func @extract_val_int (%arg0: vector <4 x8 x16 xf32 >, %i32_idx: i32 ,
239- %i8_idx: i8 )
240- -> (vector <8 x16 xf32 >, vector <16 xf32 >, f32 ) {
237+ // CHECK-SAME: %[[VEC:.+]]: vector<4x8x16xf32>, %[[I32_IDX:.+]]: i32, %[[I8_IDX:.+]]: i8, %[[I1_IDX:.+]]: i1
238+ func.func @extract_index_as_int (%arg0: vector <4 x8 x16 xf32 >, %i32_idx: i32 ,
239+ %i8_idx: i8 , %i1_idx: i1 )
240+ -> (vector <8 x16 xf32 >, vector <16 xf32 >, f32 , vector < 16 x f32 > ) {
241241 // CHECK: vector.extract %[[VEC]][%[[I32_IDX]] : i32] : vector<8x16xf32> from vector<4x8x16xf32>
242242 %0 = vector.extract %arg0 [%i32_idx : i32 ] : vector <8 x16 xf32 > from vector <4 x8 x16 xf32 >
243243 // CHECK-NEXT: vector.extract %[[VEC]][%[[I8_IDX]], %[[I8_IDX]] : i8] : vector<16xf32> from vector<4x8x16xf32>
244244 %1 = vector.extract %arg0 [%i8_idx , %i8_idx : i8 ] : vector <16 xf32 > from vector <4 x8 x16 xf32 >
245245 // CHECK-NEXT: vector.extract %[[VEC]][%[[I8_IDX]], 5, %[[I8_IDX]] : i8] : f32 from vector<4x8x16xf32>
246246 %2 = vector.extract %arg0 [%i8_idx , 5 , %i8_idx : i8 ] : f32 from vector <4 x8 x16 xf32 >
247- return %0 , %1 , %2 : vector <8 x16 xf32 >, vector <16 xf32 >, f32
247+ // CHECK-NEXT: vector.extract %[[VEC]][%[[I1_IDX]], 2 : i1] : vector<16xf32> from vector<4x8x16xf32>
248+ %3 = vector.extract %arg0 [%i1_idx , 2 : i1 ] : vector <16 xf32 > from vector <4 x8 x16 xf32 >
249+ return %0 , %1 , %2 , %3 : vector <8 x16 xf32 >, vector <16 xf32 >, f32 , vector <16 xf32 >
248250}
249251
250252// CHECK-LABEL: @extract_0d
@@ -286,8 +288,8 @@ func.func @insert_const_idx(%a: f32, %b: vector<16xf32>, %c: vector<8x16xf32>,
286288
287289// CHECK-LABEL: @insert_val_idx
288290// CHECK-SAME: %[[A:.+]]: f32, %[[B:.+]]: vector<16xf32>, %[[C:.+]]: vector<8x16xf32>, %[[IDX:.+]]: index
289- func.func @insert_val_idx (%a: f32 , %b: vector <16 xf32 >, %c: vector <8 x16 xf32 >,
290- %idx: index , %res: vector <4 x8 x16 xf32 >) -> vector <4 x8 x16 xf32 > {
291+ func.func @insert_index_as_index (%a: f32 , %b: vector <16 xf32 >, %c: vector <8 x16 xf32 >,
292+ %idx: index , %res: vector <4 x8 x16 xf32 >) -> vector <4 x8 x16 xf32 > {
291293 // CHECK: vector.insert %[[C]], %{{.*}}[%[[IDX]] : index] : vector<8x16xf32> into vector<4x8x16xf32>
292294 %0 = vector.insert %c , %res [%idx : index ] : vector <8 x16 xf32 > into vector <4 x8 x16 xf32 >
293295 // CHECK: vector.insert %[[B]], %{{.*}}[%[[IDX]], %[[IDX]] : index] : vector<16xf32> into vector<4x8x16xf32>
@@ -298,16 +300,19 @@ func.func @insert_val_idx(%a: f32, %b: vector<16xf32>, %c: vector<8x16xf32>,
298300}
299301
300302// CHECK-LABEL: @insert_val_int
301- // CHECK-SAME: %[[A:.+]]: f32, %[[B:.+]]: vector<16xf32>, %[[C:.+]]: vector<8x16xf32>, %[[I32_IDX:.+]]: i32, %[[I8_IDX:.+]]: i8
302- func.func @insert_val_int (%a: f32 , %b: vector <16 xf32 >, %c: vector <8 x16 xf32 >,
303- %i32_idx: i32 , %i8_idx: i8 , %res: vector <4 x8 x16 xf32 >) -> vector <4 x8 x16 xf32 > {
303+ // CHECK-SAME: %[[A:.+]]: f32, %[[B:.+]]: vector<16xf32>, %[[C:.+]]: vector<8x16xf32>, %[[I32_IDX:.+]]: i32, %[[I8_IDX:.+]]: i8, %[[I1_IDX:.+]]: i1
304+ func.func @insert_index_as_int (%a: f32 , %b: vector <16 xf32 >, %c: vector <8 x16 xf32 >,
305+ %i32_idx: i32 , %i8_idx: i8 , %i1_idx: i1 , %res: vector <4 x8 x16 xf32 >)
306+ -> (vector <4 x8 x16 xf32 >, vector <4 x8 x16 xf32 >, vector <4 x8 x16 xf32 >, vector <4 x8 x16 xf32 >) {
304307 // CHECK: vector.insert %[[C]], %{{.*}}[%[[I32_IDX]] : i32] : vector<8x16xf32> into vector<4x8x16xf32>
305308 %0 = vector.insert %c , %res [%i32_idx : i32 ] : vector <8 x16 xf32 > into vector <4 x8 x16 xf32 >
306309 // CHECK: vector.insert %[[B]], %{{.*}}[%[[I8_IDX]], %[[I8_IDX]] : i8] : vector<16xf32> into vector<4x8x16xf32>
307310 %1 = vector.insert %b , %res [%i8_idx , %i8_idx : i8 ] : vector <16 xf32 > into vector <4 x8 x16 xf32 >
308311 // CHECK: vector.insert %[[A]], %{{.*}}[%[[I8_IDX]], 5, %[[I8_IDX]] : i8] : f32 into vector<4x8x16xf32>
309312 %2 = vector.insert %a , %res [%i8_idx , 5 , %i8_idx : i8 ] : f32 into vector <4 x8 x16 xf32 >
310- return %2 : vector <4 x8 x16 xf32 >
313+ // CHECK-NEXT: vector.insert %[[B]], %{{.*}}[%[[I1_IDX]], 2 : i1] : vector<16xf32> into vector<4x8x16xf32>
314+ %3 = vector.insert %b , %res [%i1_idx , 2 : i1 ] : vector <16 xf32 > into vector <4 x8 x16 xf32 >
315+ return %0 , %1 , %2 , %3 : vector <4 x8 x16 xf32 >, vector <4 x8 x16 xf32 >, vector <4 x8 x16 xf32 >, vector <4 x8 x16 xf32 >
311316}
312317
313318// CHECK-LABEL: @insert_0d
0 commit comments