mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-25 05:34:59 +00:00
0b6e0490cf
Summary: In theory, care must be taken to ensure that pairs of R_MIPS_(GOT|HI|LO)16 make the same decision on both relocs in the reloc pair but in practice this isn't as hard as it sounds and only limits the complexity of the predicate used. We handle all three with the same code to ensure their decisions always agree with each other. Reviewers: sdardis Subscribers: rafael, dsanders, sdardis, llvm-commits Differential Revision: http://reviews.llvm.org/D19016 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@268900 91177308-0d34-0410-b5e6-96231b3b80d8
21 lines
558 B
ArmAsm
21 lines
558 B
ArmAsm
# Check that llvm-mc accepts arithmetic expression
|
|
# as an argument of the %got relocation.
|
|
|
|
# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s \
|
|
# RUN: | llvm-objdump -d -r - | FileCheck %s
|
|
|
|
.text
|
|
foo:
|
|
lw $t0,%got($loc+0x10004)($gp)
|
|
# CHECK: 0: 8f 88 00 01 lw $8, 1($gp)
|
|
# CHECK: 00000000: R_MIPS_GOT16 .data
|
|
addi $t0,$t0,%lo($loc+0x10004)
|
|
# CHECK: 4: 21 08 00 04 addi $8, $8, 4
|
|
# CHECK: 00000004: R_MIPS_LO16 .data
|
|
|
|
.data
|
|
$loc:
|
|
.word 0
|
|
.space 0x10000
|
|
.word 0
|