1; 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-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 51define void @unroll_default() nounwind { 52entry: 53 br label %loop 54 55loop: 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 61exit: 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