]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/CodeGen/ARM/ifcvt2.ll
Update llvm to r84119.
[FreeBSD/FreeBSD.git] / test / CodeGen / ARM / ifcvt2.ll
1 ; RUN: llc < %s -march=arm
2 ; RUN: llc < %s -march=arm | grep bxlt | count 1
3 ; RUN: llc < %s -march=arm | grep bxgt | count 1
4 ; RUN: llc < %s -march=arm | grep bxge | count 1
5
6 define i32 @t1(i32 %a, i32 %b, i32 %c, i32 %d) {
7         %tmp2 = icmp sgt i32 %c, 10
8         %tmp5 = icmp slt i32 %d, 4
9         %tmp8 = or i1 %tmp5, %tmp2
10         %tmp13 = add i32 %b, %a
11         br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock
12
13 cond_true:
14         %tmp15 = add i32 %tmp13, %c
15         %tmp1821 = sub i32 %tmp15, %d
16         ret i32 %tmp1821
17
18 UnifiedReturnBlock:
19         ret i32 %tmp13
20 }
21
22 define i32 @t2(i32 %a, i32 %b, i32 %c, i32 %d) {
23         %tmp2 = icmp sgt i32 %c, 10
24         %tmp5 = icmp slt i32 %d, 4
25         %tmp8 = and i1 %tmp5, %tmp2
26         %tmp13 = add i32 %b, %a
27         br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock
28
29 cond_true:
30         %tmp15 = add i32 %tmp13, %c
31         %tmp1821 = sub i32 %tmp15, %d
32         ret i32 %tmp1821
33
34 UnifiedReturnBlock:
35         ret i32 %tmp13
36 }