brintos

brintos / llvm-project-archived public Read only

0
0
Text · 5.5 KiB · 08e5639 Raw
209 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=hexagon -O3 -hexagon-instsimplify=0 < %s | FileCheck %s3 4define void @f0(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {5; CHECK-LABEL: f0:6; CHECK:       // %bb.0: // %b07; CHECK-NEXT:    {8; CHECK-NEXT:     loop0(.LBB0_1,#3)9; CHECK-NEXT:    }10; CHECK-NEXT:    .p2align 411; CHECK-NEXT:  .LBB0_1: // Block address taken12; CHECK-NEXT:    // %b213; CHECK-NEXT:    // =>This Inner Loop Header: Depth=114; CHECK-NEXT:    {15; CHECK-NEXT:     nop16; CHECK-NEXT:     nop17; CHECK-NEXT:    } :endloop018; CHECK-NEXT:  // %bb.2: // %b319; CHECK-NEXT:    {20; CHECK-NEXT:     jumpr r3121; CHECK-NEXT:    }22b0:23  br label %b124 25b1:                                               ; preds = %b026  br label %b227 28b2:                                               ; preds = %b2, %b129  %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]30  %v1 = add nsw i32 %v0, 131  %v2 = icmp slt i32 %v1, 332  br i1 %v2, label %b2, label %b333 34b3:                                               ; preds = %b235  ret void36}37 38define void @f1(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {39; CHECK-LABEL: f1:40; CHECK:       // %bb.0: // %b041; CHECK-NEXT:    {42; CHECK-NEXT:     loop0(.LBB1_1,#2)43; CHECK-NEXT:    }44; CHECK-NEXT:    .p2align 445; CHECK-NEXT:  .LBB1_1: // Block address taken46; CHECK-NEXT:    // %b247; CHECK-NEXT:    // =>This Inner Loop Header: Depth=148; CHECK-NEXT:    {49; CHECK-NEXT:     nop50; CHECK-NEXT:     nop51; CHECK-NEXT:    } :endloop052; CHECK-NEXT:  // %bb.2: // %b353; CHECK-NEXT:    {54; CHECK-NEXT:     jumpr r3155; CHECK-NEXT:    }56b0:57  br label %b158 59b1:                                               ; preds = %b060  br label %b261 62b2:                                               ; preds = %b2, %b163  %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]64  %v1 = add nsw i32 %v0, 265  %v2 = icmp slt i32 %v1, 366  br i1 %v2, label %b2, label %b367 68b3:                                               ; preds = %b269  ret void70}71 72define void @f2(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {73; CHECK-LABEL: f2:74; CHECK:       // %bb.0: // %b075; CHECK-NEXT:    {76; CHECK-NEXT:     loop0(.LBB2_1,#1)77; CHECK-NEXT:    }78; CHECK-NEXT:    .p2align 479; CHECK-NEXT:  .LBB2_1: // Block address taken80; CHECK-NEXT:    // %b281; CHECK-NEXT:    // =>This Inner Loop Header: Depth=182; CHECK-NEXT:    {83; CHECK-NEXT:     nop84; CHECK-NEXT:     nop85; CHECK-NEXT:    } :endloop086; CHECK-NEXT:  // %bb.2: // %b387; CHECK-NEXT:    {88; CHECK-NEXT:     jumpr r3189; CHECK-NEXT:    }90b0:91  br label %b192 93b1:                                               ; preds = %b094  br label %b295 96b2:                                               ; preds = %b2, %b197  %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]98  %v1 = add nsw i32 %v0, 399  %v2 = icmp slt i32 %v1, 3100  br i1 %v2, label %b2, label %b3101 102b3:                                               ; preds = %b2103  ret void104}105 106define void @f3(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {107; CHECK-LABEL: f3:108; CHECK:       // %bb.0: // %b0109; CHECK-NEXT:    {110; CHECK-NEXT:     loop0(.LBB3_1,#4)111; CHECK-NEXT:    }112; CHECK-NEXT:    .p2align 4113; CHECK-NEXT:  .LBB3_1: // Block address taken114; CHECK-NEXT:    // %b2115; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1116; CHECK-NEXT:    {117; CHECK-NEXT:     nop118; CHECK-NEXT:     nop119; CHECK-NEXT:    } :endloop0120; CHECK-NEXT:  // %bb.2: // %b3121; CHECK-NEXT:    {122; CHECK-NEXT:     jumpr r31123; CHECK-NEXT:    }124b0:125  br label %b1126 127b1:                                               ; preds = %b0128  br label %b2129 130b2:                                               ; preds = %b2, %b1131  %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]132  %v1 = add nsw i32 %v0, 1133  %v2 = icmp sle i32 %v1, 3134  br i1 %v2, label %b2, label %b3135 136b3:                                               ; preds = %b2137  ret void138}139 140define void @f4(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {141; CHECK-LABEL: f4:142; CHECK:       // %bb.0: // %b0143; CHECK-NEXT:    {144; CHECK-NEXT:     loop0(.LBB4_1,#2)145; CHECK-NEXT:    }146; CHECK-NEXT:    .p2align 4147; CHECK-NEXT:  .LBB4_1: // Block address taken148; CHECK-NEXT:    // %b2149; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1150; CHECK-NEXT:    {151; CHECK-NEXT:     nop152; CHECK-NEXT:     nop153; CHECK-NEXT:    } :endloop0154; CHECK-NEXT:  // %bb.2: // %b3155; CHECK-NEXT:    {156; CHECK-NEXT:     jumpr r31157; CHECK-NEXT:    }158b0:159  br label %b1160 161b1:                                               ; preds = %b0162  br label %b2163 164b2:                                               ; preds = %b2, %b1165  %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]166  %v1 = add nsw i32 %v0, 2167  %v2 = icmp sle i32 %v1, 3168  br i1 %v2, label %b2, label %b3169 170b3:                                               ; preds = %b2171  ret void172}173 174define void @f5(ptr nocapture %a0, i32 %a1, i32 %a2) #0 {175; CHECK-LABEL: f5:176; CHECK:       // %bb.0: // %b0177; CHECK-NEXT:    {178; CHECK-NEXT:     loop0(.LBB5_1,#2)179; CHECK-NEXT:    }180; CHECK-NEXT:    .p2align 4181; CHECK-NEXT:  .LBB5_1: // Block address taken182; CHECK-NEXT:    // %b2183; CHECK-NEXT:    // =>This Inner Loop Header: Depth=1184; CHECK-NEXT:    {185; CHECK-NEXT:     nop186; CHECK-NEXT:     nop187; CHECK-NEXT:    } :endloop0188; CHECK-NEXT:  // %bb.2: // %b3189; CHECK-NEXT:    {190; CHECK-NEXT:     jumpr r31191; CHECK-NEXT:    }192b0:193  br label %b1194 195b1:                                               ; preds = %b0196  br label %b2197 198b2:                                               ; preds = %b2, %b1199  %v0 = phi i32 [ 0, %b1 ], [ %v1, %b2 ]200  %v1 = add nsw i32 %v0, 3201  %v2 = icmp sle i32 %v1, 3202  br i1 %v2, label %b2, label %b3203 204b3:                                               ; preds = %b2205  ret void206}207 208attributes #0 = { nounwind }209