@@ -186,6 +186,17 @@ func.func @extract_size1_vector(%arg0 : vector<1xf32>) -> f32 {
186186
187187// -----
188188
189+ // CHECK-LABEL: @extract_size1_vector_dynamic
190+ // CHECK-SAME: %[[ARG0:.+]]: vector<1xf32>
191+ // CHECK: %[[R:.+]] = builtin.unrealized_conversion_cast %[[ARG0]]
192+ // CHECK: return %[[R]]
193+ func.func @extract_size1_vector_dynamic (%arg0 : vector <1 xf32 >, %id : index ) -> f32 {
194+ %0 = vector.extract %arg0 [%id ] : f32 from vector <1 xf32 >
195+ return %0: f32
196+ }
197+
198+ // -----
199+
189200// CHECK-LABEL: @extract_dynamic
190201// CHECK-SAME: %[[V:.*]]: vector<4xf32>, %[[ARG1:.*]]: index
191202// CHECK: %[[ID:.+]] = builtin.unrealized_conversion_cast %[[ARG1]] : index to i32
@@ -236,6 +247,17 @@ func.func @insert_size1_vector(%arg0 : vector<1xf32>, %arg1: f32) -> vector<1xf3
236247
237248// -----
238249
250+ // CHECK-LABEL: @insert_size1_vector_dynamic
251+ // CHECK-SAME: %[[V:.*]]: vector<1xf32>, %[[S:.*]]: f32
252+ // CHECK: %[[R:.+]] = builtin.unrealized_conversion_cast %[[S]]
253+ // CHECK: return %[[R]]
254+ func.func @insert_size1_vector_dynamic (%arg0 : vector <1 xf32 >, %arg1: f32 , %id : index ) -> vector <1 xf32 > {
255+ %1 = vector.insert %arg1 , %arg0 [%id ] : f32 into vector <1 xf32 >
256+ return %1 : vector <1 xf32 >
257+ }
258+
259+ // -----
260+
239261// CHECK-LABEL: @insert_dynamic
240262// CHECK-SAME: %[[VAL:.*]]: f32, %[[V:.*]]: vector<4xf32>, %[[ARG2:.*]]: index
241263// CHECK: %[[ID:.+]] = builtin.unrealized_conversion_cast %[[ARG2]] : index to i32
0 commit comments