// 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
