reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced
    1
    2
    3
    4
    5
    6
    7
    8
    9
   10
   11
   12
   13
   14
   15
   16
   17
   18
   19
   20
   21
   22
   23
   24
   25
   26
   27
   28
   29
   30
   31
   32
   33
   34
   35
   36
   37
   38
   39
   40
   41
   42
   43
   44
   45
   46
   47
   48
   49
   50
   51
   52
   53
   54
   55
   56
   57
   58
   59
   60
   61
   62
   63
   64
   65
   66
   67
   68
   69
   70
   71
// 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