@@ -172,8 +172,9 @@ define <8 x half> @test_insert_v8f16_insert_1(half %a) {
172172; CHECK-LABEL: test_insert_v8f16_insert_1:
173173; CHECK: // %bb.0:
174174; CHECK-NEXT: // kill: def $h0 killed $h0 def $q0
175+ ; CHECK-NEXT: movi.2d v1, #0000000000000000
175176; CHECK-NEXT: dup.8h v0, v0[0]
176- ; CHECK-NEXT: mov.h v0[7], wzr
177+ ; CHECK-NEXT: mov.h v0[7], v1[0]
177178; CHECK-NEXT: ret
178179 %v.0 = insertelement <8 x half > <half undef , half undef , half undef , half undef , half undef , half undef , half undef , half 0 .0 >, half %a , i32 0
179180 %v.1 = insertelement <8 x half > %v.0 , half %a , i32 1
@@ -278,8 +279,9 @@ define <4 x float> @test_insert_3_f32_undef_zero_vector(float %a) {
278279; CHECK-LABEL: test_insert_3_f32_undef_zero_vector:
279280; CHECK: // %bb.0:
280281; CHECK-NEXT: // kill: def $s0 killed $s0 def $q0
282+ ; CHECK-NEXT: movi.2d v1, #0000000000000000
281283; CHECK-NEXT: dup.4s v0, v0[0]
282- ; CHECK-NEXT: mov.s v0[3], wzr
284+ ; CHECK-NEXT: mov.s v0[3], v1[0]
283285; CHECK-NEXT: ret
284286 %v.0 = insertelement <4 x float > <float undef , float undef , float undef , float 0 .000000e+00 >, float %a , i32 0
285287 %v.1 = insertelement <4 x float > %v.0 , float %a , i32 1
@@ -362,7 +364,8 @@ define <4 x half> @test_insert_v4f16_f16_zero(<4 x half> %a) {
362364define <8 x half > @test_insert_v8f16_f16_zero (<8 x half > %a ) {
363365; CHECK-LABEL: test_insert_v8f16_f16_zero:
364366; CHECK: // %bb.0:
365- ; CHECK-NEXT: mov.h v0[6], wzr
367+ ; CHECK-NEXT: movi.2d v1, #0000000000000000
368+ ; CHECK-NEXT: mov.h v0[6], v1[0]
366369; CHECK-NEXT: ret
367370 %v.0 = insertelement <8 x half > %a , half 0 .000000e+00 , i32 6
368371 ret <8 x half > %v.0
@@ -382,7 +385,8 @@ define <2 x float> @test_insert_v2f32_f32_zero(<2 x float> %a) {
382385define <4 x float > @test_insert_v4f32_f32_zero (<4 x float > %a ) {
383386; CHECK-LABEL: test_insert_v4f32_f32_zero:
384387; CHECK: // %bb.0:
385- ; CHECK-NEXT: mov.s v0[3], wzr
388+ ; CHECK-NEXT: movi.2d v1, #0000000000000000
389+ ; CHECK-NEXT: mov.s v0[3], v1[0]
386390; CHECK-NEXT: ret
387391 %v.0 = insertelement <4 x float > %a , float 0 .000000e+00 , i32 3
388392 ret <4 x float > %v.0
@@ -391,7 +395,8 @@ define <4 x float> @test_insert_v4f32_f32_zero(<4 x float> %a) {
391395define <2 x double > @test_insert_v2f64_f64_zero (<2 x double > %a ) {
392396; CHECK-LABEL: test_insert_v2f64_f64_zero:
393397; CHECK: // %bb.0:
394- ; CHECK-NEXT: mov.d v0[1], xzr
398+ ; CHECK-NEXT: movi.2d v1, #0000000000000000
399+ ; CHECK-NEXT: mov.d v0[1], v1[0]
395400; CHECK-NEXT: ret
396401 %v.0 = insertelement <2 x double > %a , double 0 .000000e+00 , i32 1
397402 ret <2 x double > %v.0
0 commit comments