brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 58e83e3 Raw
82 lines · plain
1# REQUIRES: ppc2# RUN: split-file %s %t3# RUN: llvm-mc -filetype=obj -triple=powerpc64le %t/initexec -o %t/initexec.o4# RUN: llvm-mc -filetype=obj -triple=powerpc64le %t/defs -o %t/defs.o5# RUN: ld.lld %t/initexec.o %t/defs.o -o %t/out6# RUN: llvm-objdump -d --no-show-raw-insn %t/out | FileCheck %s7 8# CHECK-LABEL: <GetAddrT>:9# CHECK:         mflr 010# CHECK-NEXT:    std 30, -16(1)11# CHECK-NEXT:    std 0, 16(1)12# CHECK-NEXT:    stdu 1, -48(1)13# CHECK-NEXT:    paddi 3, 13, -28672, 014# CHECK-NEXT:    mr 30, 315# CHECK-NEXT:    mr 3, 3016# CHECK-NEXT:    bl17# CHECK-NEXT:    mr 4, 3018# CHECK-NEXT:    addi 1, 1, 4819# CHECK-NEXT:    ld 0, 16(1)20# CHECK-NEXT:    ld 30, -16(1)21# CHECK-NEXT:    mtlr 022# CHECK-NEXT:    b23 24## Generated From:25## extern __thread unsigned TGlobal;26## unsigned getConst(unsigned*);27## unsigned addVal(unsigned, unsigned*);28##29## unsigned GetAddrT() {30##   return addVal(getConst(&TGlobal), &TGlobal);31## }32 33//--- initexec34GetAddrT:35  mflr 036  std 30, -16(1)37  std 0, 16(1)38  stdu 1, -48(1)39  pld 3, TGlobal@got@tprel@pcrel(0), 140  add 30, 3, TGlobal@tls@pcrel41  mr      3, 3042  bl getConst@notoc43  mr      4, 3044  addi 1, 1, 4845  ld 0, 16(1)46  ld 30, -16(1)47  mtlr 048  b addVal@notoc49 50## Generated From:51## __thread unsigned TGlobal;52##53## unsigned getConst(unsigned* A) {54##   return *A + 3;55## }56##57## unsigned addVal(unsigned A, unsigned* B) {58##   return A + *B;59## }60 61//--- defs62.globl  getConst63getConst:64  lwz 3, 0(3)65  addi 3, 3, 366  clrldi  3, 3, 3267  blr68 69.globl  addVal70addVal:71  lwz 4, 0(4)72  add 3, 4, 373  clrldi  3, 3, 3274  blr75 76.section        .tbss,"awT",@nobits77.globl  TGlobal78.p2align        279TGlobal:80  .long   081  .size   TGlobal, 482