1 ; RUN: opt < %s -S -mtriple=powerpc64-unknown-linux-gnu -mcpu=pwr7 -loop-unroll | FileCheck %s 2 define void @unroll_opt_for_size() nounwind optsize { 3 entry: 4 br label %loop 5 6 loop: 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 12 exit: 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-NEXT: add 26 ; CHECK-NEXT: add 27 ; CHECK-NEXT: add 28 ; CHECK-NEXT: add 29 ; CHECK-NEXT: add 30 ; CHECK-NEXT: add 31 ; CHECK-NEXT: add 32 ; CHECK-NEXT: add 33 ; CHECK-NEXT: add 34 ; CHECK-NEXT: add 35 ; CHECK-NEXT: add 36 ; CHECK-NEXT: add 37 ; CHECK-NEXT: add 38 ; CHECK-NEXT: add 39 ; CHECK-NEXT: add 40 ; CHECK-NEXT: add 41 ; CHECK-NEXT: add 42 ; CHECK-NEXT: 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: icmp 50 51 define void @unroll_default() nounwind { 52 entry: 53 br label %loop 54 55 loop: 56 %iv = phi i32 [ 0, %entry ], [ %inc, %loop ] 57 %inc = add i32 %iv, 1 58 %exitcnd = icmp uge i32 %inc, 1024 59 br i1 %exitcnd, label %exit, label %loop 60 61 exit: 62 ret void 63 } 64 65 ; CHECK-LABEL: @unroll_default 66 ; CHECK: add 67 ; CHECK-NEXT: add 68 ; CHECK-NEXT: add 69 ; CHECK-NEXT: add 70 ; CHECK-NEXT: add 71 ; CHECK-NEXT: add 72 ; CHECK-NEXT: add 73 ; CHECK-NEXT: add 74 ; CHECK-NEXT: add 75 ; CHECK-NEXT: add 76 ; CHECK-NEXT: add 77 ; CHECK-NEXT: add 78 ; CHECK-NEXT: add 79 ; CHECK-NEXT: add 80 ; CHECK-NEXT: add 81 ; CHECK-NEXT: add 82 ; CHECK-NEXT: add 83 ; CHECK-NEXT: add 84 ; CHECK-NEXT: add 85 ; CHECK-NEXT: add 86 ; CHECK-NEXT: add 87 ; CHECK-NEXT: add 88 ; CHECK-NEXT: add 89 ; CHECK-NEXT: add 90 ; CHECK-NEXT: add 91 ; CHECK-NEXT: add 92 ; CHECK-NEXT: add 93 ; CHECK-NEXT: add 94 ; CHECK-NEXT: add 95 ; CHECK-NEXT: add 96 ; CHECK-NEXT: add 97 ; CHECK-NEXT: add 98 ; CHECK-NEXT: icmp 99 100