OSDN Git Service

add34faafd3f67deb1c047c4f3138426c88d7aca
[android-x86/external-llvm.git] / test / CodeGen / SystemZ / 07-CmpImm32.ll
1 ; RUN: llc < %s | grep jl  | count 3
2 ; RUN: llc < %s | grep jh  | count 3
3 ; RUN: llc < %s | grep je  | count 2
4 ; RUN: llc < %s | grep jne | count 2
5
6 target datalayout = "E-p:64:64:64-i1:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-f128:128:128"
7 target triple = "s390x-unknown-linux-gnu"
8
9 define void @foo(i32 %a, i32 %b) nounwind {
10 entry:
11         %cmp = icmp eq i32 %a, 0                ; <i1> [#uses=1]
12         br i1 %cmp, label %if.then, label %if.end
13
14 if.then:                ; preds = %entry
15         tail call void @bar() nounwind
16         ret void
17
18 if.end:         ; preds = %entry
19         ret void
20 }
21
22 declare void @bar()
23
24 define void @foo1(i32 %a, i32 %b) nounwind {
25 entry:
26         %cmp = icmp ugt i32 %a, 1               ; <i1> [#uses=1]
27         br i1 %cmp, label %if.then, label %if.end
28
29 if.then:                ; preds = %entry
30         tail call void @bar() nounwind
31         ret void
32
33 if.end:         ; preds = %entry
34         ret void
35 }
36
37 define void @foo2(i32 %a, i32 %b) nounwind {
38 entry:
39         %cmp = icmp ugt i32 %a, 1               ; <i1> [#uses=1]
40         br i1 %cmp, label %if.end, label %if.then
41
42 if.then:                ; preds = %entry
43         tail call void @bar() nounwind
44         ret void
45
46 if.end:         ; preds = %entry
47         ret void
48 }
49
50 define void @foo3(i32 %a) nounwind {
51 entry:
52         %cmp = icmp eq i32 %a, 0                ; <i1> [#uses=1]
53         br i1 %cmp, label %if.end, label %if.then
54
55 if.then:                ; preds = %entry
56         tail call void @bar() nounwind
57         ret void
58
59 if.end:         ; preds = %entry
60         ret void
61 }
62
63 define void @foo4(i32 %a) nounwind {
64 entry:
65         %cmp = icmp eq i32 %a, 1                ; <i1> [#uses=1]
66         br i1 %cmp, label %if.then, label %if.end
67
68 if.then:                ; preds = %entry
69         tail call void @bar() nounwind
70         ret void
71
72 if.end:         ; preds = %entry
73         ret void
74 }
75
76 define void @foo5(i32 %a) nounwind {
77 entry:
78         %cmp = icmp eq i32 %a, 1                ; <i1> [#uses=1]
79         br i1 %cmp, label %if.end, label %if.then
80
81 if.then:                ; preds = %entry
82         tail call void @bar() nounwind
83         ret void
84
85 if.end:         ; preds = %entry
86         ret void
87 }
88
89 define void @foo6(i32 %a) nounwind {
90 entry:
91         %cmp = icmp slt i32 %a, 1               ; <i1> [#uses=1]
92         br i1 %cmp, label %if.then, label %if.end
93
94 if.then:                ; preds = %entry
95         tail call void @bar() nounwind
96         ret void
97
98 if.end:         ; preds = %entry
99         ret void
100 }
101
102 define void @foo7(i32 %a) nounwind {
103 entry:
104         %cmp = icmp sgt i32 %a, 1               ; <i1> [#uses=1]
105         br i1 %cmp, label %if.then, label %if.end
106
107 if.then:                ; preds = %entry
108         tail call void @bar() nounwind
109         ret void
110
111 if.end:         ; preds = %entry
112         ret void
113 }
114
115 define void @foo8(i32 %a) nounwind {
116 entry:
117         %cmp = icmp sgt i32 %a, 1               ; <i1> [#uses=1]
118         br i1 %cmp, label %if.end, label %if.then
119
120 if.then:                ; preds = %entry
121         tail call void @bar() nounwind
122         ret void
123
124 if.end:         ; preds = %entry
125         ret void
126 }
127
128 define void @foo9(i32 %a) nounwind {
129 entry:
130         %cmp = icmp slt i32 %a, 1               ; <i1> [#uses=1]
131         br i1 %cmp, label %if.end, label %if.then
132
133 if.then:                ; preds = %entry
134         tail call void @bar() nounwind
135         ret void
136
137 if.end:         ; preds = %entry
138         ret void
139 }