blob: b2ea74a75daededa7ce3632dd192d9b235607f9a [file] [log] [blame]
Hal Finkelb359b732015-01-09 15:51:16 +00001; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -loop-unroll | FileCheck %s
2define void @unroll_opt_for_size() nounwind optsize {
3entry:
4 br label %loop
5
6loop:
7 %iv = phi i32 [ 0, %entry ], [ %inc, %loop ]
8 %inc = add i32 %iv, 1
9 %exitcnd = icmp uge i32 %inc, 1024
10 br i1 %exitcnd, label %exit, label %loop
11
12exit:
13 ret void
14}
15
16; CHECK-LABEL: @unroll_opt_for_size
17; CHECK: add
18; CHECK-NEXT: add
19; CHECK-NEXT: add
20; CHECK-NEXT: add
21; CHECK-NEXT: add
22; CHECK-NEXT: add
23; CHECK-NEXT: add
24; CHECK-NEXT: add
25; CHECK: icmp
26
27define void @unroll_default() nounwind {
28entry:
29 br label %loop
30
31loop:
32 %iv = phi i32 [ 0, %entry ], [ %inc, %loop ]
33 %inc = add i32 %iv, 1
34 %exitcnd = icmp uge i32 %inc, 1024
35 br i1 %exitcnd, label %exit, label %loop
36
37exit:
38 ret void
39}
40
41; CHECK-LABEL: @unroll_default
42; CHECK: add
43; CHECK-NEXT: add
44; CHECK-NEXT: add
45; CHECK-NEXT: add
46; CHECK-NEXT: add
47; CHECK-NEXT: add
48; CHECK-NEXT: add
49; CHECK-NEXT: add
50; CHECK: icmp
51