xref: /aosp_15_r20/external/llvm/test/CodeGen/AArch64/fast-isel-tbz.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -disable-peephole -aarch64-atomic-cfg-tidy=0 -verify-machineinstrs -mtriple=aarch64-apple-darwin < %s | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -disable-peephole -fast-isel -fast-isel-abort=1 -aarch64-atomic-cfg-tidy=0 -verify-machineinstrs -mtriple=aarch64-apple-darwin < %s | FileCheck --check-prefix=CHECK --check-prefix=FAST %s
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i8(i8 zeroext %a) {
5*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i8
6*9880d681SAndroid Build Coastguard Worker; CHECK:       tbz {{w[0-9]+}}, #0, {{LBB.+_2}}
7*9880d681SAndroid Build Coastguard Worker  %1 = and i8 %a, 1
8*9880d681SAndroid Build Coastguard Worker  %2 = icmp eq i8 %1, 0
9*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
10*9880d681SAndroid Build Coastguard Workerbb1:
11*9880d681SAndroid Build Coastguard Worker  ret i32 1
12*9880d681SAndroid Build Coastguard Workerbb2:
13*9880d681SAndroid Build Coastguard Worker  ret i32 0
14*9880d681SAndroid Build Coastguard Worker}
15*9880d681SAndroid Build Coastguard Worker
16*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i16(i16 zeroext %a) {
17*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i16
18*9880d681SAndroid Build Coastguard Worker; CHECK:       tbz w0, #1, {{LBB.+_2}}
19*9880d681SAndroid Build Coastguard Worker  %1 = and i16 %a, 2
20*9880d681SAndroid Build Coastguard Worker  %2 = icmp eq i16 %1, 0
21*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
22*9880d681SAndroid Build Coastguard Workerbb1:
23*9880d681SAndroid Build Coastguard Worker  ret i32 1
24*9880d681SAndroid Build Coastguard Workerbb2:
25*9880d681SAndroid Build Coastguard Worker  ret i32 0
26*9880d681SAndroid Build Coastguard Worker}
27*9880d681SAndroid Build Coastguard Worker
28*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i32(i32 %a) {
29*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i32
30*9880d681SAndroid Build Coastguard Worker; CHECK:       tbz w0, #2, {{LBB.+_2}}
31*9880d681SAndroid Build Coastguard Worker  %1 = and i32 %a, 4
32*9880d681SAndroid Build Coastguard Worker  %2 = icmp eq i32 %1, 0
33*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
34*9880d681SAndroid Build Coastguard Workerbb1:
35*9880d681SAndroid Build Coastguard Worker  ret i32 1
36*9880d681SAndroid Build Coastguard Workerbb2:
37*9880d681SAndroid Build Coastguard Worker  ret i32 0
38*9880d681SAndroid Build Coastguard Worker}
39*9880d681SAndroid Build Coastguard Worker
40*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i64_1(i64 %a) {
41*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i64_1
42*9880d681SAndroid Build Coastguard Worker; CHECK:       tbz w0, #3, {{LBB.+_2}}
43*9880d681SAndroid Build Coastguard Worker  %1 = and i64 %a, 8
44*9880d681SAndroid Build Coastguard Worker  %2 = icmp eq i64 %1, 0
45*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
46*9880d681SAndroid Build Coastguard Workerbb1:
47*9880d681SAndroid Build Coastguard Worker  ret i32 1
48*9880d681SAndroid Build Coastguard Workerbb2:
49*9880d681SAndroid Build Coastguard Worker  ret i32 0
50*9880d681SAndroid Build Coastguard Worker}
51*9880d681SAndroid Build Coastguard Worker
52*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_i64_2(i64 %a) {
53*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_i64_2
54*9880d681SAndroid Build Coastguard Worker; CHECK:       tbz x0, #32, {{LBB.+_2}}
55*9880d681SAndroid Build Coastguard Worker  %1 = and i64 %a, 4294967296
56*9880d681SAndroid Build Coastguard Worker  %2 = icmp eq i64 %1, 0
57*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
58*9880d681SAndroid Build Coastguard Workerbb1:
59*9880d681SAndroid Build Coastguard Worker  ret i32 1
60*9880d681SAndroid Build Coastguard Workerbb2:
61*9880d681SAndroid Build Coastguard Worker  ret i32 0
62*9880d681SAndroid Build Coastguard Worker}
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_ne_i8(i8 zeroext %a) {
65*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_ne_i8
66*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz w0, #0, {{LBB.+_2}}
67*9880d681SAndroid Build Coastguard Worker  %1 = and i8 %a, 1
68*9880d681SAndroid Build Coastguard Worker  %2 = icmp ne i8 %1, 0
69*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
70*9880d681SAndroid Build Coastguard Workerbb1:
71*9880d681SAndroid Build Coastguard Worker  ret i32 1
72*9880d681SAndroid Build Coastguard Workerbb2:
73*9880d681SAndroid Build Coastguard Worker  ret i32 0
74*9880d681SAndroid Build Coastguard Worker}
75*9880d681SAndroid Build Coastguard Worker
76*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_ne_i16(i16 zeroext %a) {
77*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_ne_i16
78*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz w0, #1, {{LBB.+_2}}
79*9880d681SAndroid Build Coastguard Worker  %1 = and i16 %a, 2
80*9880d681SAndroid Build Coastguard Worker  %2 = icmp ne i16 %1, 0
81*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
82*9880d681SAndroid Build Coastguard Workerbb1:
83*9880d681SAndroid Build Coastguard Worker  ret i32 1
84*9880d681SAndroid Build Coastguard Workerbb2:
85*9880d681SAndroid Build Coastguard Worker  ret i32 0
86*9880d681SAndroid Build Coastguard Worker}
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_ne_i32(i32 %a) {
89*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_ne_i32
90*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz w0, #2, {{LBB.+_2}}
91*9880d681SAndroid Build Coastguard Worker  %1 = and i32 %a, 4
92*9880d681SAndroid Build Coastguard Worker  %2 = icmp ne i32 %1, 0
93*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
94*9880d681SAndroid Build Coastguard Workerbb1:
95*9880d681SAndroid Build Coastguard Worker  ret i32 1
96*9880d681SAndroid Build Coastguard Workerbb2:
97*9880d681SAndroid Build Coastguard Worker  ret i32 0
98*9880d681SAndroid Build Coastguard Worker}
99*9880d681SAndroid Build Coastguard Worker
100*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_ne_i64_1(i64 %a) {
101*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_ne_i64_1
102*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz w0, #3, {{LBB.+_2}}
103*9880d681SAndroid Build Coastguard Worker  %1 = and i64 %a, 8
104*9880d681SAndroid Build Coastguard Worker  %2 = icmp ne i64 %1, 0
105*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
106*9880d681SAndroid Build Coastguard Workerbb1:
107*9880d681SAndroid Build Coastguard Worker  ret i32 1
108*9880d681SAndroid Build Coastguard Workerbb2:
109*9880d681SAndroid Build Coastguard Worker  ret i32 0
110*9880d681SAndroid Build Coastguard Worker}
111*9880d681SAndroid Build Coastguard Worker
112*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_ne_i64_2(i64 %a) {
113*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_ne_i64_2
114*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz x0, #32, {{LBB.+_2}}
115*9880d681SAndroid Build Coastguard Worker  %1 = and i64 %a, 4294967296
116*9880d681SAndroid Build Coastguard Worker  %2 = icmp ne i64 %1, 0
117*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
118*9880d681SAndroid Build Coastguard Workerbb1:
119*9880d681SAndroid Build Coastguard Worker  ret i32 1
120*9880d681SAndroid Build Coastguard Workerbb2:
121*9880d681SAndroid Build Coastguard Worker  ret i32 0
122*9880d681SAndroid Build Coastguard Worker}
123*9880d681SAndroid Build Coastguard Worker
124*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_slt_i8(i8 zeroext %a) {
125*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_slt_i8
126*9880d681SAndroid Build Coastguard Worker; FAST:       tbnz w0, #7, {{LBB.+_2}}
127*9880d681SAndroid Build Coastguard Worker  %1 = icmp slt i8 %a, 0
128*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
129*9880d681SAndroid Build Coastguard Workerbb1:
130*9880d681SAndroid Build Coastguard Worker  ret i32 1
131*9880d681SAndroid Build Coastguard Workerbb2:
132*9880d681SAndroid Build Coastguard Worker  ret i32 0
133*9880d681SAndroid Build Coastguard Worker}
134*9880d681SAndroid Build Coastguard Worker
135*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_slt_i16(i16 zeroext %a) {
136*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_slt_i16
137*9880d681SAndroid Build Coastguard Worker; FAST:       tbnz w0, #15, {{LBB.+_2}}
138*9880d681SAndroid Build Coastguard Worker  %1 = icmp slt i16 %a, 0
139*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
140*9880d681SAndroid Build Coastguard Workerbb1:
141*9880d681SAndroid Build Coastguard Worker  ret i32 1
142*9880d681SAndroid Build Coastguard Workerbb2:
143*9880d681SAndroid Build Coastguard Worker  ret i32 0
144*9880d681SAndroid Build Coastguard Worker}
145*9880d681SAndroid Build Coastguard Worker
146*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_slt_i32(i32 %a) {
147*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_slt_i32
148*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz w0, #31, {{LBB.+_2}}
149*9880d681SAndroid Build Coastguard Worker  %1 = icmp slt i32 %a, 0
150*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
151*9880d681SAndroid Build Coastguard Workerbb1:
152*9880d681SAndroid Build Coastguard Worker  ret i32 1
153*9880d681SAndroid Build Coastguard Workerbb2:
154*9880d681SAndroid Build Coastguard Worker  ret i32 0
155*9880d681SAndroid Build Coastguard Worker}
156*9880d681SAndroid Build Coastguard Worker
157*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_slt_i64(i64 %a) {
158*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_slt_i64
159*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz x0, #63, {{LBB.+_2}}
160*9880d681SAndroid Build Coastguard Worker  %1 = icmp slt i64 %a, 0
161*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
162*9880d681SAndroid Build Coastguard Workerbb1:
163*9880d681SAndroid Build Coastguard Worker  ret i32 1
164*9880d681SAndroid Build Coastguard Workerbb2:
165*9880d681SAndroid Build Coastguard Worker  ret i32 0
166*9880d681SAndroid Build Coastguard Worker}
167*9880d681SAndroid Build Coastguard Worker
168*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sge_i8(i8 zeroext %a) {
169*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sge_i8
170*9880d681SAndroid Build Coastguard Worker; FAST:       tbz w0, #7, {{LBB.+_2}}
171*9880d681SAndroid Build Coastguard Worker  %1 = icmp sge i8 %a, 0
172*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
173*9880d681SAndroid Build Coastguard Workerbb1:
174*9880d681SAndroid Build Coastguard Worker  ret i32 1
175*9880d681SAndroid Build Coastguard Workerbb2:
176*9880d681SAndroid Build Coastguard Worker  ret i32 0
177*9880d681SAndroid Build Coastguard Worker}
178*9880d681SAndroid Build Coastguard Worker
179*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sge_i16(i16 zeroext %a) {
180*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sge_i16
181*9880d681SAndroid Build Coastguard Worker; FAST:       tbz w0, #15, {{LBB.+_2}}
182*9880d681SAndroid Build Coastguard Worker  %1 = icmp sge i16 %a, 0
183*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
184*9880d681SAndroid Build Coastguard Workerbb1:
185*9880d681SAndroid Build Coastguard Worker  ret i32 1
186*9880d681SAndroid Build Coastguard Workerbb2:
187*9880d681SAndroid Build Coastguard Worker  ret i32 0
188*9880d681SAndroid Build Coastguard Worker}
189*9880d681SAndroid Build Coastguard Worker
190*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sle_i8(i8 zeroext %a) {
191*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sle_i8
192*9880d681SAndroid Build Coastguard Worker; FAST:       tbnz w0, #7, {{LBB.+_2}}
193*9880d681SAndroid Build Coastguard Worker  %1 = icmp sle i8 %a, -1
194*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
195*9880d681SAndroid Build Coastguard Workerbb1:
196*9880d681SAndroid Build Coastguard Worker  ret i32 1
197*9880d681SAndroid Build Coastguard Workerbb2:
198*9880d681SAndroid Build Coastguard Worker  ret i32 0
199*9880d681SAndroid Build Coastguard Worker}
200*9880d681SAndroid Build Coastguard Worker
201*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sle_i16(i16 zeroext %a) {
202*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sle_i16
203*9880d681SAndroid Build Coastguard Worker; FAST:       tbnz w0, #15, {{LBB.+_2}}
204*9880d681SAndroid Build Coastguard Worker  %1 = icmp sle i16 %a, -1
205*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
206*9880d681SAndroid Build Coastguard Workerbb1:
207*9880d681SAndroid Build Coastguard Worker  ret i32 1
208*9880d681SAndroid Build Coastguard Workerbb2:
209*9880d681SAndroid Build Coastguard Worker  ret i32 0
210*9880d681SAndroid Build Coastguard Worker}
211*9880d681SAndroid Build Coastguard Worker
212*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sle_i32(i32 %a) {
213*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_sle_i32
214*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz w0, #31, {{LBB.+_2}}
215*9880d681SAndroid Build Coastguard Worker  %1 = icmp sle i32 %a, -1
216*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
217*9880d681SAndroid Build Coastguard Workerbb1:
218*9880d681SAndroid Build Coastguard Worker  ret i32 1
219*9880d681SAndroid Build Coastguard Workerbb2:
220*9880d681SAndroid Build Coastguard Worker  ret i32 0
221*9880d681SAndroid Build Coastguard Worker}
222*9880d681SAndroid Build Coastguard Worker
223*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sle_i64(i64 %a) {
224*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_sle_i64
225*9880d681SAndroid Build Coastguard Worker; CHECK:       tbnz x0, #63, {{LBB.+_2}}
226*9880d681SAndroid Build Coastguard Worker  %1 = icmp sle i64 %a, -1
227*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
228*9880d681SAndroid Build Coastguard Workerbb1:
229*9880d681SAndroid Build Coastguard Worker  ret i32 1
230*9880d681SAndroid Build Coastguard Workerbb2:
231*9880d681SAndroid Build Coastguard Worker  ret i32 0
232*9880d681SAndroid Build Coastguard Worker}
233*9880d681SAndroid Build Coastguard Worker
234*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sgt_i8(i8 zeroext %a) {
235*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sgt_i8
236*9880d681SAndroid Build Coastguard Worker; FAST:       tbz w0, #7, {{LBB.+_2}}
237*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt i8 %a, -1
238*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
239*9880d681SAndroid Build Coastguard Workerbb1:
240*9880d681SAndroid Build Coastguard Worker  ret i32 1
241*9880d681SAndroid Build Coastguard Workerbb2:
242*9880d681SAndroid Build Coastguard Worker  ret i32 0
243*9880d681SAndroid Build Coastguard Worker}
244*9880d681SAndroid Build Coastguard Worker
245*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sgt_i16(i16 zeroext %a) {
246*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sgt_i16
247*9880d681SAndroid Build Coastguard Worker; FAST:       tbz w0, #15, {{LBB.+_2}}
248*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt i16 %a, -1
249*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
250*9880d681SAndroid Build Coastguard Workerbb1:
251*9880d681SAndroid Build Coastguard Worker  ret i32 1
252*9880d681SAndroid Build Coastguard Workerbb2:
253*9880d681SAndroid Build Coastguard Worker  ret i32 0
254*9880d681SAndroid Build Coastguard Worker}
255*9880d681SAndroid Build Coastguard Worker
256*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sgt_i32(i32 %a) {
257*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_sgt_i32
258*9880d681SAndroid Build Coastguard Worker; CHECK:       tbz w0, #31, {{LBB.+_2}}
259*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt i32 %a, -1
260*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
261*9880d681SAndroid Build Coastguard Workerbb1:
262*9880d681SAndroid Build Coastguard Worker  ret i32 1
263*9880d681SAndroid Build Coastguard Workerbb2:
264*9880d681SAndroid Build Coastguard Worker  ret i32 0
265*9880d681SAndroid Build Coastguard Worker}
266*9880d681SAndroid Build Coastguard Worker
267*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_sgt_i64(i64 %a) {
268*9880d681SAndroid Build Coastguard Worker; FAST-LABEL: icmp_sgt_i64
269*9880d681SAndroid Build Coastguard Worker; FAST:       tbz x0, #63, {{LBB.+_2}}
270*9880d681SAndroid Build Coastguard Worker  %1 = icmp sgt i64 %a, -1
271*9880d681SAndroid Build Coastguard Worker  br i1 %1, label %bb1, label %bb2, !prof !0
272*9880d681SAndroid Build Coastguard Workerbb1:
273*9880d681SAndroid Build Coastguard Worker  ret i32 1
274*9880d681SAndroid Build Coastguard Workerbb2:
275*9880d681SAndroid Build Coastguard Worker  ret i32 0
276*9880d681SAndroid Build Coastguard Worker}
277*9880d681SAndroid Build Coastguard Worker
278*9880d681SAndroid Build Coastguard Worker; Test that we don't fold the 'and' instruction into the compare.
279*9880d681SAndroid Build Coastguard Workerdefine i32 @icmp_eq_and_i32(i32 %a, i1 %c) {
280*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: icmp_eq_and_i32
281*9880d681SAndroid Build Coastguard Worker; CHECK:       and  [[REG:w[0-9]+]], w0, #0x4
282*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT:  cbz  [[REG]], {{LBB.+_3}}
283*9880d681SAndroid Build Coastguard Worker  %1 = and i32 %a, 4
284*9880d681SAndroid Build Coastguard Worker  br i1 %c, label %bb0, label %bb2
285*9880d681SAndroid Build Coastguard Workerbb0:
286*9880d681SAndroid Build Coastguard Worker  %2 = icmp eq i32 %1, 0
287*9880d681SAndroid Build Coastguard Worker  br i1 %2, label %bb1, label %bb2, !prof !0
288*9880d681SAndroid Build Coastguard Workerbb1:
289*9880d681SAndroid Build Coastguard Worker  ret i32 1
290*9880d681SAndroid Build Coastguard Workerbb2:
291*9880d681SAndroid Build Coastguard Worker  ret i32 0
292*9880d681SAndroid Build Coastguard Worker}
293*9880d681SAndroid Build Coastguard Worker
294*9880d681SAndroid Build Coastguard Worker!0 = !{!"branch_weights", i32 0, i32 2147483647}
295*9880d681SAndroid Build Coastguard Worker!1 = !{!"branch_weights", i32 2147483647, i32 0}
296