[ARM] Enable shrink-wrapping by default.
[oota-llvm.git] / test / CodeGen / ARM / ifcvt2.ll
1 ; RUN: llc -mtriple=arm-eabi -mattr=+v4t %s -o - | FileCheck %s
2
3 define i32 @t1(i32 %a, i32 %b, i32 %c, i32 %d) {
4 ; CHECK-LABEL: t1:
5 ; CHECK: bxlt lr
6         %tmp2 = icmp sgt i32 %c, 10
7         %tmp5 = icmp slt i32 %d, 4
8         %tmp8 = or i1 %tmp5, %tmp2
9         %tmp13 = add i32 %b, %a
10         br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock
11
12 cond_true:
13         %tmp15 = add i32 %tmp13, %c
14         %tmp1821 = sub i32 %tmp15, %d
15         ret i32 %tmp1821
16
17 UnifiedReturnBlock:
18         ret i32 %tmp13
19 }
20
21 define i32 @t2(i32 %a, i32 %b, i32 %c, i32 %d) {
22 ; CHECK-LABEL: t2:
23 ; CHECK: bxgt lr
24 ; CHECK: cmp
25 ; CHECK: addge
26 ; CHECK: subge
27 ; CHECK-NOT: bxge lr
28 ; CHECK: bx lr
29         %tmp2 = icmp sgt i32 %c, 10
30         %tmp5 = icmp slt i32 %d, 4
31         %tmp8 = and i1 %tmp5, %tmp2
32         %tmp13 = add i32 %b, %a
33         br i1 %tmp8, label %cond_true, label %UnifiedReturnBlock
34
35 cond_true:
36         %tmp15 = add i32 %tmp13, %c
37         %tmp1821 = sub i32 %tmp15, %d
38         ret i32 %tmp1821
39
40 UnifiedReturnBlock:
41         ret i32 %tmp13
42 }