-march=arm -enable-thumb => -march=thumb
[oota-llvm.git] / test / CodeGen / ARM / select.ll
1 ; RUN: llvm-as < %s | llc -march=arm &&
2 ; RUN: llvm-as < %s | llc -march=arm | grep moveq | wc -l | grep 1 &&
3 ; RUN: llvm-as < %s | llc -march=arm | grep movgt | wc -l | grep 1 &&
4 ; RUN: llvm-as < %s | llc -march=arm | grep movlt | wc -l | grep 3 &&
5 ; RUN: llvm-as < %s | llc -march=arm | grep movle | wc -l | grep 1 &&
6 ; RUN: llvm-as < %s | llc -march=arm | grep movls | wc -l | grep 1 &&
7 ; RUN: llvm-as < %s | llc -march=arm | grep movhi | wc -l | grep 1 &&
8 ; RUN: llvm-as < %s | llc -march=arm -mattr=+vfp2 | grep fcpydmi | wc -l | grep 1 &&
9 ; RUN: llvm-as < %s | llc -march=thumb | grep beq | wc -l | grep 1 &&
10 ; RUN: llvm-as < %s | llc -march=thumb | grep bgt | wc -l | grep 1 &&
11 ; RUN: llvm-as < %s | llc -march=thumb | grep blt | wc -l | grep 3 &&
12 ; RUN: llvm-as < %s | llc -march=thumb | grep ble | wc -l | grep 1 &&
13 ; RUN: llvm-as < %s | llc -march=thumb | grep bls | wc -l | grep 1 &&
14 ; RUN: llvm-as < %s | llc -march=thumb | grep bhi | wc -l | grep 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 }