72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			ArmAsm
		
	
	
	
// This addresses bug 14456. We were not writing
 | 
						|
// out the addend to the gprel16 relocation. The
 | 
						|
// addend is stored in the instruction immediate
 | 
						|
// field.
 | 
						|
 | 
						|
// RUN: llvm-mc -mcpu=mips32r2 -triple=mipsel-pc-linux -filetype=obj %s -o - \
 | 
						|
// RUN: | llvm-objdump -disassemble - | FileCheck %s
 | 
						|
// RUN: llvm-mc -mcpu=mips32r2 -triple=mips-pc-linux -filetype=obj %s -o - \
 | 
						|
// RUN: | llvm-objdump -disassemble - | FileCheck %s
 | 
						|
 | 
						|
	.text
 | 
						|
	.abicalls
 | 
						|
	.option	pic0
 | 
						|
	.section	.mdebug.abi32,"",@progbits
 | 
						|
	.file	"/home/espindola/llvm/llvm/test/MC/Mips/mips_gprel16.ll"
 | 
						|
	.text
 | 
						|
	.globl	testvar1
 | 
						|
	.align	2
 | 
						|
	.type	testvar1,@function
 | 
						|
	.set	nomips16
 | 
						|
	.ent	testvar1
 | 
						|
testvar1:                               # @testvar1
 | 
						|
	.frame	$sp,0,$ra
 | 
						|
	.mask 	0x00000000,0
 | 
						|
	.fmask	0x00000000,0
 | 
						|
	.set	noreorder
 | 
						|
	.set	nomacro
 | 
						|
	.set	noat
 | 
						|
# %bb.0:                                # %entry
 | 
						|
// CHECK: lw ${{[0-9]+}}, 0($gp)
 | 
						|
	lw	$1, %gp_rel(var1)($gp)
 | 
						|
	jr	$ra
 | 
						|
	sltu	$2, $zero, $1
 | 
						|
	.set	at
 | 
						|
	.set	macro
 | 
						|
	.set	reorder
 | 
						|
	.end	testvar1
 | 
						|
$tmp0:
 | 
						|
	.size	testvar1, ($tmp0)-testvar1
 | 
						|
 | 
						|
	.globl	testvar2
 | 
						|
	.align	2
 | 
						|
	.type	testvar2,@function
 | 
						|
	.set	nomips16
 | 
						|
	.ent	testvar2
 | 
						|
testvar2:                               # @testvar2
 | 
						|
	.frame	$sp,0,$ra
 | 
						|
	.mask 	0x00000000,0
 | 
						|
	.fmask	0x00000000,0
 | 
						|
	.set	noreorder
 | 
						|
	.set	nomacro
 | 
						|
	.set	noat
 | 
						|
# %bb.0:                                # %entry
 | 
						|
// CHECK: lw ${{[0-9]+}}, 4($gp)
 | 
						|
	lw	$1, %gp_rel(var2)($gp)
 | 
						|
	jr	$ra
 | 
						|
	sltu	$2, $zero, $1
 | 
						|
	.set	at
 | 
						|
	.set	macro
 | 
						|
	.set	reorder
 | 
						|
	.end	testvar2
 | 
						|
$tmp1:
 | 
						|
	.size	testvar2, ($tmp1)-testvar2
 | 
						|
 | 
						|
	.type	var1,@object            # @var1
 | 
						|
	.local	var1
 | 
						|
	.comm	var1,4,4
 | 
						|
	.type	var2,@object            # @var2
 | 
						|
	.local	var2
 | 
						|
	.comm	var2,4,4
 | 
						|
 |