Remove llvm-upgrade.
[oota-llvm.git] / test / CodeGen / ARM / select.ll
1 ; RUN: llvm-as < %s | llc -march=arm | grep moveq | count 1
2 ; RUN: llvm-as < %s | llc -march=arm | grep movgt | count 1
3 ; RUN: llvm-as < %s | llc -march=arm | grep movlt | count 3
4 ; RUN: llvm-as < %s | llc -march=arm | grep movle | count 1
5 ; RUN: llvm-as < %s | llc -march=arm | grep movls | count 1
6 ; RUN: llvm-as < %s | llc -march=arm | grep movhi | count 1
7 ; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 | \
8 ; RUN:   grep fcpydmi | count 1
9 ; RUN: llvm-as < %s | llc -march=thumb | grep beq | count 1
10 ; RUN: llvm-as < %s | llc -march=thumb | grep bgt | count 1
11 ; RUN: llvm-as < %s | llc -march=thumb | grep blt | count 3
12 ; RUN: llvm-as < %s | llc -march=thumb | grep ble | count 1
13 ; RUN: llvm-as < %s | llc -march=thumb | grep bls | count 1
14 ; RUN: llvm-as < %s | llc -march=thumb | grep bhi | count 1
15 ; RUN: llvm-as < %s | llc -march=thumb | grep __ltdf2
16
17 define i32 @f1(i32 %a.s) {
18 entry:
19     %tmp = icmp eq i32 %a.s, 4
20     %tmp1.s = select i1 %tmp, i32 2, i32 3
21     ret i32 %tmp1.s
22 }
23
24 define i32 @f2(i32 %a.s) {
25 entry:
26     %tmp = icmp sgt i32 %a.s, 4
27     %tmp1.s = select i1 %tmp, i32 2, i32 3
28     ret i32 %tmp1.s
29 }
30
31 define i32 @f3(i32 %a.s, i32 %b.s) {
32 entry:
33     %tmp = icmp slt i32 %a.s, %b.s
34     %tmp1.s = select i1 %tmp, i32 2, i32 3
35     ret i32 %tmp1.s
36 }
37
38 define i32 @f4(i32 %a.s, i32 %b.s) {
39 entry:
40     %tmp = icmp sle i32 %a.s, %b.s
41     %tmp1.s = select i1 %tmp, i32 2, i32 3
42     ret i32 %tmp1.s
43 }
44
45 define i32 @f5(i32 %a.u, i32 %b.u) {
46 entry:
47     %tmp = icmp ule i32 %a.u, %b.u
48     %tmp1.s = select i1 %tmp, i32 2, i32 3
49     ret i32 %tmp1.s
50 }
51
52 define i32 @f6(i32 %a.u, i32 %b.u) {
53 entry:
54     %tmp = icmp ugt i32 %a.u, %b.u
55     %tmp1.s = select i1 %tmp, i32 2, i32 3
56     ret i32 %tmp1.s
57 }
58
59 define double @f7(double %a, double %b) {
60     %tmp = fcmp olt double %a, 1.234e+00
61     %tmp1 = select i1 %tmp, double -1.000e+00, double %b
62     ret double %tmp1
63 }