blob: e70092b11c9a7db7cde7605e113335e76153e07a [file] [log] [blame]
Sanjiv Gupta4ed890d2009-12-28 04:53:24 +00001;RUN: llc < %s -march=pic16
2
3@c612.auto.a.b = internal global i1 false ; <i1*> [#uses=2]
4@c612.auto.A.b = internal global i1 false ; <i1*> [#uses=2]
5
6define void @c612() nounwind {
7entry:
8 %tmp3.b = load i1* @c612.auto.a.b ; <i1> [#uses=1]
9 %tmp3 = zext i1 %tmp3.b to i16 ; <i16> [#uses=1]
10 %tmp4.b = load i1* @c612.auto.A.b ; <i1> [#uses=1]
11 %tmp4 = select i1 %tmp4.b, i16 2, i16 0 ; <i16> [#uses=1]
12 %cmp5 = icmp ne i16 %tmp3, %tmp4 ; <i1> [#uses=1]
13 %conv7 = zext i1 %cmp5 to i8 ; <i8> [#uses=1]
14 tail call void @expectWrap(i8 %conv7, i8 2)
15 ret void
16}
17
18define void @expectWrap(i8 %boolresult, i8 %errCode) nounwind {
19entry:
20 %tobool = icmp eq i8 %boolresult, 0 ; <i1> [#uses=1]
21 br i1 %tobool, label %if.then, label %if.end
22
23if.then: ; preds = %entry
24 tail call void @exit(i16 1)
25 unreachable
26
27if.end: ; preds = %entry
28 ret void
29}
30
31define i16 @main() nounwind {
32entry:
33 tail call void @c612()
34 ret i16 0
35}
36
37declare void @exit(i16) noreturn nounwind