This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / umul-with-overflow.ll
blobc9976617a2479767b06e6894e1f685e24aef473a
1 ; RUN: llc < %s -march=x86 | FileCheck %s
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