@@ -110,10 +110,9 @@ define void @foo_sext_v2i64_v2i32(ptr %dest, ptr %mask, ptr %src) {
110110; CHECK-LE-NEXT: ldrne r3, [r2]
111111; CHECK-LE-NEXT: vmovne.32 q1[0], r3
112112; CHECK-LE-NEXT: lsls r1, r1, #30
113- ; CHECK-LE-NEXT: ittt mi
113+ ; CHECK-LE-NEXT: itt mi
114114; CHECK-LE-NEXT: ldrmi r1, [r2, #4]
115115; CHECK-LE-NEXT: vmovmi.32 q1[2], r1
116- ; CHECK-LE-NEXT: vmovmi.32 q1[3], r0
117116; CHECK-LE-NEXT: vmov r2, s6
118117; CHECK-LE-NEXT: movs r1, #0
119118; CHECK-LE-NEXT: vmov r3, s0
@@ -220,9 +219,9 @@ define void @foo_sext_v2i64_v2i32_unaligned(ptr %dest, ptr %mask, ptr %src) {
220219; CHECK-LE-NEXT: sub sp, #4
221220; CHECK-LE-NEXT: ldrd r12, lr, [r1]
222221; CHECK-LE-NEXT: movs r1, #0
223- ; CHECK-LE-NEXT: @ implicit-def: $q1
222+ ; CHECK-LE-NEXT: @ implicit-def: $q0
224223; CHECK-LE-NEXT: rsbs.w r3, r12, #0
225- ; CHECK-LE-NEXT: vmov q0 [2], q0 [0], r12, lr
224+ ; CHECK-LE-NEXT: vmov q1 [2], q1 [0], r12, lr
226225; CHECK-LE-NEXT: sbcs.w r3, r1, r12, asr #31
227226; CHECK-LE-NEXT: csetm r3, lt
228227; CHECK-LE-NEXT: rsbs.w r4, lr, #0
@@ -233,36 +232,35 @@ define void @foo_sext_v2i64_v2i32_unaligned(ptr %dest, ptr %mask, ptr %src) {
233232; CHECK-LE-NEXT: lsls r3, r1, #31
234233; CHECK-LE-NEXT: itt ne
235234; CHECK-LE-NEXT: ldrne r3, [r2]
236- ; CHECK-LE-NEXT: vmovne.32 q1 [0], r3
235+ ; CHECK-LE-NEXT: vmovne.32 q0 [0], r3
237236; CHECK-LE-NEXT: lsls r1, r1, #30
238- ; CHECK-LE-NEXT: ittt mi
237+ ; CHECK-LE-NEXT: itt mi
239238; CHECK-LE-NEXT: ldrmi r1, [r2, #4]
240- ; CHECK-LE-NEXT: vmovmi.32 q1[2], r1
241- ; CHECK-LE-NEXT: vmovmi.32 q1[3], r0
242- ; CHECK-LE-NEXT: vmov r2, s6
239+ ; CHECK-LE-NEXT: vmovmi.32 q0[2], r1
240+ ; CHECK-LE-NEXT: vmov r2, s2
243241; CHECK-LE-NEXT: movs r1, #0
244- ; CHECK-LE-NEXT: vmov r3, s0
245- ; CHECK-LE-NEXT: vmov r4, s4
246- ; CHECK-LE-NEXT: vmov q1 [2], q1 [0], r4, r2
242+ ; CHECK-LE-NEXT: vmov r3, s4
243+ ; CHECK-LE-NEXT: vmov r4, s0
244+ ; CHECK-LE-NEXT: vmov q0 [2], q0 [0], r4, r2
247245; CHECK-LE-NEXT: rsbs r5, r3, #0
248246; CHECK-LE-NEXT: asr.w r12, r2, #31
249247; CHECK-LE-NEXT: sbcs.w r2, r1, r3, asr #31
250- ; CHECK-LE-NEXT: vmov r3, s2
248+ ; CHECK-LE-NEXT: vmov r3, s6
251249; CHECK-LE-NEXT: csetm r2, lt
252250; CHECK-LE-NEXT: asr.w lr, r4, #31
253- ; CHECK-LE-NEXT: vmov q1 [3], q1 [1], lr, r12
251+ ; CHECK-LE-NEXT: vmov q0 [3], q0 [1], lr, r12
254252; CHECK-LE-NEXT: rsbs r5, r3, #0
255253; CHECK-LE-NEXT: sbcs.w r3, r1, r3, asr #31
256254; CHECK-LE-NEXT: bfi r1, r2, #0, #1
257255; CHECK-LE-NEXT: csetm r2, lt
258256; CHECK-LE-NEXT: bfi r1, r2, #1, #1
259257; CHECK-LE-NEXT: lsls r2, r1, #31
260258; CHECK-LE-NEXT: itt ne
261- ; CHECK-LE-NEXT: vmovne r2, r3, d2
259+ ; CHECK-LE-NEXT: vmovne r2, r3, d0
262260; CHECK-LE-NEXT: strdne r2, r3, [r0]
263261; CHECK-LE-NEXT: lsls r1, r1, #30
264262; CHECK-LE-NEXT: itt mi
265- ; CHECK-LE-NEXT: vmovmi r1, r2, d3
263+ ; CHECK-LE-NEXT: vmovmi r1, r2, d1
266264; CHECK-LE-NEXT: strdmi r1, r2, [r0, #8]
267265; CHECK-LE-NEXT: add sp, #4
268266; CHECK-LE-NEXT: pop {r4, r5, r7, pc}
@@ -365,10 +363,9 @@ define void @foo_zext_v2i64_v2i32(ptr %dest, ptr %mask, ptr %src) {
365363; CHECK-LE-NEXT: ldrne r3, [r2]
366364; CHECK-LE-NEXT: vmovne.32 q0[0], r3
367365; CHECK-LE-NEXT: lsls r1, r1, #30
368- ; CHECK-LE-NEXT: ittt mi
366+ ; CHECK-LE-NEXT: itt mi
369367; CHECK-LE-NEXT: ldrmi r1, [r2, #4]
370368; CHECK-LE-NEXT: vmovmi.32 q0[2], r1
371- ; CHECK-LE-NEXT: vmovmi.32 q0[3], r0
372369; CHECK-LE-NEXT: vmov r2, s4
373370; CHECK-LE-NEXT: movs r1, #0
374371; CHECK-LE-NEXT: vand q0, q0, q2
@@ -481,10 +478,9 @@ define void @foo_zext_v2i64_v2i32_unaligned(ptr %dest, ptr %mask, ptr %src) {
481478; CHECK-LE-NEXT: ldrne r3, [r2]
482479; CHECK-LE-NEXT: vmovne.32 q0[0], r3
483480; CHECK-LE-NEXT: lsls r1, r1, #30
484- ; CHECK-LE-NEXT: ittt mi
481+ ; CHECK-LE-NEXT: itt mi
485482; CHECK-LE-NEXT: ldrmi r1, [r2, #4]
486483; CHECK-LE-NEXT: vmovmi.32 q0[2], r1
487- ; CHECK-LE-NEXT: vmovmi.32 q0[3], r0
488484; CHECK-LE-NEXT: vmov r2, s4
489485; CHECK-LE-NEXT: movs r1, #0
490486; CHECK-LE-NEXT: vand q0, q0, q2
0 commit comments