# RUN: rm -rf %t && mkdir -p %t
# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf.o %s
# RUN: llvm-mc -triple=powerpc64le-unknown-linux-gnu -filetype=obj -o %t/ppc64_elf_module_b.o %S/Inputs/ppc64_elf_module_b.s
# RUN: llvm-rtdyld -triple=powerpc64le-unknown-linux-gnu -verify -check=%s %t/ppc64_elf.o %t/ppc64_elf_module_b.o

       	.text
	.abiversion 2
	.file	"Module2.ll"
	.globl	bar                     # -- Begin function bar
	.p2align	4
	.type	bar,@function
.Lfunc_toc0:                            # @bar
	.quad	.TOC.-.Lfunc_gep0
bar:
.Lfunc_begin0:
	.cfi_startproc
.Lfunc_gep0:
	ld 2, .Lfunc_toc0-.Lfunc_gep0(12)
	add 2, 2, 12
.Lfunc_lep0:
	.localentry	bar, .Lfunc_lep0-.Lfunc_gep0
# %bb.0:
	mflr 0
	std 0, 16(1)
	stdu 1, -32(1)
	.cfi_def_cfa_offset 32
	.cfi_offset lr, 16
# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) +  0)) [15:0] = foo_gep [63:48]
# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) +  4)) [15:0] = foo_gep [47:32]
# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 12)) [15:0] = foo_gep [31:16]
# rtdyld-check: (*{4}(stub_addr(ppc64_elf.o/.text, foo) + 16)) [15:0] = foo_gep [15:0]
# rtdyld-check: decode_operand(foo_call, 0) = (stub_addr(ppc64_elf.o/.text, foo) - foo_call) >> 2
foo_call:
	bl foo
	nop
	addi 1, 1, 32
	ld 0, 16(1)
	mtlr 0
	blr
	.long	0
	.quad	0
.Lfunc_end0:
	.size	bar, .Lfunc_end0-.Lfunc_begin0
	.cfi_endproc
                                        # -- End function

	.section	".note.GNU-stack","",@progbits
