blob: a136557cc4a36e8c6ccc2c782847338d65530899 [file] [log] [blame]
Akira Hatanaka1d6b38d2011-03-31 18:26:17 +00001; RUN: llc < %s -march=mipsel | FileCheck %s
2
3define void @func0(float %f2, float %f3) nounwind {
4entry:
5; CHECK: c.eq.s
6; CHECK: bc1f
7 %cmp = fcmp oeq float %f2, %f3
8 br i1 %cmp, label %if.then, label %if.else
9
10if.then: ; preds = %entry
11 tail call void (...)* @g0() nounwind
12 br label %if.end
13
14if.else: ; preds = %entry
15 tail call void (...)* @g1() nounwind
16 br label %if.end
17
18if.end: ; preds = %if.else, %if.then
19 ret void
20}
21
22declare void @g0(...)
23
24declare void @g1(...)
25
26define void @func1(float %f2, float %f3) nounwind {
27entry:
28; CHECK: c.olt.s
29; CHECK: bc1f
30 %cmp = fcmp olt float %f2, %f3
31 br i1 %cmp, label %if.then, label %if.else
32
33if.then: ; preds = %entry
34 tail call void (...)* @g0() nounwind
35 br label %if.end
36
37if.else: ; preds = %entry
38 tail call void (...)* @g1() nounwind
39 br label %if.end
40
41if.end: ; preds = %if.else, %if.then
42 ret void
43}
44
45define void @func2(float %f2, float %f3) nounwind {
46entry:
47; CHECK: c.ole.s
Chandler Carruth9e67db42012-04-16 13:49:17 +000048; CHECK: bc1t
Akira Hatanaka1d6b38d2011-03-31 18:26:17 +000049 %cmp = fcmp ugt float %f2, %f3
50 br i1 %cmp, label %if.else, label %if.then
51
52if.then: ; preds = %entry
53 tail call void (...)* @g0() nounwind
54 br label %if.end
55
56if.else: ; preds = %entry
57 tail call void (...)* @g1() nounwind
58 br label %if.end
59
60if.end: ; preds = %if.else, %if.then
61 ret void
62}
63
64define void @func3(double %f2, double %f3) nounwind {
65entry:
66; CHECK: c.eq.d
67; CHECK: bc1f
68 %cmp = fcmp oeq double %f2, %f3
69 br i1 %cmp, label %if.then, label %if.else
70
71if.then: ; preds = %entry
72 tail call void (...)* @g0() nounwind
73 br label %if.end
74
75if.else: ; preds = %entry
76 tail call void (...)* @g1() nounwind
77 br label %if.end
78
79if.end: ; preds = %if.else, %if.then
80 ret void
81}
82
83define void @func4(double %f2, double %f3) nounwind {
84entry:
85; CHECK: c.olt.d
86; CHECK: bc1f
87 %cmp = fcmp olt double %f2, %f3
88 br i1 %cmp, label %if.then, label %if.else
89
90if.then: ; preds = %entry
91 tail call void (...)* @g0() nounwind
92 br label %if.end
93
94if.else: ; preds = %entry
95 tail call void (...)* @g1() nounwind
96 br label %if.end
97
98if.end: ; preds = %if.else, %if.then
99 ret void
100}
101
102define void @func5(double %f2, double %f3) nounwind {
103entry:
104; CHECK: c.ole.d
Chandler Carruth9e67db42012-04-16 13:49:17 +0000105; CHECK: bc1t
Akira Hatanaka1d6b38d2011-03-31 18:26:17 +0000106 %cmp = fcmp ugt double %f2, %f3
107 br i1 %cmp, label %if.else, label %if.then
108
109if.then: ; preds = %entry
110 tail call void (...)* @g0() nounwind
111 br label %if.end
112
113if.else: ; preds = %entry
114 tail call void (...)* @g1() nounwind
115 br label %if.end
116
117if.end: ; preds = %if.else, %if.then
118 ret void
119}