# REQUIRES: mips
# Check R_MIPS_HI16 / LO16 relocations calculation.

# RUN: llvm-mc -filetype=obj -triple=mips-unknown-linux %s -o %t.o
# RUN: echo "SECTIONS { . = 0x20000; .text ALIGN(0x1000) : { *(.text) } }" > %t.script
# RUN: ld.lld %t.o --script %t.script -o %t.exe
# RUN: llvm-objdump -d -t --no-show-raw-insn %t.exe | FileCheck %s

  .text
  .globl  __start
__start:
  lui    $t0,%hi(__start)
  lui    $t1,%hi(g1)
  addi   $t0,$t0,%lo(__start+4)
  addi   $t0,$t0,%lo(g1+8)

  lui    $t0,%hi(l1+0x10000)
  lui    $t1,%hi(l1+0x20000)
  addi   $t0,$t0,%lo(l1+(-4))

  .data
  .type  l1,@object
  .size  l1,4
l1:
  .word 0

  .globl g1
  .type  g1,@object
  .size  g1,4
g1:
  .word 0

# CHECK: SYMBOL TABLE:
# CHECK: 0021020 l     O .data   00000004 l1
# CHECK: 0021000 g       .text   00000000 __start
# CHECK: 0021024 g     O .data   00000004 g1

# CHECK:      <__start>:
# CHECK-NEXT:  21000:   lui    $8, 2
#                                  ^-- %hi(__start+4)
# CHECK-NEXT:  21004:   lui    $9, 2
#                                  ^-- %hi(g1+8)
# CHECK-NEXT:  21008:   addi   $8, $8, 4100
#                                      ^-- %lo(__start+4)
# CHECK-NEXT:  2100c:   addi   $8, $8, 4140
#                                      ^-- %lo(g1+8)
# CHECK-NEXT:  21010:   lui    $8, 3
#                                  ^-- %hi(l1+0x10000-4)
# CHECK-NEXT:  21014:   lui    $9, 4
#                                  ^-- %hi(l1+0x20000-4)
# CHECK-NEXT:  21018:   addi   $8, $8, 4124
#                                      ^-- %lo(l1-4)
