# REQUIRES: ppc

# RUN: llvm-mc -filetype=obj -triple=powerpc64le-unkown-linux %p/Inputs/ppc64-toc-relax-shared.s -o %t.o
# RUN: ld.lld -shared -soname=t.so %t.o -o %t.so
# RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %s -o %t1.o
# RUN: llvm-mc -filetype=obj -triple=powerpc64le-unknown-linux %p/Inputs/ppc64-toc-relax.s -o %t2.o
# RUN: llvm-readobj -r %t1.o | FileCheck --check-prefix=RELOCS %s
# RUN: ld.lld %t1.o %t2.o %t.so -o %t
# RUN: llvm-readelf -S %t | FileCheck --check-prefix=SECTIONS %s
# RUN: llvm-nm %t | FileCheck --check-prefix=NM %s
# RUN: llvm-objdump -D %t | FileCheck %s

# In most cases, .toc contains exclusively addresses relocated by R_PPC64_ADDR16.
# Rarely .toc contain constants or variables.
# Test we can still perform toc-indirect to toc-relative relaxation.

# RELOCS:      .rela.text {
# RELOCS-NEXT:   0x0 R_PPC64_TOC16_HA .toc 0x0
# RELOCS-NEXT:   0x4 R_PPC64_TOC16_LO_DS .toc 0x0
# RELOCS-NEXT:   0x8 R_PPC64_TOC16_HA .toc 0x8
# RELOCS-NEXT:   0xC R_PPC64_TOC16_LO_DS .toc 0x8
# RELOCS-NEXT:   0x10 R_PPC64_TOC16_HA .toc 0x10
# RELOCS-NEXT:   0x14 R_PPC64_TOC16_LO_DS .toc 0x10
# RELOCS-NEXT: }

# SECTIONS: .got              PROGBITS        00000000100202f8
# SECTIONS: .toc              PROGBITS        00000000100202f8

# NM: 0000000010030310 D default

# .LCONST1 is .toc[0].
# .LCONST1 - (.got+0x8000) = 0x10020350 - (0x10020350+0x8000) = -32768
# CHECK: nop
# CHECK: lwa 3, -32768(2)
  addis 3, 2, .LCONST1@toc@ha
  lwa 3, .LCONST1@toc@l(3)

# .LCONST2 is .toc[1]
# .LCONST2 - (.got+0x8000) = 0x10020358 - (0x10020350+0x8000) = -32760
# CHECK: nop
# CHECK: ld 4, -32760(2)
  addis 4, 2, .LCONST2@toc@ha
  ld 4, .LCONST2@toc@l(4)

# .Ldefault is .toc[2]. `default` is not preemptable when producing an executable.
# After toc-indirection to toc-relative relaxation, it is loaded using an
# offset relative to r2.
# CHECK: addis 5, 2, 1
# CHECK: addi 5, 5, -32744
# CHECK: lwa 5, 0(5)
  addis 5, 2, .Ldefault@toc@ha
  ld    5, .Ldefault@toc@l(5)
  lwa   5, 0(5)

.section .toc,"aw",@progbits
.LCONST1:
  .quad 11
.LCONST2:
  .quad 22
.Ldefault:
  .tc default[TC],default
