@@ -206,13 +206,12 @@ define void @insert_vec_v8i16_uaddlv_from_v8i16(ptr %0) {
206206; CHECK-LABEL: insert_vec_v8i16_uaddlv_from_v8i16:
207207; CHECK: ; %bb.0: ; %entry
208208; CHECK-NEXT: movi.2d v0, #0000000000000000
209- ; CHECK-NEXT: movi.2d v1, #0000000000000000
210209; CHECK-NEXT: stp xzr, xzr, [x0, #16]
211- ; CHECK-NEXT: uaddlv.8h s0 , v0
212- ; CHECK-NEXT: mov.h v1 [0], v0 [0]
213- ; CHECK-NEXT: ushll.4s v1, v1 , #0
214- ; CHECK-NEXT: ucvtf.4s v1, v1
215- ; CHECK-NEXT: str q1 , [x0]
210+ ; CHECK-NEXT: uaddlv.8h s1 , v0
211+ ; CHECK-NEXT: mov.h v0 [0], v1 [0]
212+ ; CHECK-NEXT: ushll.4s v0, v0 , #0
213+ ; CHECK-NEXT: ucvtf.4s v0, v0
214+ ; CHECK-NEXT: str q0 , [x0]
216215; CHECK-NEXT: ret
217216
218217entry:
@@ -228,14 +227,13 @@ define void @insert_vec_v3i16_uaddlv_from_v8i16(ptr %0) {
228227; CHECK-LABEL: insert_vec_v3i16_uaddlv_from_v8i16:
229228; CHECK: ; %bb.0: ; %entry
230229; CHECK-NEXT: movi.2d v0, #0000000000000000
231- ; CHECK-NEXT: movi.2d v1, #0000000000000000
232230; CHECK-NEXT: add x8, x0, #8
233- ; CHECK-NEXT: uaddlv.8h s0 , v0
234- ; CHECK-NEXT: mov.h v1 [0], v0 [0]
235- ; CHECK-NEXT: ushll.4s v1, v1 , #0
236- ; CHECK-NEXT: ucvtf.4s v1, v1
237- ; CHECK-NEXT: st1.s { v1 }[2], [x8]
238- ; CHECK-NEXT: str d1 , [x0]
231+ ; CHECK-NEXT: uaddlv.8h s1 , v0
232+ ; CHECK-NEXT: mov.h v0 [0], v1 [0]
233+ ; CHECK-NEXT: ushll.4s v0, v0 , #0
234+ ; CHECK-NEXT: ucvtf.4s v0, v0
235+ ; CHECK-NEXT: st1.s { v0 }[2], [x8]
236+ ; CHECK-NEXT: str d0 , [x0]
239237; CHECK-NEXT: ret
240238
241239entry:
@@ -283,9 +281,9 @@ define void @insert_vec_v16i8_uaddlv_from_v8i8(ptr %0) {
283281; CHECK-NEXT: stp q0, q0, [x0, #32]
284282; CHECK-NEXT: mov.h v2[0], v1[0]
285283; CHECK-NEXT: bic.4h v2, #255, lsl #8
286- ; CHECK-NEXT: ushll.4s v2 , v2, #0
287- ; CHECK-NEXT: ucvtf.4s v2, v2
288- ; CHECK-NEXT: stp q2 , q0, [x0]
284+ ; CHECK-NEXT: ushll.4s v1 , v2, #0
285+ ; CHECK-NEXT: ucvtf.4s v1, v1
286+ ; CHECK-NEXT: stp q1 , q0, [x0]
289287; CHECK-NEXT: ret
290288
291289entry:
@@ -386,12 +384,11 @@ define void @insert_vec_v4i16_uaddlv_from_v4i32(ptr %0) {
386384; CHECK-LABEL: insert_vec_v4i16_uaddlv_from_v4i32:
387385; CHECK: ; %bb.0: ; %entry
388386; CHECK-NEXT: movi.2d v0, #0000000000000000
389- ; CHECK-NEXT: movi.2d v1, #0000000000000000
390- ; CHECK-NEXT: uaddlv.4s d0, v0
391- ; CHECK-NEXT: mov.h v1[0], v0[0]
392- ; CHECK-NEXT: ushll.4s v1, v1, #0
393- ; CHECK-NEXT: ucvtf.4s v1, v1
394- ; CHECK-NEXT: str q1, [x0]
387+ ; CHECK-NEXT: uaddlv.4s d1, v0
388+ ; CHECK-NEXT: mov.h v0[0], v1[0]
389+ ; CHECK-NEXT: ushll.4s v0, v0, #0
390+ ; CHECK-NEXT: ucvtf.4s v0, v0
391+ ; CHECK-NEXT: str q0, [x0]
395392; CHECK-NEXT: ret
396393
397394entry:
@@ -407,14 +404,13 @@ define void @insert_vec_v16i16_uaddlv_from_v4i32(ptr %0) {
407404; CHECK-LABEL: insert_vec_v16i16_uaddlv_from_v4i32:
408405; CHECK: ; %bb.0: ; %entry
409406; CHECK-NEXT: movi.2d v0, #0000000000000000
410- ; CHECK-NEXT: movi.2d v1, #0000000000000000
411407; CHECK-NEXT: movi.2d v2, #0000000000000000
412- ; CHECK-NEXT: uaddlv.4s d0 , v0
413- ; CHECK-NEXT: stp q2, q2 , [x0, #32]
414- ; CHECK-NEXT: mov.h v1 [0], v0 [0]
415- ; CHECK-NEXT: ushll.4s v1, v1 , #0
408+ ; CHECK-NEXT: uaddlv.4s d1 , v0
409+ ; CHECK-NEXT: stp q0, q0 , [x0, #32]
410+ ; CHECK-NEXT: mov.h v2 [0], v1 [0]
411+ ; CHECK-NEXT: ushll.4s v1, v2 , #0
416412; CHECK-NEXT: ucvtf.4s v1, v1
417- ; CHECK-NEXT: stp q1, q2 , [x0]
413+ ; CHECK-NEXT: stp q1, q0 , [x0]
418414; CHECK-NEXT: ret
419415
420416entry:
@@ -430,14 +426,13 @@ define void @insert_vec_v8i8_uaddlv_from_v4i32(ptr %0) {
430426; CHECK-LABEL: insert_vec_v8i8_uaddlv_from_v4i32:
431427; CHECK: ; %bb.0: ; %entry
432428; CHECK-NEXT: movi.2d v0, #0000000000000000
433- ; CHECK-NEXT: movi.2d v1, #0000000000000000
434429; CHECK-NEXT: stp xzr, xzr, [x0, #16]
435- ; CHECK-NEXT: uaddlv.4s d0 , v0
436- ; CHECK-NEXT: mov.h v1 [0], v0 [0]
437- ; CHECK-NEXT: bic.4h v1 , #255, lsl #8
438- ; CHECK-NEXT: ushll.4s v1, v1 , #0
439- ; CHECK-NEXT: ucvtf.4s v1, v1
440- ; CHECK-NEXT: str q1 , [x0]
430+ ; CHECK-NEXT: uaddlv.4s d1 , v0
431+ ; CHECK-NEXT: mov.h v0 [0], v1 [0]
432+ ; CHECK-NEXT: bic.4h v0 , #255, lsl #8
433+ ; CHECK-NEXT: ushll.4s v0, v0 , #0
434+ ; CHECK-NEXT: ucvtf.4s v0, v0
435+ ; CHECK-NEXT: str q0 , [x0]
441436; CHECK-NEXT: ret
442437
443438entry:
@@ -453,15 +448,14 @@ define void @insert_vec_v16i8_uaddlv_from_v4i32(ptr %0) {
453448; CHECK-LABEL: insert_vec_v16i8_uaddlv_from_v4i32:
454449; CHECK: ; %bb.0: ; %entry
455450; CHECK-NEXT: movi.2d v0, #0000000000000000
456- ; CHECK-NEXT: movi.2d v1, #0000000000000000
457451; CHECK-NEXT: movi.2d v2, #0000000000000000
458- ; CHECK-NEXT: uaddlv.4s d0 , v0
459- ; CHECK-NEXT: stp q2, q2 , [x0, #32]
460- ; CHECK-NEXT: mov.h v1 [0], v0 [0]
461- ; CHECK-NEXT: bic.4h v1 , #255, lsl #8
462- ; CHECK-NEXT: ushll.4s v1, v1 , #0
452+ ; CHECK-NEXT: uaddlv.4s d1 , v0
453+ ; CHECK-NEXT: stp q0, q0 , [x0, #32]
454+ ; CHECK-NEXT: mov.h v2 [0], v1 [0]
455+ ; CHECK-NEXT: bic.4h v2 , #255, lsl #8
456+ ; CHECK-NEXT: ushll.4s v1, v2 , #0
463457; CHECK-NEXT: ucvtf.4s v1, v1
464- ; CHECK-NEXT: stp q1, q2 , [x0]
458+ ; CHECK-NEXT: stp q1, q0 , [x0]
465459; CHECK-NEXT: ret
466460
467461entry:
0 commit comments