brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 8fb4c21 Raw
109 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mcpu=pwr8 -mtriple=powerpc64le-unknown-unknown \3; RUN:   -verify-machineinstrs < %s | FileCheck %s4define signext i32 @test(ptr noalias %PtrA, ptr noalias %PtrB, i32 signext %LenA, i32 signext %LenB) #0 {5; CHECK-LABEL: test:6; CHECK:       # %bb.0: # %entry7; CHECK-NEXT:    addi 6, 3, 48; CHECK-NEXT:    addi 4, 4, -49; CHECK-NEXT:    li 8, 010; CHECK-NEXT:    li 7, 011; CHECK-NEXT:  .LBB0_1: # %block312; CHECK-NEXT:    # =>This Loop Header: Depth=113; CHECK-NEXT:    # Child Loop BB0_2 Depth 214; CHECK-NEXT:    extsw 9, 815; CHECK-NEXT:    addi 8, 8, 116; CHECK-NEXT:    extsw 7, 717; CHECK-NEXT:    cmpw 8, 518; CHECK-NEXT:    sldi 10, 7, 219; CHECK-NEXT:    sldi 9, 9, 220; CHECK-NEXT:    addi 7, 7, 121; CHECK-NEXT:    add 10, 4, 1022; CHECK-NEXT:    crnot 20, 023; CHECK-NEXT:    bc 12, 20, .LBB0_524; CHECK-NEXT:    .p2align 525; CHECK-NEXT:  .LBB0_2: # %if.end26; CHECK-NEXT:    # Parent Loop BB0_1 Depth=127; CHECK-NEXT:    # => This Inner Loop Header: Depth=228; CHECK-NEXT:    lwz 12, 4(10)29; CHECK-NEXT:    addi 11, 10, 430; CHECK-NEXT:    cmplwi 12, 031; CHECK-NEXT:    beq 0, .LBB0_432; CHECK-NEXT:  # %bb.3: # %if.then433; CHECK-NEXT:    #34; CHECK-NEXT:    lwzx 12, 6, 935; CHECK-NEXT:    addi 7, 7, 136; CHECK-NEXT:    stw 12, 8(10)37; CHECK-NEXT:    mr 10, 1138; CHECK-NEXT:    bc 4, 20, .LBB0_239; CHECK-NEXT:    b .LBB0_540; CHECK-NEXT:    .p2align 441; CHECK-NEXT:  .LBB0_4: # %if.end942; CHECK-NEXT:    #43; CHECK-NEXT:    add 9, 3, 944; CHECK-NEXT:    lwz 10, 4(9)45; CHECK-NEXT:    addi 10, 10, 146; CHECK-NEXT:    stw 10, 4(9)47; CHECK-NEXT:    b .LBB0_148; CHECK-NEXT:  .LBB0_5: # %if.then49; CHECK-NEXT:    lwax 3, 9, 350; CHECK-NEXT:    blr51entry:52  br label %block253 54block2:                                           ; preds = %entry55  br label %block356 57block3:                                           ; preds = %block8, %block258  %OuterInd.0 = phi i32 [ 0, %block2 ], [ %inc, %block8 ]59  %InnerInd.0 = phi i32 [ 0, %block2 ], [ %inc1, %block8 ]60  %inc = add nsw i32 %OuterInd.0, 161  br label %block462 63block4:                                           ; preds = %if.then4, %block364  %InnerInd.1 = phi i32 [ %InnerInd.0, %block3 ], [ %inc1, %if.then4 ]65  %cmp = icmp sge i32 %inc, %LenA66  br i1 %cmp, label %if.then, label %if.end67 68if.then:                                          ; preds = %block469  %sub = sub nsw i32 %inc, 170  %idxprom = sext i32 %sub to i6471  %arrayidx = getelementptr inbounds i32, ptr %PtrA, i64 %idxprom72  %0 = load i32, ptr %arrayidx, align 473  ret i32 %074 75if.end:                                           ; preds = %block476  br label %block577 78block5:                                           ; preds = %if.end79  %inc1 = add nsw i32 %InnerInd.1, 180  %idxprom2 = sext i32 %InnerInd.1 to i6481  %arrayidx3 = getelementptr inbounds i32, ptr %PtrB, i64 %idxprom282  %1 = load i32, ptr %arrayidx3, align 483  %tobool = icmp ne i32 %1, 084  br i1 %tobool, label %if.then4, label %if.end985 86if.then4:                                         ; preds = %block587  %idxprom5 = sext i32 %inc to i6488  %arrayidx6 = getelementptr inbounds i32, ptr %PtrA, i64 %idxprom589  %2 = load i32, ptr %arrayidx6, align 490  %idxprom7 = sext i32 %inc1 to i6491  %arrayidx8 = getelementptr inbounds i32, ptr %PtrB, i64 %idxprom792  store i32 %2, ptr %arrayidx8, align 493  br label %block494 95if.end9:                                          ; preds = %block596  br label %block697 98block6:                                           ; preds = %if.end999  %idxprom10 = sext i32 %inc to i64100  %arrayidx11 = getelementptr inbounds i32, ptr %PtrA, i64 %idxprom10101  %3 = load i32, ptr %arrayidx11, align 4102  %inc12 = add nsw i32 %3, 1103  store i32 %inc12, ptr %arrayidx11, align 4104  br label %block8105 106block8:                                           ; preds = %block6107  br label %block3108}109