Chris Lattner | b20e0b1 | 2010-12-05 07:30:36 +0000 | [diff] [blame] | 1 | ; RUN: llc < %s -march=x86 | FileCheck %s |
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) |
| 4 | define i1 @a(i32 %x) zeroext nounwind { |
| 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 |
Chris Lattner | b20e0b1 | 2010-12-05 07:30:36 +0000 | [diff] [blame] | 8 | |
| 9 | ; CHECK: a: |
| 10 | ; CHECK: mull |
| 11 | ; CHECK: seto %al |
Bill Wendling | c6df988 | 2011-04-14 01:11:51 +0000 | [diff] [blame^] | 12 | ; CHECK: movzx %al, %eax |
Chris Lattner | b20e0b1 | 2010-12-05 07:30:36 +0000 | [diff] [blame] | 13 | ; CHECK: ret |
Eli Friedman | db3c169 | 2009-06-16 06:58:29 +0000 | [diff] [blame] | 14 | } |