@@ -35,15 +35,9 @@ define void @iv.4_used_as_vector_and_first_lane(ptr %src, ptr noalias %dst) {
3535; CHECK-NEXT: [[TMP17:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD4]], <i64 128, i64 128, i64 128, i64 128>
3636; CHECK-NEXT: [[TMP18:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD5]], <i64 128, i64 128, i64 128, i64 128>
3737; CHECK-NEXT: [[TMP19:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD6]], <i64 128, i64 128, i64 128, i64 128>
38- ; CHECK-NEXT: [[TMP20:%.*]] = extractelement <4 x i64> [[TMP12]], i32 0
39- ; CHECK-NEXT: [[TMP21:%.*]] = add i64 [[TMP20]], 1
40- ; CHECK-NEXT: [[TMP22:%.*]] = extractelement <4 x i64> [[TMP13]], i32 0
41- ; CHECK-NEXT: [[TMP23:%.*]] = add i64 [[TMP22]], 1
42- ; CHECK-NEXT: [[TMP24:%.*]] = extractelement <4 x i64> [[TMP14]], i32 0
43- ; CHECK-NEXT: [[TMP25:%.*]] = add i64 [[TMP24]], 1
44- ; CHECK-NEXT: [[TMP26:%.*]] = extractelement <4 x i64> [[TMP15]], i32 0
38+ ; CHECK-NEXT: [[TMP26:%.*]] = extractelement <4 x i64> [[TMP12]], i32 0
4539; CHECK-NEXT: [[TMP27:%.*]] = add i64 [[TMP26]], 1
46- ; CHECK-NEXT: [[TMP28:%.*]] = getelementptr i64, ptr [[DST]], i64 [[TMP21 ]]
40+ ; CHECK-NEXT: [[TMP28:%.*]] = getelementptr i64, ptr [[DST]], i64 [[TMP27 ]]
4741; CHECK-NEXT: [[TMP32:%.*]] = getelementptr i64, ptr [[TMP28]], i32 0
4842; CHECK-NEXT: [[TMP33:%.*]] = getelementptr i64, ptr [[TMP28]], i32 4
4943; CHECK-NEXT: [[TMP34:%.*]] = getelementptr i64, ptr [[TMP28]], i32 8
@@ -116,9 +110,6 @@ define void @iv.4_used_as_first_lane(ptr %src, ptr noalias %dst) {
116110; CHECK: vector.body:
117111; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
118112; CHECK-NEXT: [[TMP0:%.*]] = add i64 [[INDEX]], 0
119- ; CHECK-NEXT: [[TMP1:%.*]] = add i64 [[INDEX]], 4
120- ; CHECK-NEXT: [[TMP2:%.*]] = add i64 [[INDEX]], 8
121- ; CHECK-NEXT: [[TMP3:%.*]] = add i64 [[INDEX]], 12
122113; CHECK-NEXT: [[TMP4:%.*]] = getelementptr inbounds i64, ptr [[SRC]], i64 [[TMP0]]
123114; CHECK-NEXT: [[TMP8:%.*]] = getelementptr inbounds i64, ptr [[TMP4]], i32 0
124115; CHECK-NEXT: [[TMP9:%.*]] = getelementptr inbounds i64, ptr [[TMP4]], i32 4
@@ -128,19 +119,13 @@ define void @iv.4_used_as_first_lane(ptr %src, ptr noalias %dst) {
128119; CHECK-NEXT: [[WIDE_LOAD1:%.*]] = load <4 x i64>, ptr [[TMP9]], align 8
129120; CHECK-NEXT: [[WIDE_LOAD2:%.*]] = load <4 x i64>, ptr [[TMP10]], align 8
130121; CHECK-NEXT: [[WIDE_LOAD3:%.*]] = load <4 x i64>, ptr [[TMP11]], align 8
131- ; CHECK-NEXT: [[TMP12:%.*]] = add i64 [[TMP0]], 4
132- ; CHECK-NEXT: [[TMP13:%.*]] = add i64 [[TMP1]], 4
133- ; CHECK-NEXT: [[TMP14:%.*]] = add i64 [[TMP2]], 4
134- ; CHECK-NEXT: [[TMP15:%.*]] = add i64 [[TMP3]], 4
122+ ; CHECK-NEXT: [[TMP15:%.*]] = add i64 [[TMP0]], 4
135123; CHECK-NEXT: [[TMP16:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD]], <i64 128, i64 128, i64 128, i64 128>
136124; CHECK-NEXT: [[TMP17:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD1]], <i64 128, i64 128, i64 128, i64 128>
137125; CHECK-NEXT: [[TMP18:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD2]], <i64 128, i64 128, i64 128, i64 128>
138126; CHECK-NEXT: [[TMP19:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD3]], <i64 128, i64 128, i64 128, i64 128>
139- ; CHECK-NEXT: [[TMP20:%.*]] = add i64 [[TMP12]], 1
140- ; CHECK-NEXT: [[TMP21:%.*]] = add i64 [[TMP13]], 1
141- ; CHECK-NEXT: [[TMP22:%.*]] = add i64 [[TMP14]], 1
142127; CHECK-NEXT: [[TMP23:%.*]] = add i64 [[TMP15]], 1
143- ; CHECK-NEXT: [[TMP24:%.*]] = getelementptr i64, ptr [[DST]], i64 [[TMP20 ]]
128+ ; CHECK-NEXT: [[TMP24:%.*]] = getelementptr i64, ptr [[DST]], i64 [[TMP23 ]]
144129; CHECK-NEXT: [[TMP28:%.*]] = getelementptr i64, ptr [[TMP24]], i32 0
145130; CHECK-NEXT: [[TMP29:%.*]] = getelementptr i64, ptr [[TMP24]], i32 4
146131; CHECK-NEXT: [[TMP30:%.*]] = getelementptr i64, ptr [[TMP24]], i32 8
0 commit comments