// REQUIRES: ppc // RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %t.o // RUN: ld.lld -shared %t.o -o %t.so // RUN: llvm-readelf -dyn-relocations %t.so | FileCheck %s // RUN: llvm-mc -filetype=obj -triple=powerpc64-unknown-linux %s -o %t.o // RUN: ld.lld -shared %t.o -o %t.so // RUN: llvm-readelf -dyn-relocations %t.so | FileCheck %s // CHECK-NOT: foo // CHECK-NOT: bar .text .abiversion 2 .globl baz .p2align 4 .type baz,@function baz: .Lfunc_begin0: .Lfunc_gep0: addis 2, 12, .TOC.-.Lfunc_gep0@ha addi 2, 2, .TOC.-.Lfunc_gep0@l .Lfunc_lep0: .localentry baz, .Lfunc_lep0-.Lfunc_gep0 mflr 0 std 0, 16(1) stdu 1, -64(1) std 30, 48(1) std 29, 40(1) mr 30, 3 bl foo mr 29, 3 mr 3, 30 bl bar mullw 3, 3, 29 ld 30, 48(1) ld 29, 40(1) extsw 3, 3 addi 1, 1, 64 ld 0, 16(1) mtlr 0 blr .long 0 .quad 0 .Lfunc_end0: .size baz, .Lfunc_end0-.Lfunc_begin0 .p2align 4 .type foo,@function foo: .Lfunc_begin1: mullw 3, 3, 3 extsw 3, 3 blr .long 0 .quad 0 .Lfunc_end1: .size foo, .Lfunc_end1-.Lfunc_begin1 .p2align 4 .type bar,@function bar: .Lfunc_begin2: .Lfunc_gep2: addis 2, 12, .TOC.-.Lfunc_gep2@ha addi 2, 2, .TOC.-.Lfunc_gep2@l .Lfunc_lep2: .localentry bar, .Lfunc_lep2-.Lfunc_gep2 mflr 0 std 0, 16(1) stdu 1, -48(1) std 30, 32(1) mr 30, 3 bl foo mullw 3, 3, 30 ld 30, 32(1) extsw 3, 3 addi 1, 1, 48 ld 0, 16(1) mtlr 0 blr .long 0 .quad 0 .Lfunc_end2: .size bar, .Lfunc_end2-.Lfunc_begin2