brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · cde5870 Raw
78 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 42; RUN: llc -verify-machineinstrs -mcpu=pwr8 < %s | FileCheck %s3; RUN: llc -verify-machineinstrs -mcpu=pwr8 -mattr=-isel < %s | FileCheck --check-prefix=CHECK-NO-ISEL %s4target datalayout = "E-m:e-i64:64-n32:64"5target triple = "powerpc64-unknown-linux-gnu"6 7; Function Attrs: nounwind8define void @foo(ptr nocapture %r1, ptr nocapture %r2, ptr nocapture %r3, ptr nocapture %r4, i32 signext %a, i32 signext %b, i32 signext %c, i32 signext %d) #0 {9; Make sure that we don't schedule all of the isels together, they should be10; intermixed with the adds because each isel starts a new dispatch group.11; CHECK-LABEL: foo:12; CHECK:       # %bb.0: # %entry13; CHECK-NEXT:    cmplwi 7, 014; CHECK-NEXT:    addi 7, 8, 115; CHECK-NEXT:    iseleq 9, 9, 816; CHECK-NEXT:    stw 9, 0(3)17; CHECK-NEXT:    addi 3, 10, -218; CHECK-NEXT:    iseleq 9, 10, 819; CHECK-NEXT:    iseleq 3, 3, 720; CHECK-NEXT:    stw 9, 0(4)21; CHECK-NEXT:    addi 4, 10, -522; CHECK-NEXT:    stw 3, 0(5)23; CHECK-NEXT:    addi 3, 8, 324; CHECK-NEXT:    iseleq 3, 4, 325; CHECK-NEXT:    stw 3, 0(6)26; CHECK-NEXT:    blr27;28; CHECK-NO-ISEL-LABEL: foo:29; CHECK-NO-ISEL:       # %bb.0: # %entry30; CHECK-NO-ISEL-NEXT:    cmplwi 7, 031; CHECK-NO-ISEL-NEXT:    mr 7, 832; CHECK-NO-ISEL-NEXT:    bne 0, .LBB0_233; CHECK-NO-ISEL-NEXT:  # %bb.1: # %entry34; CHECK-NO-ISEL-NEXT:    mr 7, 935; CHECK-NO-ISEL-NEXT:  .LBB0_2: # %entry36; CHECK-NO-ISEL-NEXT:    stw 7, 0(3)37; CHECK-NO-ISEL-NEXT:    mr 3, 838; CHECK-NO-ISEL-NEXT:    bne 0, .LBB0_439; CHECK-NO-ISEL-NEXT:  # %bb.3: # %entry40; CHECK-NO-ISEL-NEXT:    mr 3, 1041; CHECK-NO-ISEL-NEXT:  .LBB0_4: # %entry42; CHECK-NO-ISEL-NEXT:    stw 3, 0(4)43; CHECK-NO-ISEL-NEXT:    bne 0, .LBB0_744; CHECK-NO-ISEL-NEXT:  # %bb.5: # %entry45; CHECK-NO-ISEL-NEXT:    addi 3, 10, -246; CHECK-NO-ISEL-NEXT:    stw 3, 0(5)47; CHECK-NO-ISEL-NEXT:    beq 0, .LBB0_848; CHECK-NO-ISEL-NEXT:  .LBB0_6:49; CHECK-NO-ISEL-NEXT:    addi 3, 8, 350; CHECK-NO-ISEL-NEXT:    stw 3, 0(6)51; CHECK-NO-ISEL-NEXT:    blr52; CHECK-NO-ISEL-NEXT:  .LBB0_7:53; CHECK-NO-ISEL-NEXT:    addi 3, 8, 154; CHECK-NO-ISEL-NEXT:    stw 3, 0(5)55; CHECK-NO-ISEL-NEXT:    bne 0, .LBB0_656; CHECK-NO-ISEL-NEXT:  .LBB0_8: # %entry57; CHECK-NO-ISEL-NEXT:    addi 3, 10, -558; CHECK-NO-ISEL-NEXT:    stw 3, 0(6)59; CHECK-NO-ISEL-NEXT:    blr60entry:61  %tobool = icmp ne i32 %a, 062  %cond = select i1 %tobool, i32 %b, i32 %c63  store i32 %cond, ptr %r1, align 464  %cond5 = select i1 %tobool, i32 %b, i32 %d65  store i32 %cond5, ptr %r2, align 466  %add = add nsw i32 %b, 167  %sub = add nsw i32 %d, -268  %cond10 = select i1 %tobool, i32 %add, i32 %sub69  store i32 %cond10, ptr %r3, align 470  %add13 = add nsw i32 %b, 371  %sub15 = add nsw i32 %d, -572  %cond17 = select i1 %tobool, i32 %add13, i32 %sub1573  store i32 %cond17, ptr %r4, align 474  ret void75}76 77attributes #0 = { nounwind }78