brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.8 KiB · 4fc282b Raw
106 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck %s -check-prefix=ELF643; RUN: llc -mtriple=powerpc64-ibm-aix-xcoff < %s | FileCheck %s -check-prefix=AIX644 5@x = global i32 1000, align 46 7define signext i32 @bar() #0 {8; ELF64-LABEL: bar:9; ELF64:       # %bb.0: # %entry10; ELF64-NEXT:    mflr 011; ELF64-NEXT:    stdu 1, -112(1)12; ELF64-NEXT:    std 0, 128(1)13; ELF64-NEXT:    .cfi_def_cfa_offset 11214; ELF64-NEXT:    .cfi_offset lr, 1615; ELF64-NEXT:    li 3, 016; ELF64-NEXT:    stw 3, 108(1)17; ELF64-NEXT:    li 3, 018; ELF64-NEXT:    stw 3, 104(1)19; ELF64-NEXT:  .LBB0_1: # %for.cond20; ELF64-NEXT:    #21; ELF64-NEXT:    lwz 3, 104(1)22; ELF64-NEXT:    addis 4, 2, .LC0@toc@ha23; ELF64-NEXT:    ld 4, .LC0@toc@l(4)24; ELF64-NEXT:    lwz 4, 0(4)25; ELF64-NEXT:    cmpw 3, 426; ELF64-NEXT:    bge 0, .LBB0_427; ELF64-NEXT:  # %bb.2: # %for.body28; ELF64-NEXT:    #29; ELF64-NEXT:    bl foo30; ELF64-NEXT:    nop31; ELF64-NEXT:  # %bb.3: # %for.inc32; ELF64-NEXT:    #33; ELF64-NEXT:    lwz 3, 104(1)34; ELF64-NEXT:    addi 3, 3, 135; ELF64-NEXT:    stw 3, 104(1)36; ELF64-NEXT:    b .LBB0_137; ELF64-NEXT:  .LBB0_4: # %for.end38; ELF64-NEXT:    li 3, 039; ELF64-NEXT:    addi 1, 1, 11240; ELF64-NEXT:    ld 0, 16(1)41; ELF64-NEXT:    mtlr 042; ELF64-NEXT:    blr43;44; AIX64-LABEL: bar:45; AIX64:       # %bb.0: # %entry46; AIX64-NEXT:    mflr 047; AIX64-NEXT:    stdu 1, -128(1)48; AIX64-NEXT:    std 0, 144(1)49; AIX64-NEXT:    li 3, 050; AIX64-NEXT:    stw 3, 124(1)51; AIX64-NEXT:    li 3, 052; AIX64-NEXT:    stw 3, 120(1)53; AIX64-NEXT:  L..BB0_1: # %for.cond54; AIX64-NEXT:    #55; AIX64-NEXT:    lwz 3, 120(1)56; AIX64-NEXT:    ld 4, L..C0(2) # @x57; AIX64-NEXT:    lwz 4, 0(4)58; AIX64-NEXT:    cmpw 3, 459; AIX64-NEXT:    bge 0, L..BB0_460; AIX64-NEXT:  # %bb.2: # %for.body61; AIX64-NEXT:    #62; AIX64-NEXT:    bl .foo[PR]63; AIX64-NEXT:    nop64; AIX64-NEXT:  # %bb.3: # %for.inc65; AIX64-NEXT:    #66; AIX64-NEXT:    lwz 3, 120(1)67; AIX64-NEXT:    addi 3, 3, 168; AIX64-NEXT:    stw 3, 120(1)69; AIX64-NEXT:    b L..BB0_170; AIX64-NEXT:  L..BB0_4: # %for.end71; AIX64-NEXT:    li 3, 072; AIX64-NEXT:    addi 1, 1, 12873; AIX64-NEXT:    ld 0, 16(1)74; AIX64-NEXT:    mtlr 075; AIX64-NEXT:    blr76entry:77  %retval = alloca i32, align 478  %i = alloca i32, align 479  store i32 0, ptr %retval, align 480  store i32 0, ptr %i, align 481  br label %for.cond82 83for.cond:84  %0 = load i32, ptr %i, align 485  %1 = load i32, ptr @x, align 486  %cmp = icmp slt i32 %0, %187  br i1 %cmp, label %for.body, label %for.end88 89for.body:90  call void @foo()91  br label %for.inc92 93for.inc:94  %2 = load i32, ptr %i, align 495  %inc = add nsw i32 %2, 196  store i32 %inc, ptr %i, align 497  br label %for.cond98 99for.end:100  ret i32 0101}102 103declare void @foo(...)104 105attributes #0 = { optnone noinline }106