1 // RUN
: llvm-mc
-triple
=powerpc64le-pc-linux
-filetype
=obj
%s
-o
- | \
2 // RUN
: llvm-readobj
-r | FileCheck
%s
4 // RUN
: llvm-mc
-triple
=powerpc64-pc-linux
-filetype
=obj
%s
-o
- | \
5 // RUN
: llvm-readobj
-r | FileCheck
%s
7 // Verify we can handle all the tprel symbol modifiers for local exec tls.
8 // Tests
16 bit offsets on both DS-form
and D-form instructions
, 32 bit
9 // adjusted
and non-adjusted offsets
and 64 bit adjusted
and non-adjusted
14 .globl short_offset_ds
16 .type short_offset_ds,@function
23 .type short_offset,@function
30 .type medium_offset,@function
32 addis 3, 13, i@tprel@ha
36 .globl medium_not_adjusted
38 .type medium_not_adjusted,@function
47 .type large_offset,@function
49 lis 3, i@tprel@highesta
50 ori 3, 3, i@tprel@highera
52 oris 3, 3, i@tprel@higha
59 .type not_adjusted,@function
61 lis 3, i@tprel@highest
62 ori 3, 3, i@tprel@higher
64 oris 3, 3, i@tprel@high
70 .section .tdata,"awT",@progbits
84 # CHECK: Relocations [
85 # CHECK: Section {{.*}} .rela.text {
86 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_DS i
87 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16 i
88 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HA i
89 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_LO_DS i
90 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HI i
91 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_LO i
92 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HIGHESTA i
93 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HIGHERA i
94 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HIGHA i
95 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_LO i
96 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HIGHEST i
97 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HIGHER i
98 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_HIGH i
99 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL16_LO i
101 # CHECK: Section (6) .rela.data {
102 # CHECK: 0x{{[0-9A-F]+}} R_PPC64_TPREL64 i