@@ -35,15 +35,9 @@ define void @iv.4_used_as_vector_and_first_lane(ptr %src, ptr noalias %dst) {
35
35
; CHECK-NEXT: [[TMP17:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD4]], <i64 128, i64 128, i64 128, i64 128>
36
36
; CHECK-NEXT: [[TMP18:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD5]], <i64 128, i64 128, i64 128, i64 128>
37
37
; 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
45
39
; 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 ]]
47
41
; CHECK-NEXT: [[TMP32:%.*]] = getelementptr i64, ptr [[TMP28]], i32 0
48
42
; CHECK-NEXT: [[TMP33:%.*]] = getelementptr i64, ptr [[TMP28]], i32 4
49
43
; 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) {
116
110
; CHECK: vector.body:
117
111
; CHECK-NEXT: [[INDEX:%.*]] = phi i64 [ 0, [[VECTOR_PH]] ], [ [[INDEX_NEXT:%.*]], [[VECTOR_BODY]] ]
118
112
; 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
122
113
; CHECK-NEXT: [[TMP4:%.*]] = getelementptr inbounds i64, ptr [[SRC]], i64 [[TMP0]]
123
114
; CHECK-NEXT: [[TMP8:%.*]] = getelementptr inbounds i64, ptr [[TMP4]], i32 0
124
115
; 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) {
128
119
; CHECK-NEXT: [[WIDE_LOAD1:%.*]] = load <4 x i64>, ptr [[TMP9]], align 8
129
120
; CHECK-NEXT: [[WIDE_LOAD2:%.*]] = load <4 x i64>, ptr [[TMP10]], align 8
130
121
; 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
135
123
; CHECK-NEXT: [[TMP16:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD]], <i64 128, i64 128, i64 128, i64 128>
136
124
; CHECK-NEXT: [[TMP17:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD1]], <i64 128, i64 128, i64 128, i64 128>
137
125
; CHECK-NEXT: [[TMP18:%.*]] = icmp ule <4 x i64> [[WIDE_LOAD2]], <i64 128, i64 128, i64 128, i64 128>
138
126
; 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
142
127
; 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 ]]
144
129
; CHECK-NEXT: [[TMP28:%.*]] = getelementptr i64, ptr [[TMP24]], i32 0
145
130
; CHECK-NEXT: [[TMP29:%.*]] = getelementptr i64, ptr [[TMP24]], i32 4
146
131
; CHECK-NEXT: [[TMP30:%.*]] = getelementptr i64, ptr [[TMP24]], i32 8
0 commit comments