it turns out that when ".with.overflow" intrinsics were added to the X86
[oota-llvm.git] / test / CodeGen / X86 / umul-with-overflow.ll
1 ; RUN: llc < %s -march=x86 | FileCheck %s
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
8   
9 ; CHECK: a:
10 ; CHECK: mull
11 ; CHECK: seto %al
12 ; CHECK: movzbl %al, %eax
13 ; CHECK: ret
14 }