Dan Gohman | fce288f | 2009-09-09 00:09:15 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=ppc32 |
Eli Friedman | db3c169 | 2009-06-16 06:58:29 +0000 | [diff] [blame] | 2 | |
| 3 | declare {i32, i1} @llvm.umul.with.overflow.i32(i32 %a, i32 %b) |
Chris Lattner | 26b0000 | 2011-06-17 03:14:27 +0000 | [diff] [blame] | 4 | define zeroext i1 @a(i32 %x) nounwind { |
Eli Friedman | db3c169 | 2009-06-16 06:58:29 +0000 | [diff] [blame] | 5 | %res = call {i32, i1} @llvm.umul.with.overflow.i32(i32 %x, i32 3) |
| 6 | %obil = extractvalue {i32, i1} %res, 1 |
| 7 | ret i1 %obil |
| 8 | } |
| 9 | |
| 10 | declare {i32, i1} @llvm.smul.with.overflow.i32(i32 %a, i32 %b) |
Chris Lattner | 26b0000 | 2011-06-17 03:14:27 +0000 | [diff] [blame] | 11 | define zeroext i1 @b(i32 %x) nounwind { |
Eli Friedman | db3c169 | 2009-06-16 06:58:29 +0000 | [diff] [blame] | 12 | %res = call {i32, i1} @llvm.smul.with.overflow.i32(i32 %x, i32 3) |
| 13 | %obil = extractvalue {i32, i1} %res, 1 |
| 14 | ret i1 %obil |
| 15 | } |