1// This addresses bug 14456. We were not writing
2// out the addend to the gprel16 relocation. The
3// addend is stored in the instruction immediate
4// field.
5
6// RUN: llvm-mc -mcpu=mips32r2 -triple=mipsel-pc-linux -filetype=obj -relocation-model=static %s -o - \
7// RUN: | llvm-objdump -disassemble -mattr +mips32r2 - \
8// RUN: | FileCheck %s
9// RUN: llvm-mc -mcpu=mips32r2 -triple=mips-pc-linux -filetype=obj -relocation-model=static %s -o - \
10// RUN: | llvm-objdump -disassemble -mattr +mips32r2 - \
11// RUN: | FileCheck %s
12
13	.text
14	.abicalls
15	.option	pic0
16	.section	.mdebug.abi32,"",@progbits
17	.file	"/home/espindola/llvm/llvm/test/MC/Mips/mips_gprel16.ll"
18	.text
19	.globl	testvar1
20	.align	2
21	.type	testvar1,@function
22	.set	nomips16
23	.ent	testvar1
24testvar1:                               # @testvar1
25	.frame	$sp,0,$ra
26	.mask 	0x00000000,0
27	.fmask	0x00000000,0
28	.set	noreorder
29	.set	nomacro
30	.set	noat
31# BB#0:                                 # %entry
32// CHECK: lw ${{[0-9]+}}, 0($gp)
33	lw	$1, %gp_rel(var1)($gp)
34	jr	$ra
35	sltu	$2, $zero, $1
36	.set	at
37	.set	macro
38	.set	reorder
39	.end	testvar1
40$tmp0:
41	.size	testvar1, ($tmp0)-testvar1
42
43	.globl	testvar2
44	.align	2
45	.type	testvar2,@function
46	.set	nomips16
47	.ent	testvar2
48testvar2:                               # @testvar2
49	.frame	$sp,0,$ra
50	.mask 	0x00000000,0
51	.fmask	0x00000000,0
52	.set	noreorder
53	.set	nomacro
54	.set	noat
55# BB#0:                                 # %entry
56// CHECK: lw ${{[0-9]+}}, 4($gp)
57	lw	$1, %gp_rel(var2)($gp)
58	jr	$ra
59	sltu	$2, $zero, $1
60	.set	at
61	.set	macro
62	.set	reorder
63	.end	testvar2
64$tmp1:
65	.size	testvar2, ($tmp1)-testvar2
66
67	.type	var1,@object            # @var1
68	.local	var1
69	.comm	var1,4,4
70	.type	var2,@object            # @var2
71	.local	var2
72	.comm	var2,4,4
73
74