Lines Matching refs:i1

8 define zeroext i1 @saddo.i8(i8 signext %v1, i8 signext %v2, i8* %res) {
13 %t = call {i8, i1} @llvm.sadd.with.overflow.i8(i8 %v1, i8 %v2)
14 %val = extractvalue {i8, i1} %t, 0
15 %obit = extractvalue {i8, i1} %t, 1
17 ret i1 %obit
20 define zeroext i1 @saddo.i16(i16 %v1, i16 %v2, i16* %res) {
25 %t = call {i16, i1} @llvm.sadd.with.overflow.i16(i16 %v1, i16 %v2)
26 %val = extractvalue {i16, i1} %t, 0
27 %obit = extractvalue {i16, i1} %t, 1
29 ret i1 %obit
32 define zeroext i1 @saddo.i32(i32 %v1, i32 %v2, i32* %res) {
37 %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %v1, i32 %v2)
38 %val = extractvalue {i32, i1} %t, 0
39 %obit = extractvalue {i32, i1} %t, 1
41 ret i1 %obit
44 define zeroext i1 @saddo.i64(i64 %v1, i64 %v2, i64* %res) {
49 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 %v2)
50 %val = extractvalue {i64, i1} %t, 0
51 %obit = extractvalue {i64, i1} %t, 1
53 ret i1 %obit
57 define zeroext i1 @saddo.inc.i8(i8 %v1, i8* %res) {
62 %t = call {i8, i1} @llvm.sadd.with.overflow.i8(i8 %v1, i8 1)
63 %val = extractvalue {i8, i1} %t, 0
64 %obit = extractvalue {i8, i1} %t, 1
66 ret i1 %obit
69 define zeroext i1 @saddo.inc.i16(i16 %v1, i16* %res) {
74 %t = call {i16, i1} @llvm.sadd.with.overflow.i16(i16 %v1, i16 1)
75 %val = extractvalue {i16, i1} %t, 0
76 %obit = extractvalue {i16, i1} %t, 1
78 ret i1 %obit
81 define zeroext i1 @saddo.inc.i32(i32 %v1, i32* %res) {
86 %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %v1, i32 1)
87 %val = extractvalue {i32, i1} %t, 0
88 %obit = extractvalue {i32, i1} %t, 1
90 ret i1 %obit
93 define zeroext i1 @saddo.inc.i64(i64 %v1, i64* %res) {
98 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 1)
99 %val = extractvalue {i64, i1} %t, 0
100 %obit = extractvalue {i64, i1} %t, 1
102 ret i1 %obit
107 define zeroext i1 @saddo.i64imm1(i64 %v1, i64* %res) {
116 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 2, i64 %v1)
117 %val = extractvalue {i64, i1} %t, 0
118 %obit = extractvalue {i64, i1} %t, 1
120 ret i1 %obit
124 define zeroext i1 @saddo.i64imm2(i64 %v1, i64* %res) {
129 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 -2147483648)
130 %val = extractvalue {i64, i1} %t, 0
131 %obit = extractvalue {i64, i1} %t, 1
133 ret i1 %obit
136 define zeroext i1 @saddo.i64imm3(i64 %v1, i64* %res) {
142 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 -21474836489)
143 %val = extractvalue {i64, i1} %t, 0
144 %obit = extractvalue {i64, i1} %t, 1
146 ret i1 %obit
149 define zeroext i1 @saddo.i64imm4(i64 %v1, i64* %res) {
154 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 2147483647)
155 %val = extractvalue {i64, i1} %t, 0
156 %obit = extractvalue {i64, i1} %t, 1
158 ret i1 %obit
161 define zeroext i1 @saddo.i64imm5(i64 %v1, i64* %res) {
167 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 2147483648)
168 %val = extractvalue {i64, i1} %t, 0
169 %obit = extractvalue {i64, i1} %t, 1
171 ret i1 %obit
175 define zeroext i1 @uaddo.i32(i32 %v1, i32 %v2, i32* %res) {
180 %t = call {i32, i1} @llvm.uadd.with.overflow.i32(i32 %v1, i32 %v2)
181 %val = extractvalue {i32, i1} %t, 0
182 %obit = extractvalue {i32, i1} %t, 1
184 ret i1 %obit
187 define zeroext i1 @uaddo.i64(i64 %v1, i64 %v2, i64* %res) {
192 %t = call {i64, i1} @llvm.uadd.with.overflow.i64(i64 %v1, i64 %v2)
193 %val = extractvalue {i64, i1} %t, 0
194 %obit = extractvalue {i64, i1} %t, 1
196 ret i1 %obit
200 define zeroext i1 @uaddo.inc.i8(i8 %v1, i8* %res) {
204 %t = call {i8, i1} @llvm.uadd.with.overflow.i8(i8 %v1, i8 1)
205 %val = extractvalue {i8, i1} %t, 0
206 %obit = extractvalue {i8, i1} %t, 1
208 ret i1 %obit
211 define zeroext i1 @uaddo.inc.i16(i16 %v1, i16* %res) {
215 %t = call {i16, i1} @llvm.uadd.with.overflow.i16(i16 %v1, i16 1)
216 %val = extractvalue {i16, i1} %t, 0
217 %obit = extractvalue {i16, i1} %t, 1
219 ret i1 %obit
222 define zeroext i1 @uaddo.inc.i32(i32 %v1, i32* %res) {
226 %t = call {i32, i1} @llvm.uadd.with.overflow.i32(i32 %v1, i32 1)
227 %val = extractvalue {i32, i1} %t, 0
228 %obit = extractvalue {i32, i1} %t, 1
230 ret i1 %obit
233 define zeroext i1 @uaddo.inc.i64(i64 %v1, i64* %res) {
237 %t = call {i64, i1} @llvm.uadd.with.overflow.i64(i64 %v1, i64 1)
238 %val = extractvalue {i64, i1} %t, 0
239 %obit = extractvalue {i64, i1} %t, 1
241 ret i1 %obit
245 define zeroext i1 @ssubo.i32(i32 %v1, i32 %v2, i32* %res) {
250 %t = call {i32, i1} @llvm.ssub.with.overflow.i32(i32 %v1, i32 %v2)
251 %val = extractvalue {i32, i1} %t, 0
252 %obit = extractvalue {i32, i1} %t, 1
254 ret i1 %obit
257 define zeroext i1 @ssubo.i64(i64 %v1, i64 %v2, i64* %res) {
262 %t = call {i64, i1} @llvm.ssub.with.overflow.i64(i64 %v1, i64 %v2)
263 %val = extractvalue {i64, i1} %t, 0
264 %obit = extractvalue {i64, i1} %t, 1
266 ret i1 %obit
270 define zeroext i1 @usubo.i32(i32 %v1, i32 %v2, i32* %res) {
275 %t = call {i32, i1} @llvm.usub.with.overflow.i32(i32 %v1, i32 %v2)
276 %val = extractvalue {i32, i1} %t, 0
277 %obit = extractvalue {i32, i1} %t, 1
279 ret i1 %obit
282 define zeroext i1 @usubo.i64(i64 %v1, i64 %v2, i64* %res) {
287 %t = call {i64, i1} @llvm.usub.with.overflow.i64(i64 %v1, i64 %v2)
288 %val = extractvalue {i64, i1} %t, 0
289 %obit = extractvalue {i64, i1} %t, 1
291 ret i1 %obit
295 define zeroext i1 @smulo.i8(i8 %v1, i8 %v2, i8* %res) {
301 %t = call {i8, i1} @llvm.smul.with.overflow.i8(i8 %v1, i8 %v2)
302 %val = extractvalue {i8, i1} %t, 0
303 %obit = extractvalue {i8, i1} %t, 1
305 ret i1 %obit
308 define zeroext i1 @smulo.i16(i16 %v1, i16 %v2, i16* %res) {
313 %t = call {i16, i1} @llvm.smul.with.overflow.i16(i16 %v1, i16 %v2)
314 %val = extractvalue {i16, i1} %t, 0
315 %obit = extractvalue {i16, i1} %t, 1
317 ret i1 %obit
320 define zeroext i1 @smulo.i32(i32 %v1, i32 %v2, i32* %res) {
325 %t = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %v1, i32 %v2)
326 %val = extractvalue {i32, i1} %t, 0
327 %obit = extractvalue {i32, i1} %t, 1
329 ret i1 %obit
332 define zeroext i1 @smulo.i64(i64 %v1, i64 %v2, i64* %res) {
337 %t = call {i64, i1} @llvm.smul.with.overflow.i64(i64 %v1, i64 %v2)
338 %val = extractvalue {i64, i1} %t, 0
339 %obit = extractvalue {i64, i1} %t, 1
341 ret i1 %obit
345 define zeroext i1 @umulo.i8(i8 %v1, i8 %v2, i8* %res) {
351 %t = call {i8, i1} @llvm.umul.with.overflow.i8(i8 %v1, i8 %v2)
352 %val = extractvalue {i8, i1} %t, 0
353 %obit = extractvalue {i8, i1} %t, 1
355 ret i1 %obit
358 define zeroext i1 @umulo.i16(i16 %v1, i16 %v2, i16* %res) {
363 %t = call {i16, i1} @llvm.umul.with.overflow.i16(i16 %v1, i16 %v2)
364 %val = extractvalue {i16, i1} %t, 0
365 %obit = extractvalue {i16, i1} %t, 1
367 ret i1 %obit
370 define zeroext i1 @umulo.i32(i32 %v1, i32 %v2, i32* %res) {
375 %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %v1, i32 %v2)
376 %val = extractvalue {i32, i1} %t, 0
377 %obit = extractvalue {i32, i1} %t, 1
379 ret i1 %obit
382 define zeroext i1 @umulo.i64(i64 %v1, i64 %v2, i64* %res) {
387 %t = call {i64, i1} @llvm.umul.with.overflow.i64(i64 %v1, i64 %v2)
388 %val = extractvalue {i64, i1} %t, 0
389 %obit = extractvalue {i64, i1} %t, 1
391 ret i1 %obit
402 %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %v1, i32 %v2)
403 %obit = extractvalue {i32, i1} %t, 1
404 %ret = select i1 %obit, i32 %v1, i32 %v2
413 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 %v2)
414 %obit = extractvalue {i64, i1} %t, 1
415 %ret = select i1 %obit, i64 %v1, i64 %v2
424 %t = call {i32, i1} @llvm.uadd.with.overflow.i32(i32 %v1, i32 %v2)
425 %obit = extractvalue {i32, i1} %t, 1
426 %ret = select i1 %obit, i32 %v1, i32 %v2
435 %t = call {i64, i1} @llvm.uadd.with.overflow.i64(i64 %v1, i64 %v2)
436 %obit = extractvalue {i64, i1} %t, 1
437 %ret = select i1 %obit, i64 %v1, i64 %v2
446 %t = call {i32, i1} @llvm.ssub.with.overflow.i32(i32 %v1, i32 %v2)
447 %obit = extractvalue {i32, i1} %t, 1
448 %ret = select i1 %obit, i32 %v1, i32 %v2
457 %t = call {i64, i1} @llvm.ssub.with.overflow.i64(i64 %v1, i64 %v2)
458 %obit = extractvalue {i64, i1} %t, 1
459 %ret = select i1 %obit, i64 %v1, i64 %v2
468 %t = call {i32, i1} @llvm.usub.with.overflow.i32(i32 %v1, i32 %v2)
469 %obit = extractvalue {i32, i1} %t, 1
470 %ret = select i1 %obit, i32 %v1, i32 %v2
479 %t = call {i64, i1} @llvm.usub.with.overflow.i64(i64 %v1, i64 %v2)
480 %obit = extractvalue {i64, i1} %t, 1
481 %ret = select i1 %obit, i64 %v1, i64 %v2
490 %t = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %v1, i32 %v2)
491 %obit = extractvalue {i32, i1} %t, 1
492 %ret = select i1 %obit, i32 %v1, i32 %v2
501 %t = call {i64, i1} @llvm.smul.with.overflow.i64(i64 %v1, i64 %v2)
502 %obit = extractvalue {i64, i1} %t, 1
503 %ret = select i1 %obit, i64 %v1, i64 %v2
512 %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %v1, i32 %v2)
513 %obit = extractvalue {i32, i1} %t, 1
514 %ret = select i1 %obit, i32 %v1, i32 %v2
523 %t = call {i64, i1} @llvm.umul.with.overflow.i64(i64 %v1, i64 %v2)
524 %obit = extractvalue {i64, i1} %t, 1
525 %ret = select i1 %obit, i64 %v1, i64 %v2
533 define zeroext i1 @saddo.br.i32(i32 %v1, i32 %v2) {
538 %t = call {i32, i1} @llvm.sadd.with.overflow.i32(i32 %v1, i32 %v2)
539 %val = extractvalue {i32, i1} %t, 0
540 %obit = extractvalue {i32, i1} %t, 1
541 br i1 %obit, label %overflow, label %continue, !prof !0
544 ret i1 false
547 ret i1 true
550 define zeroext i1 @saddo.br.i64(i64 %v1, i64 %v2) {
555 %t = call {i64, i1} @llvm.sadd.with.overflow.i64(i64 %v1, i64 %v2)
556 %val = extractvalue {i64, i1} %t, 0
557 %obit = extractvalue {i64, i1} %t, 1
558 br i1 %obit, label %overflow, label %continue, !prof !0
561 ret i1 false
564 ret i1 true
567 define zeroext i1 @uaddo.br.i32(i32 %v1, i32 %v2) {
572 %t = call {i32, i1} @llvm.uadd.with.overflow.i32(i32 %v1, i32 %v2)
573 %val = extractvalue {i32, i1} %t, 0
574 %obit = extractvalue {i32, i1} %t, 1
575 br i1 %obit, label %overflow, label %continue, !prof !0
578 ret i1 false
581 ret i1 true
584 define zeroext i1 @uaddo.br.i64(i64 %v1, i64 %v2) {
589 %t = call {i64, i1} @llvm.uadd.with.overflow.i64(i64 %v1, i64 %v2)
590 %val = extractvalue {i64, i1} %t, 0
591 %obit = extractvalue {i64, i1} %t, 1
592 br i1 %obit, label %overflow, label %continue, !prof !0
595 ret i1 false
598 ret i1 true
601 define zeroext i1 @ssubo.br.i32(i32 %v1, i32 %v2) {
606 %t = call {i32, i1} @llvm.ssub.with.overflow.i32(i32 %v1, i32 %v2)
607 %val = extractvalue {i32, i1} %t, 0
608 %obit = extractvalue {i32, i1} %t, 1
609 br i1 %obit, label %overflow, label %continue, !prof !0
612 ret i1 false
615 ret i1 true
618 define zeroext i1 @ssubo.br.i64(i64 %v1, i64 %v2) {
623 %t = call {i64, i1} @llvm.ssub.with.overflow.i64(i64 %v1, i64 %v2)
624 %val = extractvalue {i64, i1} %t, 0
625 %obit = extractvalue {i64, i1} %t, 1
626 br i1 %obit, label %overflow, label %continue, !prof !0
629 ret i1 false
632 ret i1 true
635 define zeroext i1 @usubo.br.i32(i32 %v1, i32 %v2) {
640 %t = call {i32, i1} @llvm.usub.with.overflow.i32(i32 %v1, i32 %v2)
641 %val = extractvalue {i32, i1} %t, 0
642 %obit = extractvalue {i32, i1} %t, 1
643 br i1 %obit, label %overflow, label %continue, !prof !0
646 ret i1 false
649 ret i1 true
652 define zeroext i1 @usubo.br.i64(i64 %v1, i64 %v2) {
657 %t = call {i64, i1} @llvm.usub.with.overflow.i64(i64 %v1, i64 %v2)
658 %val = extractvalue {i64, i1} %t, 0
659 %obit = extractvalue {i64, i1} %t, 1
660 br i1 %obit, label %overflow, label %continue, !prof !0
663 ret i1 false
666 ret i1 true
669 define zeroext i1 @smulo.br.i32(i32 %v1, i32 %v2) {
674 %t = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %v1, i32 %v2)
675 %val = extractvalue {i32, i1} %t, 0
676 %obit = extractvalue {i32, i1} %t, 1
677 br i1 %obit, label %overflow, label %continue, !prof !0
680 ret i1 false
683 ret i1 true
686 define zeroext i1 @smulo.br.i64(i64 %v1, i64 %v2) {
691 %t = call {i64, i1} @llvm.smul.with.overflow.i64(i64 %v1, i64 %v2)
692 %val = extractvalue {i64, i1} %t, 0
693 %obit = extractvalue {i64, i1} %t, 1
694 br i1 %obit, label %overflow, label %continue, !prof !0
697 ret i1 false
700 ret i1 true
703 define zeroext i1 @umulo.br.i32(i32 %v1, i32 %v2) {
708 %t = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %v1, i32 %v2)
709 %val = extractvalue {i32, i1} %t, 0
710 %obit = extractvalue {i32, i1} %t, 1
711 br i1 %obit, label %overflow, label %continue, !prof !0
714 ret i1 false
717 ret i1 true
720 define zeroext i1 @umulo.br.i64(i64 %v1, i64 %v2) {
725 %t = call {i64, i1} @llvm.umul.with.overflow.i64(i64 %v1, i64 %v2)
726 %val = extractvalue {i64, i1} %t, 0
727 %obit = extractvalue {i64, i1} %t, 1
728 br i1 %obit, label %overflow, label %continue, !prof !0
731 ret i1 false
734 ret i1 true
737 declare {i8, i1} @llvm.sadd.with.overflow.i8 (i8, i8 ) nounwind readnone
738 declare {i16, i1} @llvm.sadd.with.overflow.i16(i16, i16) nounwind readnone
739 declare {i32, i1} @llvm.sadd.with.overflow.i32(i32, i32) nounwind readnone
740 declare {i64, i1} @llvm.sadd.with.overflow.i64(i64, i64) nounwind readnone
741 declare {i8, i1} @llvm.uadd.with.overflow.i8 (i8, i8 ) nounwind readnone
742 declare {i16, i1} @llvm.uadd.with.overflow.i16(i16, i16) nounwind readnone
743 declare {i32, i1} @llvm.uadd.with.overflow.i32(i32, i32) nounwind readnone
744 declare {i64, i1} @llvm.uadd.with.overflow.i64(i64, i64) nounwind readnone
745 declare {i32, i1} @llvm.ssub.with.overflow.i32(i32, i32) nounwind readnone
746 declare {i64, i1} @llvm.ssub.with.overflow.i64(i64, i64) nounwind readnone
747 declare {i32, i1} @llvm.usub.with.overflow.i32(i32, i32) nounwind readnone
748 declare {i64, i1} @llvm.usub.with.overflow.i64(i64, i64) nounwind readnone
749 declare {i8, i1} @llvm.smul.with.overflow.i8 (i8, i8 ) nounwind readnone
750 declare {i16, i1} @llvm.smul.with.overflow.i16(i16, i16) nounwind readnone
751 declare {i32, i1} @llvm.smul.with.overflow.i32(i32, i32) nounwind readnone
752 declare {i64, i1} @llvm.smul.with.overflow.i64(i64, i64) nounwind readnone
753 declare {i8, i1} @llvm.umul.with.overflow.i8 (i8, i8 ) nounwind readnone
754 declare {i16, i1} @llvm.umul.with.overflow.i16(i16, i16) nounwind readnone
755 declare {i32, i1} @llvm.umul.with.overflow.i32(i32, i32) nounwind readnone
756 declare {i64, i1} @llvm.umul.with.overflow.i64(i64, i64) nounwind readnone