@@ -223,3 +223,57 @@ define <vscale x 16 x i8> @test_insert3_of_extract1_16xi8(<vscale x 16 x i8> %a,
223
223
%d = insertelement <vscale x 16 x i8 > %a , i8 %c , i32 3
224
224
ret <vscale x 16 x i8 > %d
225
225
}
226
+
227
+ define <vscale x 8 x half > @test_insert_into_undef_nxv8f16 (half %a ) {
228
+ ; CHECK-LABEL: test_insert_into_undef_nxv8f16:
229
+ ; CHECK: // %bb.0:
230
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 def $z0
231
+ ; CHECK-NEXT: ret
232
+ %b = insertelement <vscale x 8 x half > undef , half %a , i32 0
233
+ ret <vscale x 8 x half > %b
234
+ }
235
+
236
+ define <vscale x 4 x half > @test_insert_into_undef_nxv4f16 (half %a ) {
237
+ ; CHECK-LABEL: test_insert_into_undef_nxv4f16:
238
+ ; CHECK: // %bb.0:
239
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 def $z0
240
+ ; CHECK-NEXT: ret
241
+ %b = insertelement <vscale x 4 x half > undef , half %a , i32 0
242
+ ret <vscale x 4 x half > %b
243
+ }
244
+
245
+ define <vscale x 2 x half > @test_insert_into_undef_nxv2f16 (half %a ) {
246
+ ; CHECK-LABEL: test_insert_into_undef_nxv2f16:
247
+ ; CHECK: // %bb.0:
248
+ ; CHECK-NEXT: // kill: def $h0 killed $h0 def $z0
249
+ ; CHECK-NEXT: ret
250
+ %b = insertelement <vscale x 2 x half > undef , half %a , i32 0
251
+ ret <vscale x 2 x half > %b
252
+ }
253
+
254
+ define <vscale x 4 x float > @test_insert_into_undef_nxv4f32 (float %a ) {
255
+ ; CHECK-LABEL: test_insert_into_undef_nxv4f32:
256
+ ; CHECK: // %bb.0:
257
+ ; CHECK-NEXT: // kill: def $s0 killed $s0 def $z0
258
+ ; CHECK-NEXT: ret
259
+ %b = insertelement <vscale x 4 x float > undef , float %a , i32 0
260
+ ret <vscale x 4 x float > %b
261
+ }
262
+
263
+ define <vscale x 2 x float > @test_insert_into_undef_nxv2f32 (float %a ) {
264
+ ; CHECK-LABEL: test_insert_into_undef_nxv2f32:
265
+ ; CHECK: // %bb.0:
266
+ ; CHECK-NEXT: // kill: def $s0 killed $s0 def $z0
267
+ ; CHECK-NEXT: ret
268
+ %b = insertelement <vscale x 2 x float > undef , float %a , i32 0
269
+ ret <vscale x 2 x float > %b
270
+ }
271
+
272
+ define <vscale x 2 x double > @test_insert_into_undef_nxv2f64 (double %a ) {
273
+ ; CHECK-LABEL: test_insert_into_undef_nxv2f64:
274
+ ; CHECK: // %bb.0:
275
+ ; CHECK-NEXT: // kill: def $d0 killed $d0 def $z0
276
+ ; CHECK-NEXT: ret
277
+ %b = insertelement <vscale x 2 x double > undef , double %a , i32 0
278
+ ret <vscale x 2 x double > %b
279
+ }
0 commit comments