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