1 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64-unknown-unknown < %s | FileCheck %s
2 ; RUN: llc -verify-machineinstrs -mtriple=powerpc64le-unknown-unknown < %s | FileCheck %s
4 define signext i32 @testi32slt(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
5 ; CHECK-LABEL: testi32slt
6 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
7 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
9 %cmp1 = icmp eq i32 %c3, %c4
10 %cmp3tmp = icmp eq i32 %c1, %c2
11 %cmp3 = icmp slt i1 %cmp3tmp, %cmp1
12 br i1 %cmp3, label %iftrue, label %iffalse
19 define signext i32 @testi32ult(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
20 ; CHECK-LABEL: testi32ult
21 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
22 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
24 %cmp1 = icmp eq i32 %c3, %c4
25 %cmp3tmp = icmp eq i32 %c1, %c2
26 %cmp3 = icmp ult i1 %cmp3tmp, %cmp1
27 br i1 %cmp3, label %iftrue, label %iffalse
34 define signext i32 @testi32sle(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
35 ; CHECK-LABEL: testi32sle
36 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
37 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
39 %cmp1 = icmp eq i32 %c3, %c4
40 %cmp3tmp = icmp eq i32 %c1, %c2
41 %cmp3 = icmp sle i1 %cmp3tmp, %cmp1
42 br i1 %cmp3, label %iftrue, label %iffalse
49 define signext i32 @testi32ule(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
50 ; CHECK-LABEL: testi32ule
51 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
52 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
54 %cmp1 = icmp eq i32 %c3, %c4
55 %cmp3tmp = icmp eq i32 %c1, %c2
56 %cmp3 = icmp ule i1 %cmp3tmp, %cmp1
57 br i1 %cmp3, label %iftrue, label %iffalse
64 define signext i32 @testi32eq(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
65 ; CHECK-LABEL: testi32eq:
66 ; CHECK: crxor [[REG:[0-9]+]], 6, 2
67 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
69 %cmp1 = icmp eq i32 %c3, %c4
70 %cmp3tmp = icmp eq i32 %c1, %c2
71 %cmp3 = icmp eq i1 %cmp3tmp, %cmp1
72 br i1 %cmp3, label %iftrue, label %iffalse
79 define signext i32 @testi32sge(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
80 ; CHECK-LABEL: testi32sge:
81 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
82 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
84 %cmp1 = icmp eq i32 %c3, %c4
85 %cmp3tmp = icmp eq i32 %c1, %c2
86 %cmp3 = icmp sge i1 %cmp3tmp, %cmp1
87 br i1 %cmp3, label %iftrue, label %iffalse
94 define signext i32 @testi32uge(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
95 ; CHECK-LABEL: testi32uge:
96 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
97 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
99 %cmp1 = icmp eq i32 %c3, %c4
100 %cmp3tmp = icmp eq i32 %c1, %c2
101 %cmp3 = icmp uge i1 %cmp3tmp, %cmp1
102 br i1 %cmp3, label %iftrue, label %iffalse
109 define signext i32 @testi32sgt(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
110 ; CHECK-LABEL: testi32sgt:
111 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
112 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
114 %cmp1 = icmp eq i32 %c3, %c4
115 %cmp3tmp = icmp eq i32 %c1, %c2
116 %cmp3 = icmp sgt i1 %cmp3tmp, %cmp1
117 br i1 %cmp3, label %iftrue, label %iffalse
124 define signext i32 @testi32ugt(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
125 ; CHECK-LABEL: testi32ugt:
126 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
127 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
129 %cmp1 = icmp eq i32 %c3, %c4
130 %cmp3tmp = icmp eq i32 %c1, %c2
131 %cmp3 = icmp ugt i1 %cmp3tmp, %cmp1
132 br i1 %cmp3, label %iftrue, label %iffalse
139 define signext i32 @testi32ne(i32 signext %c1, i32 signext %c2, i32 signext %c3, i32 signext %c4, i32 signext %a1, i32 signext %a2) #0 {
140 ; CHECK-LABEL: testi32ne:
141 ; CHECK: creqv [[REG:[0-9]+]], 6, 2
142 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
144 %cmp1 = icmp eq i32 %c3, %c4
145 %cmp3tmp = icmp eq i32 %c1, %c2
146 %cmp3 = icmp ne i1 %cmp3tmp, %cmp1
147 br i1 %cmp3, label %iftrue, label %iffalse
154 define i64 @testi64slt(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
155 ; CHECK-LABEL: testi64slt
156 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
157 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
159 %cmp1 = icmp eq i64 %c3, %c4
160 %cmp3tmp = icmp eq i64 %c1, %c2
161 %cmp3 = icmp slt i1 %cmp3tmp, %cmp1
162 br i1 %cmp3, label %iftrue, label %iffalse
169 define i64 @testi64ult(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
170 ; CHECK-LABEL: testi64ult
171 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
172 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
174 %cmp1 = icmp eq i64 %c3, %c4
175 %cmp3tmp = icmp eq i64 %c1, %c2
176 %cmp3 = icmp ult i1 %cmp3tmp, %cmp1
177 br i1 %cmp3, label %iftrue, label %iffalse
184 define i64 @testi64sle(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
185 ; CHECK-LABEL: testi64sle
186 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
187 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
189 %cmp1 = icmp eq i64 %c3, %c4
190 %cmp3tmp = icmp eq i64 %c1, %c2
191 %cmp3 = icmp sle i1 %cmp3tmp, %cmp1
192 br i1 %cmp3, label %iftrue, label %iffalse
199 define i64 @testi64ule(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
200 ; CHECK-LABEL: testi64ule
201 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
202 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
204 %cmp1 = icmp eq i64 %c3, %c4
205 %cmp3tmp = icmp eq i64 %c1, %c2
206 %cmp3 = icmp ule i1 %cmp3tmp, %cmp1
207 br i1 %cmp3, label %iftrue, label %iffalse
214 define i64 @testi64eq(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
215 ; CHECK-LABEL: testi64eq
216 ; CHECK: crxor [[REG:[0-9]+]], 6, 2
217 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
219 %cmp1 = icmp eq i64 %c3, %c4
220 %cmp3tmp = icmp eq i64 %c1, %c2
221 %cmp3 = icmp eq i1 %cmp3tmp, %cmp1
222 br i1 %cmp3, label %iftrue, label %iffalse
229 define i64 @testi64sge(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
230 ; CHECK-LABEL: testi64sge
231 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
232 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
234 %cmp1 = icmp eq i64 %c3, %c4
235 %cmp3tmp = icmp eq i64 %c1, %c2
236 %cmp3 = icmp sge i1 %cmp3tmp, %cmp1
237 br i1 %cmp3, label %iftrue, label %iffalse
244 define i64 @testi64uge(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
245 ; CHECK-LABEL: testi64uge
246 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
247 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
249 %cmp1 = icmp eq i64 %c3, %c4
250 %cmp3tmp = icmp eq i64 %c1, %c2
251 %cmp3 = icmp uge i1 %cmp3tmp, %cmp1
252 br i1 %cmp3, label %iftrue, label %iffalse
259 define i64 @testi64sgt(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
260 ; CHECK-LABEL: testi64sgt
261 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
262 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
264 %cmp1 = icmp eq i64 %c3, %c4
265 %cmp3tmp = icmp eq i64 %c1, %c2
266 %cmp3 = icmp sgt i1 %cmp3tmp, %cmp1
267 br i1 %cmp3, label %iftrue, label %iffalse
274 define i64 @testi64ugt(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
275 ; CHECK-LABEL: testi64ugt
276 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
277 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
279 %cmp1 = icmp eq i64 %c3, %c4
280 %cmp3tmp = icmp eq i64 %c1, %c2
281 %cmp3 = icmp ugt i1 %cmp3tmp, %cmp1
282 br i1 %cmp3, label %iftrue, label %iffalse
289 define i64 @testi64ne(i64 %c1, i64 %c2, i64 %c3, i64 %c4, i64 %a1, i64 %a2) #0 {
290 ; CHECK-LABEL: testi64ne
291 ; CHECK: creqv [[REG:[0-9]+]], 6, 2
292 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
294 %cmp1 = icmp eq i64 %c3, %c4
295 %cmp3tmp = icmp eq i64 %c1, %c2
296 %cmp3 = icmp ne i1 %cmp3tmp, %cmp1
297 br i1 %cmp3, label %iftrue, label %iffalse
304 define float @testfloatslt(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
305 ; CHECK-LABEL: testfloatslt
306 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
307 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
309 %cmp1 = fcmp oeq float %c3, %c4
310 %cmp3tmp = fcmp oeq float %c1, %c2
311 %cmp3 = icmp slt i1 %cmp3tmp, %cmp1
312 br i1 %cmp3, label %iftrue, label %iffalse
319 define float @testfloatult(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
320 ; CHECK-LABEL: testfloatult
321 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
322 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
324 %cmp1 = fcmp oeq float %c3, %c4
325 %cmp3tmp = fcmp oeq float %c1, %c2
326 %cmp3 = icmp ult i1 %cmp3tmp, %cmp1
327 br i1 %cmp3, label %iftrue, label %iffalse
334 define float @testfloatsle(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
335 ; CHECK-LABEL: testfloatsle
336 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
337 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
339 %cmp1 = fcmp oeq float %c3, %c4
340 %cmp3tmp = fcmp oeq float %c1, %c2
341 %cmp3 = icmp sle i1 %cmp3tmp, %cmp1
342 br i1 %cmp3, label %iftrue, label %iffalse
349 define float @testfloatule(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
350 ; CHECK-LABEL: testfloatule
351 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
352 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
354 %cmp1 = fcmp oeq float %c3, %c4
355 %cmp3tmp = fcmp oeq float %c1, %c2
356 %cmp3 = icmp ule i1 %cmp3tmp, %cmp1
357 br i1 %cmp3, label %iftrue, label %iffalse
364 define float @testfloateq(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
365 ; CHECK-LABEL: testfloateq
366 ; CHECK: crxor [[REG:[0-9]+]], 6, 2
367 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
369 %cmp1 = fcmp oeq float %c3, %c4
370 %cmp3tmp = fcmp oeq float %c1, %c2
371 %cmp3 = icmp eq i1 %cmp3tmp, %cmp1
372 br i1 %cmp3, label %iftrue, label %iffalse
379 define float @testfloatsge(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
380 ; CHECK-LABEL: testfloatsge
381 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
382 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
384 %cmp1 = fcmp oeq float %c3, %c4
385 %cmp3tmp = fcmp oeq float %c1, %c2
386 %cmp3 = icmp sge i1 %cmp3tmp, %cmp1
387 br i1 %cmp3, label %iftrue, label %iffalse
394 define float @testfloatuge(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
395 ; CHECK-LABEL: testfloatuge
396 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
397 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
399 %cmp1 = fcmp oeq float %c3, %c4
400 %cmp3tmp = fcmp oeq float %c1, %c2
401 %cmp3 = icmp uge i1 %cmp3tmp, %cmp1
402 br i1 %cmp3, label %iftrue, label %iffalse
409 define float @testfloatsgt(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
410 ; CHECK-LABEL: testfloatsgt
411 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
412 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
414 %cmp1 = fcmp oeq float %c3, %c4
415 %cmp3tmp = fcmp oeq float %c1, %c2
416 %cmp3 = icmp sgt i1 %cmp3tmp, %cmp1
417 br i1 %cmp3, label %iftrue, label %iffalse
424 define float @testfloatugt(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
425 ; CHECK-LABEL: testfloatugt
426 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
427 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
429 %cmp1 = fcmp oeq float %c3, %c4
430 %cmp3tmp = fcmp oeq float %c1, %c2
431 %cmp3 = icmp ugt i1 %cmp3tmp, %cmp1
432 br i1 %cmp3, label %iftrue, label %iffalse
439 define float @testfloatne(float %c1, float %c2, float %c3, float %c4, float %a1, float %a2) #0 {
440 ; CHECK-LABEL: testfloatne
441 ; CHECK: creqv [[REG:[0-9]+]], 6, 2
442 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
444 %cmp1 = fcmp oeq float %c3, %c4
445 %cmp3tmp = fcmp oeq float %c1, %c2
446 %cmp3 = icmp ne i1 %cmp3tmp, %cmp1
447 br i1 %cmp3, label %iftrue, label %iffalse
454 define double @testdoubleslt(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
455 ; CHECK-LABEL: testdoubleslt
456 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
457 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
459 %cmp1 = fcmp oeq double %c3, %c4
460 %cmp3tmp = fcmp oeq double %c1, %c2
461 %cmp3 = icmp slt i1 %cmp3tmp, %cmp1
462 br i1 %cmp3, label %iftrue, label %iffalse
469 define double @testdoubleult(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
470 ; CHECK-LABEL: testdoubleult:
471 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
472 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
474 %cmp1 = fcmp oeq double %c3, %c4
475 %cmp3tmp = fcmp oeq double %c1, %c2
476 %cmp3 = icmp ult i1 %cmp3tmp, %cmp1
477 br i1 %cmp3, label %iftrue, label %iffalse
484 define double @testdoublesle(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
485 ; CHECK-LABEL: testdoublesle
486 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
487 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
489 %cmp1 = fcmp oeq double %c3, %c4
490 %cmp3tmp = fcmp oeq double %c1, %c2
491 %cmp3 = icmp sle i1 %cmp3tmp, %cmp1
492 br i1 %cmp3, label %iftrue, label %iffalse
499 define double @testdoubleule(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
500 ; CHECK-LABEL: testdoubleule:
501 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
502 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
504 %cmp1 = fcmp oeq double %c3, %c4
505 %cmp3tmp = fcmp oeq double %c1, %c2
506 %cmp3 = icmp ule i1 %cmp3tmp, %cmp1
507 br i1 %cmp3, label %iftrue, label %iffalse
514 define double @testdoubleeq(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
515 ; CHECK-LABEL: testdoubleeq
516 ; CHECK: crxor [[REG:[0-9]+]], 6, 2
517 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
519 %cmp1 = fcmp oeq double %c3, %c4
520 %cmp3tmp = fcmp oeq double %c1, %c2
521 %cmp3 = icmp eq i1 %cmp3tmp, %cmp1
522 br i1 %cmp3, label %iftrue, label %iffalse
529 define double @testdoublesge(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
530 ; CHECK-LABEL: testdoublesge
531 ; CHECK: crandc [[REG:[0-9]+]], 6, 2
532 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
534 %cmp1 = fcmp oeq double %c3, %c4
535 %cmp3tmp = fcmp oeq double %c1, %c2
536 %cmp3 = icmp sge i1 %cmp3tmp, %cmp1
537 br i1 %cmp3, label %iftrue, label %iffalse
544 define double @testdoubleuge(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
545 ; CHECK-LABEL: testdoubleuge
546 ; CHECK: crandc [[REG:[0-9]+]], 2, 6
547 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
549 %cmp1 = fcmp oeq double %c3, %c4
550 %cmp3tmp = fcmp oeq double %c1, %c2
551 %cmp3 = icmp uge i1 %cmp3tmp, %cmp1
552 br i1 %cmp3, label %iftrue, label %iffalse
559 define double @testdoublesgt(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
560 ; CHECK-LABEL: testdoublesgt:
561 ; CHECK: crorc [[REG:[0-9]+]], 6, 2
562 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
564 %cmp1 = fcmp oeq double %c3, %c4
565 %cmp3tmp = fcmp oeq double %c1, %c2
566 %cmp3 = icmp sgt i1 %cmp3tmp, %cmp1
567 br i1 %cmp3, label %iftrue, label %iffalse
574 define double @testdoubleugt(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
575 ; CHECK-LABEL: testdoubleugt
576 ; CHECK: crorc [[REG:[0-9]+]], 2, 6
577 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
579 %cmp1 = fcmp oeq double %c3, %c4
580 %cmp3tmp = fcmp oeq double %c1, %c2
581 %cmp3 = icmp ugt i1 %cmp3tmp, %cmp1
582 br i1 %cmp3, label %iftrue, label %iffalse
589 define double @testdoublene(double %c1, double %c2, double %c3, double %c4, double %a1, double %a2) #0 {
590 ; CHECK-LABEL: testdoublene
591 ; CHECK: creqv [[REG:[0-9]+]], 6, 2
592 ; CHECK: bc 12, [[REG]], {{\.[a-zA-Z0-9_]+}}
594 %cmp1 = fcmp oeq double %c3, %c4
595 %cmp3tmp = fcmp oeq double %c1, %c2
596 %cmp3 = icmp ne i1 %cmp3tmp, %cmp1
597 br i1 %cmp3, label %iftrue, label %iffalse