xref: /llvm-project/llvm/test/MC/PowerPC/ppc64-tls-relocs-01.s (revision 11b71ade51e0d1f90f1c68a7552a11f7e85eace1)
1# RUN: llvm-mc -triple=powerpc64-unknown-linux-gnu -filetype=obj %s | \
2# RUN: llvm-readobj -r - | FileCheck %s
3
4        .text
5        addis 3, 13, t@tprel@ha
6        addi 3, 3, t@tprel@l
7        addis 3, 2, t@got@tprel@ha
8        ld 3, t@got@tprel@l(3)
9        lwzx 4, 3, t@tls
10        lwax 4, 3, t@tls
11        lhzx 4, 3, t@tls
12        lhax 4, 3, t@tls
13        lbzx 4, 3, t@tls
14        ldx 4, 3, t@tls
15        stbx 4, 3, t@tls
16        sthx 4, 3, t@tls
17        stwx 4, 3, t@tls
18        stdx 4, 3, t@tls
19        .type t,@object
20        .section .tbss,"awT",@nobits
21        .globl t
22        .align 2
23t:
24        .long 0
25        .size t, 4
26
27# Check for a pair of R_PPC64_TPREL16_HA / R_PPC64_TPREL16_LO relocs
28# against the thread-local symbol 't'.
29# CHECK:      Relocations [
30# CHECK:        Section ({{[0-9]+}}) .rela.text {
31# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TPREL16_HA t
32# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TPREL16_LO t
33# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_GOT_TPREL16_HA t 0x0
34# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_GOT_TPREL16_LO_DS t 0x0
35# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
36# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
37# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
38# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
39# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
40# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
41# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
42# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
43# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
44# CHECK-NEXT:     0x{{[0-9,A-F]+}} R_PPC64_TLS t 0x0
45# CHECK-NEXT:   }
46