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