Lines Matching full:add
4 ; This test checks whether load-zext-add and load-add reduction patterns
15 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw nsw i64 [[ZEXT]], [[ZEXT_1]]
24 %add.1 = add nuw nsw i64 %zext, %zext.1
25 ret i64 %add.1
33 ; CHECK-NEXT: [[TMP2:%.*]] = call i16 @llvm.vector.reduce.add.v4i16(<4 x i16> [[TMP1]])
43 %add.1 = add nuw nsw i64 %zext, %zext.1
47 %add.2 = add nuw nsw i64 %add.1, %zext.2
51 %add.3 = add nuw nsw i64 %add.2, %zext.3
52 ret i64 %add.3
60 ; CHECK-NEXT: [[TMP2:%.*]] = call i64 @llvm.vector.reduce.add.v8i64(<8 x i64> [[TMP1]])
69 %add.1 = add nuw nsw i64 %zext, %zext.1
73 %add.2 = add nuw nsw i64 %add.1, %zext.2
77 %add.3 = add nuw nsw i64 %add.2, %zext.3
81 %add.4 = add nuw nsw i64 %add.3, %zext.4
85 %add.5 = add nuw nsw i64 %add.4, %zext.5
89 %add.6 = add nuw nsw i64 %add.5, %zext.6
93 %add.7 = add nuw nsw i64 %add.6, %zext.7
94 ret i64 %add.7
102 ; CHECK-NEXT: [[TMP2:%.*]] = call i64 @llvm.vector.reduce.add.v16i64(<16 x i64> [[TMP1]])
111 %add.1 = add nuw nsw i64 %zext, %zext.1
115 %add.2 = add nuw nsw i64 %add.1, %zext.2
119 %add.3 = add nuw nsw i64 %add.2, %zext.3
123 %add.4 = add nuw nsw i64 %add.3, %zext.4
127 %add.5 = add nuw nsw i64 %add.4, %zext.5
131 %add.6 = add nuw nsw i64 %add.5, %zext.6
135 %add.7 = add nuw nsw i64 %add.6, %zext.7
139 %add.8 = add nuw nsw i64 %add.7, %zext.8
143 %add.9 = add nuw nsw i64 %add.8, %zext.9
147 %add.10 = add nuw nsw i64 %add.9, %zext.10
151 %add.11 = add nuw nsw i64 %add.10, %zext.11
155 %add.12 = add nuw nsw i64 %add.11, %zext.12
159 %add.13 = add nuw nsw i64 %add.12, %zext.13
163 %add.14 = add nuw nsw i64 %add.13, %zext.14
167 %add.15 = add nuw nsw i64 %add.14, %zext.15
168 ret i64 %add.15
179 ; CHECK-NEXT: [[ADD_1:%.*]] = add nuw nsw i64 [[LD0]], [[LD1]]
186 %add.1 = add nuw nsw i64 %ld0, %ld1
187 ret i64 %add.1
194 ; CHECK-NEXT: [[TMP1:%.*]] = call i64 @llvm.vector.reduce.add.v4i64(<4 x i64> [[TMP0]])
201 %add.1 = add nuw nsw i64 %ld0, %ld1
204 %add.2 = add nuw nsw i64 %add.1, %ld2
207 %add.3 = add nuw nsw i64 %add.2, %ld3
208 ret i64 %add.3
215 ; CHECK-NEXT: [[TMP1:%.*]] = call i64 @llvm.vector.reduce.add.v8i64(<8 x i64> [[TMP0]])
222 %add.1 = add nuw nsw i64 %ld0, %ld1
225 %add.2 = add nuw nsw i64 %add.1, %ld2
228 %add.3 = add nuw nsw i64 %add.2, %ld3
231 %add.4 = add nuw nsw i64 %add.3, %ld4
234 %add.5 = add nuw nsw i64 %add.4, %ld5
237 %add.6 = add nuw nsw i64 %add.5, %ld6
240 %add.7 = add nuw nsw i64 %add.6, %ld7
241 ret i64 %add.7
248 ; CHECK-NEXT: [[TMP1:%.*]] = call i64 @llvm.vector.reduce.add.v16i64(<16 x i64> [[TMP0]])
255 %add.1 = add nuw nsw i64 %ld0, %ld1
258 %add.2 = add nuw nsw i64 %add.1, %ld2
261 %add.3 = add nuw nsw i64 %add.2, %ld3
264 %add.4 = add nuw nsw i64 %add.3, %ld4
267 %add.5 = add nuw nsw i64 %add.4, %ld5
270 %add.6 = add nuw nsw i64 %add.5, %ld6
273 %add.7 = add nuw nsw i64 %add.6, %ld7
276 %add.8 = add nuw nsw i64 %add.7, %ld8
279 %add.9 = add nuw nsw i64 %add.8, %ld9
282 %add.10 = add nuw nsw i64 %add.9, %ld10
285 %add.11 = add nuw nsw i64 %add.10, %ld11
288 %add.12 = add nuw nsw i64 %add.11, %ld12
291 %add.13 = add nuw nsw i64 %add.12, %ld13
294 %add.14 = add nuw nsw i64 %add.13, %ld14
297 %add.15 = add nuw nsw i64 %add.14, %ld15
298 ret i64 %add.15