Lines Matching full:sub

11 ; usub_sat((sub nuw C1, A), C2) to usub_sat(usub_sat(C1 - C2), A)
17 %add = sub nuw i32 64, %a
26 %add = sub nuw i32 14, %a
35 %add = sub nuw i32 12, %a
46 %add = sub nuw <2 x i16> <i16 64, i16 64>, %a
56 %add = sub nuw <2 x i16> <i16 50, i16 64>, %a
65 %add = sub nuw <2 x i16> <i16 14, i16 14>, %a
74 %add = sub nuw <2 x i16> <i16 12, i16 12>, %a
83 %add = sub nuw <2 x i16> <i16 12, i16 13>, %a
91 ; CHECK-NEXT: [[ADD:%.*]] = sub i32 12, [[A:%.*]]
95 %add = sub i32 12, %a
108 %sub = sub i64 %a, %b
109 %sel = select i1 %cmp, i64 %sub ,i64 0
121 %sub = sub i64 %a, %b
122 %sel = select i1 %cmp, i64 %sub ,i64 0
128 ; CHECK-NEXT: [[SUB:%.*]] = sub i64 [[A:%.*]], [[B:%.*]]
130 ; CHECK-NEXT: call void @use(i64 [[SUB]])
134 %sub = sub i64 %a, %b
135 %sel = select i1 %cmp, i64 %sub ,i64 0
136 call void @use(i64 %sub)
148 %sub = sub i64 %a, %b
149 %sel = select i1 %cmp, i64 %sub ,i64 0
157 ; CHECK-NEXT: [[SUB:%.*]] = sub i64 [[A]], [[B]]
159 ; CHECK-NEXT: call void @use(i64 [[SUB]])
164 %sub = sub i64 %a, %b
165 %sel = select i1 %cmp, i64 %sub ,i64 0
166 call void @use(i64 %sub)
180 %sub = sub <4 x i32> %a, %b
181 %sel = select <4 x i1> %cmp, <4 x i32> %sub, <4 x i32> zeroinitializer
191 ; CHECK-NEXT: [[EXTRASUB:%.*]] = sub i64 [[B]], [[A]]
196 %sub = sub i64 %a, %b
197 %sel = select i1 %cmp, i64 %sub ,i64 0
198 %extrasub = sub i64 %b, %a
208 ; CHECK-NEXT: [[EXTRASUB:%.*]] = sub i64 [[B]], [[A]]
213 %sub = sub i64 %a, %b
214 %sel = select i1 %cmp, i64 0 ,i64 %sub
215 %extrasub = sub i64 %b, %a
228 %sub = sub i64 %a, %b
229 %sel = select i1 %cmp, i64 0 ,i64 %sub
238 ; CHECK-NEXT: [[SEL:%.*]] = sub i64 0, [[TMP1]]
239 ; CHECK-NEXT: [[EXTRASUB:%.*]] = sub i64 [[A]], [[B]]
244 %sub = sub i64 %b, %a
245 %sel = select i1 %cmp, i64 %sub ,i64 0
246 %extrasub = sub i64 %a, %b
256 ; CHECK-NEXT: [[SEL:%.*]] = sub i64 0, [[TMP1]]
260 %sub = sub i64 %b, %a
261 %sel = select i1 %cmp, i64 %sub ,i64 0
270 ; CHECK-NEXT: [[SEL:%.*]] = sub i64 0, [[TMP1]]
274 %sub = sub i64 %b, %a
275 %sel = select i1 %cmp, i64 0 ,i64 %sub
283 ; CHECK-NEXT: [[SEL:%.*]] = sub i64 0, [[TMP1]]
288 %sub = sub i64 %b, %a
289 %sel = select i1 %cmp, i64 0 ,i64 %sub
296 ; CHECK-NEXT: [[SUB:%.*]] = sub i64 [[B:%.*]], [[A:%.*]]
298 ; CHECK-NEXT: [[SEL:%.*]] = sub i64 0, [[TMP1]]
299 ; CHECK-NEXT: call void @use(i64 [[SUB]])
303 %sub = sub i64 %b, %a
304 %sel = select i1 %cmp, i64 0 ,i64 %sub
305 call void @use(i64 %sub)
312 ; CHECK-NEXT: [[SUB:%.*]] = sub i64 [[B]], [[A]]
313 ; CHECK-NEXT: [[SEL:%.*]] = select i1 [[CMP]], i64 0, i64 [[SUB]]
314 ; CHECK-NEXT: call void @use(i64 [[SUB]])
319 %sub = sub i64 %b, %a
320 %sel = select i1 %cmp, i64 0 ,i64 %sub
321 call void @use(i64 %sub)
331 ; CHECK-NEXT: [[SEL:%.*]] = sub i64 0, [[TMP1]]
332 ; CHECK-NEXT: [[EXTRASUB:%.*]] = sub i64 [[A]], [[B]]
337 %sub = sub i64 %b, %a
338 %sel = select i1 %cmp, i64 0 ,i64 %sub
339 %extrasub = sub i64 %a, %b
350 %sub = add i32 %a, -1
351 %sel = select i1 %cmp, i32 %sub ,i32 0
361 %sub = add i32 %a, -1
362 %sel = select i1 %cmp, i32 %sub ,i32 0
372 %sub = add i32 %a, -10
373 %sel = select i1 %cmp, i32 %sub, i32 0
379 ; CHECK-NEXT: [[SUB:%.*]] = call i32 @llvm.usub.sat.i32(i32 [[A:%.*]], i32 10)
380 ; CHECK-NEXT: ret i32 [[SUB]]
383 %sub = add i32 %a, -10
384 %sel = select i1 %cmp, i32 %sub, i32 0
391 ; CHECK-NEXT: [[SUB:%.*]] = add i32 [[A]], -10
392 ; CHECK-NEXT: [[SEL:%.*]] = select i1 [[CMP]], i32 [[SUB]], i32 0
396 %sub = add i32 %a, -10
397 %sel = select i1 %cmp, i32 %sub, i32 0
406 %sub = add i32 %a, 0
407 %sel = select i1 %cmp, i32 %sub, i32 0
413 ; CHECK-NEXT: [[SUB:%.*]] = call i32 @llvm.usub.sat.i32(i32 [[A:%.*]], i32 2)
414 ; CHECK-NEXT: ret i32 [[SUB]]
417 %sub = add i32 %a, -2
418 %sel = select i1 %cmp, i32 %sub, i32 0
429 %sub = add i32 %a, -1
430 %sel = select i1 %cmp, i32 %sub, i32 0
437 ; CHECK-NEXT: [[SEL:%.*]] = sub nsw i32 0, [[TMP1]]
441 %sub = add i32 %a, -2
442 %sel = select i1 %cmp, i32 %sub, i32 0
450 ; CHECK-NEXT: [[SEL:%.*]] = sub nsw i32 0, [[TMP1]]
455 %sub = add i32 %a, -2
456 %sel = select i1 %cmp, i32 %sub, i32 0
463 ; CHECK-NEXT: [[SUB:%.*]] = add i32 [[A:%.*]], -2
465 ; CHECK-NEXT: [[SEL:%.*]] = sub nsw i32 0, [[TMP1]]
466 ; CHECK-NEXT: call void @usei32(i32 [[SUB]])
470 %sub = add i32 %a, -2
471 %sel = select i1 %cmp, i32 %sub, i32 0
472 call void @usei32(i32 %sub)
483 %sub = add i32 %a, -2
484 %sel = select i1 %cmp, i32 %sub, i32 0
495 %sub = add i32 %a, -2
496 %sel = select i1 %cmp, i32 %sub, i32 0
507 %sub = add i32 %a, -2
508 %sel = select i1 %cmp, i32 %sub, i32 0
519 %sub = add i32 %a, -2
520 %sel = select i1 %cmp, i32 %sub, i32 0
529 %sub = add i32 %a, -1
530 %sel = select i1 %cmp, i32 %sub, i32 0