57f61569c190f2626b65f3d062cd36ead792a071
[oota-llvm.git] / test / CodeGen / Thumb2 / thumb2-select.ll
1 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep moveq | count 1
2 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep movgt | count 1
3 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep movlt | count 1
4 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep movle | count 1
5 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep movls | count 1
6 ; RUN: llvm-as < %s | llc -march=thumb -mattr=+thumb2 | grep movhi | count 1
7
8 define i32 @f1(i32 %a.s) {
9 entry:
10     %tmp = icmp eq i32 %a.s, 4
11     %tmp1.s = select i1 %tmp, i32 2, i32 3
12     ret i32 %tmp1.s
13 }
14
15 define i32 @f2(i32 %a.s) {
16 entry:
17     %tmp = icmp sgt i32 %a.s, 4
18     %tmp1.s = select i1 %tmp, i32 2, i32 3
19     ret i32 %tmp1.s
20 }
21
22 define i32 @f3(i32 %a.s, i32 %b.s) {
23 entry:
24     %tmp = icmp slt i32 %a.s, %b.s
25     %tmp1.s = select i1 %tmp, i32 2, i32 3
26     ret i32 %tmp1.s
27 }
28
29 define i32 @f4(i32 %a.s, i32 %b.s) {
30 entry:
31     %tmp = icmp sle i32 %a.s, %b.s
32     %tmp1.s = select i1 %tmp, i32 2, i32 3
33     ret i32 %tmp1.s
34 }
35
36 define i32 @f5(i32 %a.u, i32 %b.u) {
37 entry:
38     %tmp = icmp ule i32 %a.u, %b.u
39     %tmp1.s = select i1 %tmp, i32 2, i32 3
40     ret i32 %tmp1.s
41 }
42
43 define i32 @f6(i32 %a.u, i32 %b.u) {
44 entry:
45     %tmp = icmp ugt i32 %a.u, %b.u
46     %tmp1.s = select i1 %tmp, i32 2, i32 3
47     ret i32 %tmp1.s
48 }