xref: /aosp_15_r20/external/llvm/test/MC/Mips/r-mips-got-disp.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker// RUN: llvm-mc -triple=mips64el-pc-linux -filetype=obj -mcpu=mips64r2 < %s -o - | llvm-readobj -r | FileCheck %s
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Worker// Check that the R_MIPS_GOT_DISP relocations were created.
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker//       CHECK: Relocations [
6*9880d681SAndroid Build Coastguard Worker// CHECK:     0x{{[0-9,A-F]+}} R_MIPS_GOT_DISP
7*9880d681SAndroid Build Coastguard Worker
8*9880d681SAndroid Build Coastguard Worker	.text
9*9880d681SAndroid Build Coastguard Worker	.abicalls
10*9880d681SAndroid Build Coastguard Worker	.section	.mdebug.abi64,"",@progbits
11*9880d681SAndroid Build Coastguard Worker	.file	"<stdin>"
12*9880d681SAndroid Build Coastguard Worker	.text
13*9880d681SAndroid Build Coastguard Worker	.globl	main
14*9880d681SAndroid Build Coastguard Worker	.align	3
15*9880d681SAndroid Build Coastguard Worker	.type	main,@function
16*9880d681SAndroid Build Coastguard Worker	.set	nomips16
17*9880d681SAndroid Build Coastguard Worker	.ent	main
18*9880d681SAndroid Build Coastguard Workermain:                                   # @main
19*9880d681SAndroid Build Coastguard Worker	.frame	$sp,16,$ra
20*9880d681SAndroid Build Coastguard Worker	.mask 	0x00000000,0
21*9880d681SAndroid Build Coastguard Worker	.fmask	0x90000000,-4
22*9880d681SAndroid Build Coastguard Worker	.set	noreorder
23*9880d681SAndroid Build Coastguard Worker	.set	nomacro
24*9880d681SAndroid Build Coastguard Worker	.set	noat
25*9880d681SAndroid Build Coastguard Worker# BB#0:                                 # %entry
26*9880d681SAndroid Build Coastguard Worker	daddiu	$sp, $sp, -16
27*9880d681SAndroid Build Coastguard Worker	sd	$ra, 8($sp)             # 8-byte Folded Spill
28*9880d681SAndroid Build Coastguard Worker	sd	$gp, 0($sp)             # 8-byte Folded Spill
29*9880d681SAndroid Build Coastguard Worker	lui	$1, %hi(%neg(%gp_rel(main)))
30*9880d681SAndroid Build Coastguard Worker	daddu	$1, $1, $25
31*9880d681SAndroid Build Coastguard Worker	daddiu	$gp, $1, %lo(%neg(%gp_rel(main)))
32*9880d681SAndroid Build Coastguard Worker	ld	$1, %got_disp(shl)($gp)
33*9880d681SAndroid Build Coastguard Worker	ld	$5, 0($1)
34*9880d681SAndroid Build Coastguard Worker	ld	$1, %got_page($.str)($gp)
35*9880d681SAndroid Build Coastguard Worker	ld	$25, %call16(printf)($gp)
36*9880d681SAndroid Build Coastguard Worker	jalr	$25
37*9880d681SAndroid Build Coastguard Worker	daddiu	$4, $1, %got_ofst($.str)
38*9880d681SAndroid Build Coastguard Worker	addiu	$2, $zero, 0
39*9880d681SAndroid Build Coastguard Worker	ld	$gp, 0($sp)             # 8-byte Folded Reload
40*9880d681SAndroid Build Coastguard Worker	ld	$ra, 8($sp)             # 8-byte Folded Reload
41*9880d681SAndroid Build Coastguard Worker	jr	$ra
42*9880d681SAndroid Build Coastguard Worker	daddiu	$sp, $sp, 16
43*9880d681SAndroid Build Coastguard Worker	.set	at
44*9880d681SAndroid Build Coastguard Worker	.set	macro
45*9880d681SAndroid Build Coastguard Worker	.set	reorder
46*9880d681SAndroid Build Coastguard Worker	.end	main
47*9880d681SAndroid Build Coastguard Worker$tmp0:
48*9880d681SAndroid Build Coastguard Worker	.size	main, ($tmp0)-main
49*9880d681SAndroid Build Coastguard Worker
50*9880d681SAndroid Build Coastguard Worker	.type	shl,@object             # @shl
51*9880d681SAndroid Build Coastguard Worker	.data
52*9880d681SAndroid Build Coastguard Worker	.globl	shl
53*9880d681SAndroid Build Coastguard Worker	.align	3
54*9880d681SAndroid Build Coastguard Workershl:
55*9880d681SAndroid Build Coastguard Worker	.8byte	1                       # 0x1
56*9880d681SAndroid Build Coastguard Worker	.size	shl, 8
57*9880d681SAndroid Build Coastguard Worker
58*9880d681SAndroid Build Coastguard Worker	.type	$.str,@object           # @.str
59*9880d681SAndroid Build Coastguard Worker	.section	.rodata.str1.1,"aMS",@progbits,1
60*9880d681SAndroid Build Coastguard Worker$.str:
61*9880d681SAndroid Build Coastguard Worker	.asciz	"0x%llx\n"
62*9880d681SAndroid Build Coastguard Worker	.size	$.str, 8
63*9880d681SAndroid Build Coastguard Worker
64*9880d681SAndroid Build Coastguard Worker
65*9880d681SAndroid Build Coastguard Worker	.text
66