This should always be signed chars, so use int8_t. This fixes a miscompile when
[llvm/stm8.git] / test / CodeGen / X86 / fast-isel-i1.ll
blobd0665783ce6462fd97d43a53645b9e42e7883038
1 ; RUN: llc < %s -march=x86 -fast-isel | grep {andb      \$1, %}
3 declare i64 @bar(i64)
5 define i32 @foo(i64 %x) nounwind {
6         %y = add i64 %x, -3             ; <i64> [#uses=1]
7         %t = call i64 @bar(i64 %y)              ; <i64> [#uses=1]
8         %s = mul i64 %t, 77             ; <i64> [#uses=1]
9         %z = trunc i64 %s to i1         ; <i1> [#uses=1]
10         br label %next
12 next:           ; preds = %0
13         %u = zext i1 %z to i32          ; <i32> [#uses=1]
14         %v = add i32 %u, 1999           ; <i32> [#uses=1]
15         br label %exit
17 exit:           ; preds = %next
18         ret i32 %v