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