@@ -141,17 +141,19 @@ func.func @shape_cast_1d0d(%arg0 : vector<1xf32>) -> vector<f32> {
141
141
}
142
142
143
143
144
- // CHECK-LABEL: func.func @shape_cast_squeeze_leading_one(
144
+ // The shapes have 2 inner dimension sizes in common, so the extract result is rank-2.
145
+ // CHECK-LABEL: func.func @squeeze_out_prefix_unit_dim(
145
146
// CHECK-SAME: %[[ARG0:.*]]: vector<1x2x3xf32>) -> vector<2x3xf32> {
146
147
// CHECK: %[[EXTRACTED:.*]] = vector.extract %[[ARG0]][0] :
147
148
// CHECK-SAME: vector<2x3xf32> from vector<1x2x3xf32>
148
149
// CHECK: return %[[EXTRACTED]] : vector<2x3xf32>
149
- func.func @shape_cast_squeeze_leading_one (%arg0 : vector <1 x2 x3 xf32 >) -> vector <2 x3 xf32 > {
150
+ func.func @squeeze_out_prefix_unit_dim (%arg0 : vector <1 x2 x3 xf32 >) -> vector <2 x3 xf32 > {
150
151
%s = vector.shape_cast %arg0 : vector <1 x2 x3 xf32 > to vector <2 x3 xf32 >
151
152
return %s : vector <2 x3 xf32 >
152
153
}
153
154
154
- // CHECK-LABEL: func.func @shape_cast_squeeze_middle_one(
155
+ // The shapes have 1 inner dimension size in common, so the extract results are rank-1.
156
+ // CHECK-LABEL: func.func @squeeze_out_middle_unit_dim(
155
157
// CHECK-SAME: %[[ARG0:.*]]: vector<2x1x3xf32>) -> vector<2x3xf32> {
156
158
// CHECK: %[[UB:.*]] = ub.poison : vector<2x3xf32>
157
159
// CHECK: %[[E0:.*]] = vector.extract %[[ARG0]][0, 0] : vector<3xf32>
@@ -161,31 +163,31 @@ func.func @shape_cast_squeeze_leading_one(%arg0 : vector<1x2x3xf32>) -> vector<2
161
163
// CHECK: %[[I1:.*]] = vector.insert %[[E1]], %[[I0]] [1] : vector<3xf32>
162
164
// CHECK-SAME: into vector<2x3xf32>
163
165
// CHECK: return %[[I1]] : vector<2x3xf32>
164
- func.func @shape_cast_squeeze_middle_one (%arg0 : vector <2 x1 x3 xf32 >) -> vector <2 x3 xf32 > {
166
+ func.func @squeeze_out_middle_unit_dim (%arg0 : vector <2 x1 x3 xf32 >) -> vector <2 x3 xf32 > {
165
167
%s = vector.shape_cast %arg0 : vector <2 x1 x3 xf32 > to vector <2 x3 xf32 >
166
168
return %s : vector <2 x3 xf32 >
167
169
}
168
170
169
- // CHECK-LABEL: func.func @shape_cast_unsqueeze_leading_one (
171
+ // CHECK-LABEL: func.func @prepend_unit_dim (
170
172
// CHECK-SAME: %[[ARG0:.*]]: vector<2x3xf32>) -> vector<1x2x3xf32> {
171
173
// CHECK: %[[UB:.*]] = ub.poison : vector<1x2x3xf32>
172
174
// CHECK: %[[INSERTED:.*]] = vector.insert %[[ARG0]], %[[UB]] [0]
173
175
// CHECK-SAME: : vector<2x3xf32> into vector<1x2x3xf32>
174
176
// CHECK: return %[[INSERTED]] : vector<1x2x3xf32>
175
- func.func @shape_cast_unsqueeze_leading_one (%arg0 : vector <2 x3 xf32 >) -> vector <1 x2 x3 xf32 > {
177
+ func.func @prepend_unit_dim (%arg0 : vector <2 x3 xf32 >) -> vector <1 x2 x3 xf32 > {
176
178
%s = vector.shape_cast %arg0 : vector <2 x3 xf32 > to vector <1 x2 x3 xf32 >
177
179
return %s : vector <1 x2 x3 xf32 >
178
180
}
179
181
180
- // CHECK-LABEL: func.func @shape_cast_unsqueeze_middle_one (
182
+ // CHECK-LABEL: func.func @insert_middle_unit_dim (
181
183
// CHECK-SAME: %[[ARG0:.*]]: vector<2x3xf32>) -> vector<2x1x3xf32> {
182
184
// CHECK: %[[UB:.*]] = ub.poison : vector<2x1x3xf32>
183
185
// CHECK: %[[E0:.*]] = vector.extract %[[ARG0]][0] : vector<3xf32>
184
186
// CHECK: %[[I0:.*]] = vector.insert %[[E0]], %[[UB]] [0, 0] : vector<3xf32>
185
187
// CHECK: %[[E1:.*]] = vector.extract %[[ARG0]][1] : vector<3xf32>
186
188
// CHECK: %[[I1:.*]] = vector.insert %[[E1]], %[[I0]] [1, 0] : vector<3xf32>
187
189
// CHECK: return %[[I1]] : vector<2x1x3xf32>
188
- func.func @shape_cast_unsqueeze_middle_one (%arg0 : vector <2 x3 xf32 >) -> vector <2 x1 x3 xf32 > {
190
+ func.func @insert_middle_unit_dim (%arg0 : vector <2 x3 xf32 >) -> vector <2 x1 x3 xf32 > {
189
191
%s = vector.shape_cast %arg0 : vector <2 x3 xf32 > to vector <2 x1 x3 xf32 >
190
192
return %s : vector <2 x1 x3 xf32 >
191
193
}
0 commit comments