136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// RUN: llvm-mc -triple=mips64el-pc-linux -filetype=obj -mcpu=mips64r2 < %s -o - | llvm-readobj -r | FileCheck %s
236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// Check that the R_MIPS_GOT_DISP relocations were created.
436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines//       CHECK: Relocations [
636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT_DISP
736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.text
936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.abicalls
1036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.section	.mdebug.abi64,"",@progbits
1136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.file	"<stdin>"
1236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.text
1336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.globl	main
1436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.align	3
1536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.type	main,@function
1636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	nomips16
1736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.ent	main
1836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesmain:                                   # @main
1936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.frame	$sp,16,$ra
2036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.mask 	0x00000000,0
2136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.fmask	0x90000000,-4
2236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	noreorder
2336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	nomacro
2436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	noat
2536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines# BB#0:                                 # %entry
2636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	daddiu	$sp, $sp, -16
2736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	sd	$ra, 8($sp)             # 8-byte Folded Spill
2836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	sd	$gp, 0($sp)             # 8-byte Folded Spill
2936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	lui	$1, %hi(%neg(%gp_rel(main)))
3036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	daddu	$1, $1, $25
3136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	daddiu	$gp, $1, %lo(%neg(%gp_rel(main)))
3236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	ld	$1, %got_disp(shl)($gp)
3336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	ld	$5, 0($1)
3436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	ld	$1, %got_page($.str)($gp)
3536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	ld	$25, %call16(printf)($gp)
3636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	jalr	$25
3736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	daddiu	$4, $1, %got_ofst($.str)
3836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	addiu	$2, $zero, 0
3936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	ld	$gp, 0($sp)             # 8-byte Folded Reload
4036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	ld	$ra, 8($sp)             # 8-byte Folded Reload
4136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	jr	$ra
4236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	daddiu	$sp, $sp, 16
4336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	at
4436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	macro
4536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.set	reorder
4636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.end	main
4736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines$tmp0:
4836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.size	main, ($tmp0)-main
4936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
5036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.type	shl,@object             # @shl
5136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.data
5236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.globl	shl
5336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.align	3
5436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hinesshl:
5536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.8byte	1                       # 0x1
5636b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.size	shl, 8
5736b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
5836b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.type	$.str,@object           # @.str
5936b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.section	.rodata.str1.1,"aMS",@progbits,1
6036b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines$.str:
6136b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.asciz	"0x%llx\n"
6236b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.size	$.str, 8
6336b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
6436b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines
6536b56886974eae4f9c5ebc96befd3e7bfe5de338Stephen Hines	.text
66