87 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			87 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
// RUN: llvm-mc -filetype=obj -triple=mips64el-pc-linux -mcpu=mips64 %s -o - \
 | 
						|
// RUN: | llvm-readobj -r \
 | 
						|
// RUN: | FileCheck %s
 | 
						|
// RUN: llvm-mc -filetype=obj -triple=mips64-pc-linux -mcpu=mips64 %s -o - \
 | 
						|
// RUN: | llvm-readobj -r \
 | 
						|
// RUN: | FileCheck %s
 | 
						|
 | 
						|
// Check that the appropriate relocations were created.
 | 
						|
 | 
						|
// R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
 | 
						|
// CHECK:      Relocations [
 | 
						|
// CHECK:        Section ({{[a-z0-9]+}}) .rela.rodata {
 | 
						|
// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
 | 
						|
// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
 | 
						|
// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
 | 
						|
// CHECK-NEXT:     0x{{[0-9,A-F]+}} R_MIPS_GPREL32/R_MIPS_64/R_MIPS_NONE
 | 
						|
// CHECK-NEXT:   }
 | 
						|
// CHECK-NEXT: ]
 | 
						|
 | 
						|
	.text
 | 
						|
	.abicalls
 | 
						|
	.section	.mdebug.abi64,"",@progbits
 | 
						|
	.file	"/home/espindola/llvm/llvm/test/MC/Mips/elf-gprel-32-64.ll"
 | 
						|
	.text
 | 
						|
	.globl	test
 | 
						|
	.align	3
 | 
						|
	.type	test,@function
 | 
						|
	.set	nomips16
 | 
						|
	.ent	test
 | 
						|
test:                                   # @test
 | 
						|
	.frame	$sp,0,$ra
 | 
						|
	.mask 	0x00000000,0
 | 
						|
	.fmask	0x00000000,0
 | 
						|
	.set	noreorder
 | 
						|
	.set	nomacro
 | 
						|
	.set	noat
 | 
						|
# BB#0:                                 # %entry
 | 
						|
	lui	$1, %hi(%neg(%gp_rel(test)))
 | 
						|
	daddu	$2, $1, $25
 | 
						|
	sltiu	$1, $4, 4
 | 
						|
	dsll	$3, $4, 32
 | 
						|
	bnez	$1, $BB0_2
 | 
						|
	nop
 | 
						|
$BB0_1:                                 # %sw.default
 | 
						|
	b	$BB0_3
 | 
						|
	addiu	$2, $zero, -1
 | 
						|
$BB0_2:                                 # %entry
 | 
						|
	daddiu	$1, $2, %lo(%neg(%gp_rel(test)))
 | 
						|
	dsrl	$3, $3, 32
 | 
						|
	daddiu	$4, $zero, 8
 | 
						|
	dmult	$3, $4
 | 
						|
	mflo	$3
 | 
						|
	ld	$4, %got_page($JTI0_0)($1)
 | 
						|
	daddu	$3, $3, $4
 | 
						|
	ld	$3, %got_ofst($JTI0_0)($3)
 | 
						|
	daddu	$1, $3, $1
 | 
						|
	jr	$1
 | 
						|
	addiu	$2, $zero, 1
 | 
						|
$BB0_3:                                 # %return
 | 
						|
	jr	$ra
 | 
						|
	nop
 | 
						|
$BB0_4:                                 # %sw.bb2
 | 
						|
	jr	$ra
 | 
						|
	addiu	$2, $zero, 3
 | 
						|
$BB0_5:                                 # %sw.bb5
 | 
						|
	jr	$ra
 | 
						|
	addiu	$2, $zero, 2
 | 
						|
$BB0_6:                                 # %sw.bb8
 | 
						|
	jr	$ra
 | 
						|
	addiu	$2, $zero, 7
 | 
						|
	.set	at
 | 
						|
	.set	macro
 | 
						|
	.set	reorder
 | 
						|
	.end	test
 | 
						|
$tmp0:
 | 
						|
	.size	test, ($tmp0)-test
 | 
						|
	.section	.rodata,"a",@progbits
 | 
						|
	.align	3
 | 
						|
$JTI0_0:
 | 
						|
	.gpdword	($BB0_3)
 | 
						|
	.gpdword	($BB0_4)
 | 
						|
	.gpdword	($BB0_5)
 | 
						|
	.gpdword	($BB0_6)
 | 
						|
 | 
						|
 | 
						|
	.text
 |