Lines Matching full:add

11   %tmp5 = add i64 %tmp3, %A
23 %F = add i32 %B, %C
36 %F = add i32 %B, %C
45 %B = add nuw i32 %A, %A
51 ; CHECK-NEXT: [[ADD:%.*]] = xor <2 x i1> [[A:%.*]], [[B:%.*]]
52 ; CHECK-NEXT: ret <2 x i1> [[ADD]]
54 %add = add <2 x i1> %A, %B
55 ret <2 x i1> %add
60 ; CHECK-NEXT: [[ADD:%.*]] = mul <2 x i64> [[A:%.*]], <i64 5, i64 9>
61 ; CHECK-NEXT: ret <2 x i64> [[ADD]]
64 %add = add <2 x i64> %shl, %A
65 ret <2 x i64> %add
70 ; CHECK-NEXT: [[ADD:%.*]] = mul <2 x i64> [[A:%.*]], <i64 7, i64 12>
71 ; CHECK-NEXT: ret <2 x i64> [[ADD]]
75 %add = add <2 x i64> %shl, %mul
76 ret <2 x i64> %add
86 %d = add i16 %b, %c
101 %add = add i32 %y, 1
102 %add1 = add i32 %add, %neg
115 %add = add i32 %y, 1
116 %add1 = add i32 %add, %neg
127 %add = add nsw i32 %y, 1
130 %add1 = add nsw i32 %add, %neg
143 %add = add i32 %y, 1
144 %add1 = add i32 %add, %neg
155 %add = add nsw i32 %y, 1
158 %add1 = add nsw i32 %add, %neg
171 %add = add i32 %y, 1
172 %add1 = add i32 %add, %neg
183 %add = add nsw i32 %y, 1
186 %add1 = add nsw i32 %add, %neg
199 %add1 = add nsw i32 %add2, %y
210 %add = add nsw i32 %y, 1
213 %add1 = add nsw i32 %add, %neg
222 %add1 = add nsw i16 %x, %x
223 %add2 = add nsw i16 %add1, %x
233 %add2 = add nsw i16 %x, %mul1
243 %add2 = add nsw i16 %mul1, %x
249 ; CHECK-NEXT: [[ADD:%.*]] = mul i16 [[A:%.*]], 5
250 ; CHECK-NEXT: ret i16 [[ADD]]
254 %add = add nsw i16 %mul1, %mul2
255 ret i16 %add
260 ; CHECK-NEXT: [[ADD:%.*]] = mul nsw i16 [[A:%.*]], 9
261 ; CHECK-NEXT: ret i16 [[ADD]]
265 %add = add nsw i16 %mul1, %mul2
266 ret i16 %add
271 ; CHECK-NEXT: [[ADD:%.*]] = mul nsw i16 [[A:%.*]], 10
272 ; CHECK-NEXT: ret i16 [[ADD]]
276 %add = add nsw i16 %mul1, %mul2
277 ret i16 %add
283 ; CHECK-NEXT: [[ADD:%.*]] = mul nsw i32 [[MUL1]], 6
284 ; CHECK-NEXT: ret i32 [[ADD]]
288 %add = add nsw i32 %mul1, %mul2
289 ret i32 %add
298 %add2 = add nsw i16 %x, %mul1
304 ; CHECK-NEXT: [[ADD:%.*]] = mul nsw i16 [[A:%.*]], 32767
305 ; CHECK-NEXT: ret i16 [[ADD]]
309 %add = add nsw i16 %mul1, %mul2
310 ret i16 %add
315 ; CHECK-NEXT: [[ADD:%.*]] = shl i16 [[A:%.*]], 15
316 ; CHECK-NEXT: ret i16 [[ADD]]
320 %add = add nsw i16 %mul1, %mul2
321 ret i16 %add
331 %add = add i32 %shl, %shl
332 ret i32 %add
351 ; add %cttz, 1111 1111 1111 1000 ; decimal -8
355 %b = add i16 %cttz, -8
373 ; add %cttz, 1111 1111 1111 0000 ; decimal -16
377 %b = add i16 %cttz, -16
384 ; CHECK-NEXT: [[ADD:%.*]] = add i32 [[X:%.*]], [[Y:%.*]]
385 ; CHECK-NEXT: ret i32 [[ADD]]
389 %add = add i32 %or, %and
390 ret i32 %add
395 ; CHECK-NEXT: [[ADD:%.*]] = add i32 [[X:%.*]], [[Y:%.*]]
396 ; CHECK-NEXT: ret i32 [[ADD]]
400 %add = add i32 %or, %and
401 ret i32 %add
406 ; CHECK-NEXT: [[ADD:%.*]] = add i32 [[X:%.*]], [[Y:%.*]]
407 ; CHECK-NEXT: ret i32 [[ADD]]
411 %add = add i32 %and, %or
412 ret i32 %add
417 ; CHECK-NEXT: [[ADD:%.*]] = add i32 [[X:%.*]], [[Y:%.*]]
418 ; CHECK-NEXT: ret i32 [[ADD]]
422 %add = add i32 %and, %or
423 ret i32 %add
428 ; CHECK-NEXT: [[ADD:%.*]] = add nsw i32 [[X:%.*]], [[Y:%.*]]
429 ; CHECK-NEXT: ret i32 [[ADD]]
433 %add = add nsw i32 %or, %and
434 ret i32 %add
439 ; CHECK-NEXT: [[ADD:%.*]] = add nuw i32 [[X:%.*]], [[Y:%.*]]
440 ; CHECK-NEXT: ret i32 [[ADD]]
444 %add = add nuw i32 %or, %and
445 ret i32 %add
450 ; CHECK-NEXT: [[ADD:%.*]] = add nuw nsw i32 [[X:%.*]], [[Y:%.*]]
451 ; CHECK-NEXT: ret i32 [[ADD]]
455 %add = add nsw nuw i32 %or, %and
456 ret i32 %add
465 ; CHECK-NEXT: [[MB1:%.*]] = add i8 [[Y:%.*]], [[Z:%.*]]
472 %sum = add nsw i8 %mA, %mB
478 ; CHECK-NEXT: [[ADD:%.*]] = select i1 [[A:%.*]], i32 [[B:%.*]], i32 0
479 ; CHECK-NEXT: ret i32 [[ADD]]
483 %add = add i32 %sel0, %sel1
484 ret i32 %add
487 ; The ADD can't cause overflow out of the low 4 bits so the OR can be removed.
491 ; CHECK-NEXT: [[ADD:%.*]] = add i32 [[X:%.*]], 1616
492 ; CHECK-NEXT: [[SHR:%.*]] = lshr i32 [[ADD]], 4
496 %add = add i32 %or, 1616
497 %shr = lshr i32 %add, 4
503 ; CHECK-NEXT: [[SUB:%.*]] = add i32 [[X:%.*]], -1616