Skip to content

Commit 21c9e68

Browse files
committed
modify tests.
1 parent 3093936 commit 21c9e68

File tree

3 files changed

+240
-74
lines changed

3 files changed

+240
-74
lines changed

lld/test/ELF/loongarch-tlsdesc-extreme.s

Lines changed: 126 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@
1111
# RUN: ld.lld -shared -z now a.64.o c.64.o -o rel.64.so -z rel
1212
# RUN: llvm-readobj -r -x .got rel.64.so | FileCheck --check-prefix=GD64-REL %s
1313

14-
## FIXME: The transition frome TLSDESC to IE/LE has not yet been implemented.
15-
## Keep the dynamic relocations and hand them over to dynamic linker.
14+
## Transition from TLSDESC to IE/LE.
1615

1716
# RUN: ld.lld -e 0 -z now a.64.o c.64.o -o a.64.le
18-
# RUN: llvm-readobj -r -x .got a.64.le | FileCheck --check-prefix=LE64-RELA %s
17+
# RUN: llvm-readelf -r a.64.le | FileCheck --check-prefix=NOREL %s
18+
# RUN: llvm-objdump --no-show-raw-insn -h -d a.64.le | FileCheck %s --check-prefix=LE64
1919

2020
# RUN: ld.lld -e 0 -z now a.64.o c.64.so -o a.64.ie
2121
# RUN: llvm-readobj -r -x .got a.64.ie | FileCheck --check-prefix=IE64-RELA %s
22+
# RUN: llvm-objdump --no-show-raw-insn -h -d a.64.ie | FileCheck %s --check-prefix=IE64
2223

2324
# GD64-RELA: .rela.dyn {
2425
# GD64-RELA-NEXT: 0x20568 R_LARCH_TLS_DESC64 - 0x1000
@@ -114,37 +115,132 @@
114115
# GD64-NEXT: jirl $ra, $ra, 0
115116
# GD64-NEXT: add.d $a6, $a0, $tp
116117

117-
# LE64-RELA: .rela.dyn {
118-
# LE64-RELA-NEXT: 0x30318 R_LARCH_TLS_DESC64 - 0x8
119-
# LE64-RELA-NEXT: 0x30328 R_LARCH_TLS_DESC64 - 0x7FFFFFFF
120-
# LE64-RELA-NEXT: 0x30338 R_LARCH_TLS_DESC64 - 0x80000000
121-
# LE64-RELA-NEXT: 0x30348 R_LARCH_TLS_DESC64 - 0x100000000
122-
# LE64-RELA-NEXT: 0x30358 R_LARCH_TLS_DESC64 - 0x10000000000000
123-
# LE64-RELA-NEXT: 0x30368 R_LARCH_TLS_DESC64 - 0x1000
124-
# LE64-RELA-NEXT: }
125-
# LE64-RELA: Hex dump of section '.got':
126-
# LE64-RELA-NEXT: 0x00030318 00000000 00000000 00000000 00000000 .
127-
# LE64-RELA-NEXT: 0x00030328 00000000 00000000 00000000 00000000 .
128-
# LE64-RELA-NEXT: 0x00030338 00000000 00000000 00000000 00000000 .
129-
# LE64-RELA-NEXT: 0x00030348 00000000 00000000 00000000 00000000 .
130-
# LE64-RELA-NEXT: 0x00030358 00000000 00000000 00000000 00000000 .
131-
# LE64-RELA-NEXT: 0x00030368 00000000 00000000 00000000 00000000 .
118+
# NOREL: no relocations
119+
120+
# LE64-LABEL: <.text>:
121+
## st_value(a) = 8
122+
# LE64-NEXT: nop
123+
# LE64-NEXT: ori $a0, $zero, 8
124+
# LE64-NEXT: nop
125+
# LE64-NEXT: nop
126+
# LE64-NEXT: nop
127+
# LE64-NEXT: nop
128+
# LE64-NEXT: nop
129+
# LE64-NEXT: add.d $a1, $a0, $tp
130+
## st_value(b) = 0x1000
131+
# LE64-NEXT: lu12i.w $a0, 1
132+
# LE64-NEXT: ori $a0, $a0, 0
133+
# LE64-NEXT: nop
134+
# LE64-NEXT: nop
135+
# LE64-NEXT: nop
136+
# LE64-NEXT: nop
137+
# LE64-NEXT: nop
138+
# LE64-NEXT: add.d $a2, $a0, $tp
139+
## st_value(c) = 0x7fffffff
140+
# LE64-NEXT: lu12i.w $a0, 524287
141+
# LE64-NEXT: ori $a0, $a0, 4095
142+
# LE64-NEXT: nop
143+
# LE64-NEXT: nop
144+
# LE64-NEXT: nop
145+
# LE64-NEXT: nop
146+
# LE64-NEXT: nop
147+
# LE64-NEXT: add.d $a3, $a0, $tp
148+
## st_value(d) = 0x8000,0000
149+
# LE64-NEXT: lu12i.w $a0, -524288
150+
# LE64-NEXT: ori $a0, $a0, 0
151+
# LE64-NEXT: lu32i.d $a0, 1
152+
# LE64-NEXT: lu52i.d $a0, $a0, 1
153+
# LE64-NEXT: nop
154+
# LE64-NEXT: nop
155+
# LE64-NEXT: nop
156+
# LE64-NEXT: add.d $a4, $a0, $tp
157+
## st_value(e) = 0x1,0000,0000
158+
# LE64-NEXT: nop
159+
# LE64-NEXT: ori $a0, $zero, 0
160+
# LE64-NEXT: lu32i.d $a0, 1
161+
# LE64-NEXT: nop
162+
# LE64-NEXT: nop
163+
# LE64-NEXT: nop
164+
# LE64-NEXT: nop
165+
# LE64-NEXT: add.d $a5, $a0, $tp
166+
## st_value(f) = 0x10,0000,0000,0000
167+
# LE64-NEXT: nop
168+
# LE64-NEXT: ori $a0, $zero, 0
169+
# LE64-NEXT: nop
170+
# LE64-NEXT: lu52i.d $a0, $a0, 1
171+
# LE64-NEXT: nop
172+
# LE64-NEXT: nop
173+
# LE64-NEXT: nop
174+
# LE64-NEXT: add.d $a6, $a0, $tp
132175

133176
# IE64-RELA: .rela.dyn {
134-
# IE64-RELA-NEXT: 0x30508 R_LARCH_TLS_DESC64 - 0x8
135-
# IE64-RELA-NEXT: 0x30558 R_LARCH_TLS_DESC64 - 0x1000
136-
# IE64-RELA-NEXT: 0x30518 R_LARCH_TLS_DESC64 c 0x0
137-
# IE64-RELA-NEXT: 0x30528 R_LARCH_TLS_DESC64 d 0x0
138-
# IE64-RELA-NEXT: 0x30538 R_LARCH_TLS_DESC64 e 0x0
139-
# IE64-RELA-NEXT: 0x30548 R_LARCH_TLS_DESC64 f 0x0
177+
# IE64-RELA-NEXT: 0x304D8 R_LARCH_TLS_TPREL64 c 0x0
178+
# IE64-RELA-NEXT: 0x304E0 R_LARCH_TLS_TPREL64 d 0x0
179+
# IE64-RELA-NEXT: 0x304E8 R_LARCH_TLS_TPREL64 e 0x0
180+
# IE64-RELA-NEXT: 0x304F0 R_LARCH_TLS_TPREL64 f 0x0
140181
# IE64-RELA-NEXT: }
141182
# IE64-RELA: Hex dump of section '.got':
142-
# IE64-RELA-NEXT: 0x00030508 00000000 00000000 00000000 00000000 .
143-
# IE64-RELA-NEXT: 0x00030518 00000000 00000000 00000000 00000000 .
144-
# IE64-RELA-NEXT: 0x00030528 00000000 00000000 00000000 00000000 .
145-
# IE64-RELA-NEXT: 0x00030538 00000000 00000000 00000000 00000000 .
146-
# IE64-RELA-NEXT: 0x00030548 00000000 00000000 00000000 00000000 .
147-
# IE64-RELA-NEXT: 0x00030558 00000000 00000000 00000000 00000000 .
183+
# IE64-RELA-NEXT: 0x000304d8 00000000 00000000 00000000 00000000 .
184+
# IE64-RELA-NEXT: 0x000304e8 00000000 00000000 00000000 00000000 .
185+
186+
# IE64: .got 00000020 00000000000304d8
187+
188+
## a and b are optimized to use LE. c, d, e and f are optimized to IE.
189+
# IE64-LABEL: <.text>:
190+
## st_value(a) = 8
191+
# IE64-NEXT: nop
192+
# IE64-NEXT: ori $a0, $zero, 8
193+
# IE64-NEXT: nop
194+
# IE64-NEXT: nop
195+
# IE64-NEXT: nop
196+
# IE64-NEXT: nop
197+
# IE64-NEXT: nop
198+
# IE64-NEXT: add.d $a1, $a0, $tp
199+
## st_value(b) = 0x1000
200+
# IE64-NEXT: lu12i.w $a0, 1
201+
# IE64-NEXT: ori $a0, $a0, 0
202+
# IE64-NEXT: nop
203+
# IE64-NEXT: nop
204+
# IE64-NEXT: nop
205+
# IE64-NEXT: nop
206+
# IE64-NEXT: nop
207+
# IE64-NEXT: add.d $a2, $a0, $tp
208+
## &.got[c]-. = 0x304d8 - 0x20378: 0x10 pages, page offset 0x4d8
209+
# IE64-NEXT: 20378: pcalau12i $a0, 16
210+
# IE64-NEXT: addi.d $t0, $zero, 1240
211+
# IE64-NEXT: lu32i.d $t0, 0
212+
# IE64-NEXT: lu52i.d $t0, $t0, 0
213+
# IE64-NEXT: ldx.d $a0, $a0, $t0
214+
# IE64-NEXT: nop
215+
# IE64-NEXT: nop
216+
# IE64-NEXT: add.d $a3, $a0, $tp
217+
## &.got[d]-. = 0x304d8+8 - 0x20398: 0x10 pages, page offset 0x4e0
218+
# IE64-NEXT: 20398: pcalau12i $a0, 16
219+
# IE64-NEXT: addi.d $t0, $zero, 1248
220+
# IE64-NEXT: lu32i.d $t0, 0
221+
# IE64-NEXT: lu52i.d $t0, $t0, 0
222+
# IE64-NEXT: ldx.d $a0, $a0, $t0
223+
# IE64-NEXT: nop
224+
# IE64-NEXT: nop
225+
# IE64-NEXT: add.d $a4, $a0, $tp
226+
## &.got[e]-. = 0x304d8+16 - 0x203b8: 0x10 pages, page offset 0x4e8
227+
# IE64-NEXT: 203b8: pcalau12i $a0, 16
228+
# IE64-NEXT: addi.d $t0, $zero, 1256
229+
# IE64-NEXT: lu32i.d $t0, 0
230+
# IE64-NEXT: lu52i.d $t0, $t0, 0
231+
# IE64-NEXT: ldx.d $a0, $a0, $t0
232+
# IE64-NEXT: nop
233+
# IE64-NEXT: nop
234+
# IE64-NEXT: add.d $a5, $a0, $tp
235+
## &.got[f]-. = 0x304d8+32 - 0x203e8: 0x10 pages, page offset 0x4f0
236+
# IE64-NEXT: 203d8: pcalau12i $a0, 16
237+
# IE64-NEXT: addi.d $t0, $zero, 1264
238+
# IE64-NEXT: lu32i.d $t0, 0
239+
# IE64-NEXT: lu52i.d $t0, $t0, 0
240+
# IE64-NEXT: ldx.d $a0, $a0, $t0
241+
# IE64-NEXT: nop
242+
# IE64-NEXT: nop
243+
# IE64-NEXT: add.d $a6, $a0, $tp
148244

149245
#--- a.s
150246
la.tls.desc $a0, $t0, a

lld/test/ELF/loongarch-tlsdesc-pcrel20-s2.s

Lines changed: 53 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
# RUN: ld.lld -shared -z now a.64.o c.64.o -o rel.64.so -z rel
1515
# RUN: llvm-readobj -r -x .got rel.64.so | FileCheck --check-prefix=GD64-REL %s
1616

17-
## FIXME: The transition frome TLSDESC to IE/LE has not yet been implemented.
18-
## Keep the dynamic relocations and hand them over to dynamic linker.
17+
## Transition from TLSDESC to IE/LE.
1918

2019
# RUN: ld.lld -e 0 -z now a.64.o c.64.o -o a.64.le
21-
# RUN: llvm-readobj -r -x .got a.64.le | FileCheck --check-prefix=LE64-RELA %s
20+
# RUN: llvm-readelf -r a.64.le | FileCheck --check-prefix=NOREL %s
21+
# RUN: llvm-objdump --no-show-raw-insn -h -d a.64.le | FileCheck %s --check-prefix=LE64
2222

2323
# RUN: ld.lld -e 0 -z now a.64.o c.64.so -o a.64.ie
2424
# RUN: llvm-readobj -r -x .got a.64.ie | FileCheck --check-prefix=IE64-RELA %s
25+
# RUN: llvm-objdump --no-show-raw-insn -h -d a.64.ie | FileCheck %s --check-prefix=IE64
2526

2627
## 32-bit code is mostly the same. We only test a few variants.
2728

@@ -78,29 +79,59 @@
7879
# GD64-NEXT: jirl $ra, $ra, 0
7980
# GD64-NEXT: add.d $a4, $a0, $tp
8081

81-
# LE64-RELA: .rela.dyn {
82-
# LE64-RELA-NEXT: 0x30268 R_LARCH_TLS_DESC64 - 0x8
83-
# LE64-RELA-NEXT: 0x30278 R_LARCH_TLS_DESC64 - 0x800
84-
# LE64-RELA-NEXT: 0x30288 R_LARCH_TLS_DESC64 - 0x1000
85-
# LE64-RELA-NEXT: 0x30298 R_LARCH_TLS_DESC64 - 0x7FF
86-
# LE64-RELA-NEXT: }
87-
# LE64-RELA: Hex dump of section '.got':
88-
# LE64-RELA-NEXT: 0x00030268 00000000 00000000 00000000 00000000 .
89-
# LE64-RELA-NEXT: 0x00030278 00000000 00000000 00000000 00000000 .
90-
# LE64-RELA-NEXT: 0x00030288 00000000 00000000 00000000 00000000 .
91-
# LE64-RELA-NEXT: 0x00030298 00000000 00000000 00000000 00000000 .
82+
# NOREL: no relocations
83+
84+
# LE64-LABEL: <.text>:
85+
## st_value(a) = 8
86+
# LE64-NEXT: nop
87+
# LE64-NEXT: nop
88+
# LE64-NEXT: ori $a0, $zero, 8
89+
# LE64-NEXT: add.d $a1, $a0, $tp
90+
## st_value(b) = 2047
91+
# LE64-NEXT: nop
92+
# LE64-NEXT: nop
93+
# LE64-NEXT: ori $a0, $zero, 2047
94+
# LE64-NEXT: add.d $a2, $a0, $tp
95+
## st_value(c) = 2048
96+
# LE64-NEXT: nop
97+
# LE64-NEXT: nop
98+
# LE64-NEXT: ori $a0, $zero, 2048
99+
# LE64-NEXT: add.d $a3, $a0, $tp
100+
## st_value(d) = 4096
101+
# LE64-NEXT: nop
102+
# LE64-NEXT: lu12i.w $a0, 1
103+
# LE64-NEXT: ori $a0, $a0, 0
104+
# LE64-NEXT: add.d $a4, $a0, $tp
92105

93106
# IE64-RELA: .rela.dyn {
94-
# IE64-RELA-NEXT: 0x30418 R_LARCH_TLS_DESC64 - 0x8
95-
# IE64-RELA-NEXT: 0x30448 R_LARCH_TLS_DESC64 - 0x7FF
96-
# IE64-RELA-NEXT: 0x30428 R_LARCH_TLS_DESC64 c 0x0
97-
# IE64-RELA-NEXT: 0x30438 R_LARCH_TLS_DESC64 d 0x0
107+
# IE64-RELA-NEXT: 0x303E8 R_LARCH_TLS_TPREL64 c 0x0
108+
# IE64-RELA-NEXT: 0x303F0 R_LARCH_TLS_TPREL64 d 0x0
98109
# IE64-RELA-NEXT: }
99110
# IE64-RELA: Hex dump of section '.got':
100-
# IE64-RELA-NEXT: 0x00030418 00000000 00000000 00000000 00000000 .
101-
# IE64-RELA-NEXT: 0x00030428 00000000 00000000 00000000 00000000 .
102-
# IE64-RELA-NEXT: 0x00030438 00000000 00000000 00000000 00000000 .
103-
# IE64-RELA-NEXT: 0x00030448 00000000 00000000 00000000 00000000 .
111+
# IE64-RELA-NEXT: 0x000303e8 00000000 00000000 00000000 00000000 .
112+
113+
# IE64: .got 00000010 00000000000303e8
114+
115+
## a and b are optimized to use LE. c and d are optimized to IE.
116+
# IE64-LABEL: <.text>:
117+
# IE64-NEXT: nop
118+
# IE64-NEXT: nop
119+
# IE64-NEXT: ori $a0, $zero, 8
120+
# IE64-NEXT: add.d $a1, $a0, $tp
121+
# IE64-NEXT: nop
122+
# IE64-NEXT: nop
123+
# IE64-NEXT: ori $a0, $zero, 2047
124+
# IE64-NEXT: add.d $a2, $a0, $tp
125+
## &.got[c]-. = 0x303e8 - 0x202ec: 0x10 pages, page offset 0x3e8
126+
# IE64-NEXT: nop
127+
# IE64-NEXT: 202ec: pcalau12i $a0, 16
128+
# IE64-NEXT: ld.d $a0, $a0, 1000
129+
# IE64-NEXT: add.d $a3, $a0, $tp
130+
## &.got[d]-. = 0x303e8+8 - 0x202fc: 0x10 pages, page offset 0x3f0
131+
# IE64-NEXT: nop
132+
# IE64-NEXT: 202fc: pcalau12i $a0, 16
133+
# IE64-NEXT: ld.d $a0, $a0, 1008
134+
# IE64-NEXT: add.d $a4, $a0, $tp
104135

105136
# GD32-REL: .rel.dyn {
106137
# GD32-REL-NEXT: 0x202A4 R_LARCH_TLS_DESC32 -

lld/test/ELF/loongarch-tlsdesc.s

Lines changed: 61 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,15 @@
1414
# RUN: ld.lld -shared -z now a.64.o c.64.o -o rel.64.so -z rel
1515
# RUN: llvm-readobj -r -x .got rel.64.so | FileCheck --check-prefix=GD64-REL %s
1616

17-
## FIXME: The transition frome TLSDESC to IE/LE has not yet been implemented.
18-
## Keep the dynamic relocations and hand them over to dynamic linker.
17+
## Transition from TLSDESC to IE/LE.
1918

2019
# RUN: ld.lld -e 0 -z now a.64.o c.64.o -o a.64.le
21-
# RUN: llvm-readobj -r -x .got a.64.le | FileCheck --check-prefix=LE64-RELA %s
20+
# RUN: llvm-readelf -r a.64.le | FileCheck --check-prefix=NOREL %s
21+
# RUN: llvm-objdump --no-show-raw-insn -h -d a.64.le | FileCheck %s --check-prefix=LE64
2222

2323
# RUN: ld.lld -e 0 -z now a.64.o c.64.so -o a.64.ie
2424
# RUN: llvm-readobj -r -x .got a.64.ie | FileCheck --check-prefix=IE64-RELA %s
25+
# RUN: llvm-objdump --no-show-raw-insn -h -d a.64.ie | FileCheck %s --check-prefix=IE64
2526

2627
## 32-bit code is mostly the same. We only test a few variants.
2728

@@ -82,29 +83,67 @@
8283
# GD64-NEXT: jirl $ra, $ra, 0
8384
# GD64-NEXT: add.d $a4, $a0, $tp
8485

85-
# LE64-RELA: .rela.dyn {
86-
# LE64-RELA-NEXT: 0x30278 R_LARCH_TLS_DESC64 - 0x8
87-
# LE64-RELA-NEXT: 0x30288 R_LARCH_TLS_DESC64 - 0x800
88-
# LE64-RELA-NEXT: 0x30298 R_LARCH_TLS_DESC64 - 0x1000
89-
# LE64-RELA-NEXT: 0x302A8 R_LARCH_TLS_DESC64 - 0x7FF
90-
# LE64-RELA-NEXT: }
91-
# LE64-RELA: Hex dump of section '.got':
92-
# LE64-RELA-NEXT: 0x00030278 00000000 00000000 00000000 00000000 .
93-
# LE64-RELA-NEXT: 0x00030288 00000000 00000000 00000000 00000000 .
94-
# LE64-RELA-NEXT: 0x00030298 00000000 00000000 00000000 00000000 .
95-
# LE64-RELA-NEXT: 0x000302a8 00000000 00000000 00000000 00000000 .
86+
# NOREL: no relocations
87+
88+
# LE64-LABEL: <.text>:
89+
## st_value(a) = 8
90+
# LE64-NEXT: nop
91+
# LE64-NEXT: nop
92+
# LE64-NEXT: nop
93+
# LE64-NEXT: ori $a0, $zero, 8
94+
# LE64-NEXT: add.d $a1, $a0, $tp
95+
## st_value(b) = 2047
96+
# LE64-NEXT: nop
97+
# LE64-NEXT: nop
98+
# LE64-NEXT: nop
99+
# LE64-NEXT: ori $a0, $zero, 2047
100+
# LE64-NEXT: add.d $a2, $a0, $tp
101+
## st_value(c) = 2048
102+
# LE64-NEXT: nop
103+
# LE64-NEXT: nop
104+
# LE64-NEXT: nop
105+
# LE64-NEXT: ori $a0, $zero, 2048
106+
# LE64-NEXT: add.d $a3, $a0, $tp
107+
## st_value(d) = 4096
108+
# LE64-NEXT: nop
109+
# LE64-NEXT: nop
110+
# LE64-NEXT: lu12i.w $a0, 1
111+
# LE64-NEXT: ori $a0, $a0, 0
112+
# LE64-NEXT: add.d $a4, $a0, $tp
96113

97114
# IE64-RELA: .rela.dyn {
98-
# IE64-RELA-NEXT: 0x30428 R_LARCH_TLS_DESC64 - 0x8
99-
# IE64-RELA-NEXT: 0x30458 R_LARCH_TLS_DESC64 - 0x7FF
100-
# IE64-RELA-NEXT: 0x30438 R_LARCH_TLS_DESC64 c 0x0
101-
# IE64-RELA-NEXT: 0x30448 R_LARCH_TLS_DESC64 d 0x0
115+
# IE64-RELA-NEXT: 0x303F8 R_LARCH_TLS_TPREL64 c 0x0
116+
# IE64-RELA-NEXT: 0x30400 R_LARCH_TLS_TPREL64 d 0x0
102117
# IE64-RELA-NEXT: }
103118
# IE64-RELA: Hex dump of section '.got':
104-
# IE64-RELA-NEXT: 0x00030428 00000000 00000000 00000000 00000000 .
105-
# IE64-RELA-NEXT: 0x00030438 00000000 00000000 00000000 00000000 .
106-
# IE64-RELA-NEXT: 0x00030448 00000000 00000000 00000000 00000000 .
107-
# IE64-RELA-NEXT: 0x00030458 00000000 00000000 00000000 00000000 .
119+
# IE64-RELA-NEXT: 0x000303f8 00000000 00000000 00000000 00000000 .
120+
121+
# IE64: .got 00000010 00000000000303f8
122+
123+
## a and b are optimized to use LE. c and d are optimized to IE.
124+
# IE64-LABEL: <.text>:
125+
# IE64-NEXT: nop
126+
# IE64-NEXT: nop
127+
# IE64-NEXT: nop
128+
# IE64-NEXT: ori $a0, $zero, 8
129+
# IE64-NEXT: add.d $a1, $a0, $tp
130+
# IE64-NEXT: nop
131+
# IE64-NEXT: nop
132+
# IE64-NEXT: nop
133+
# IE64-NEXT: ori $a0, $zero, 2047
134+
# IE64-NEXT: add.d $a2, $a0, $tp
135+
## &.got[c]-. = 0x303f8 - 0x202f8: 0x10 pages, page offset 0x3f8
136+
# IE64-NEXT: nop
137+
# IE64-NEXT: nop
138+
# IE64-NEXT: 202f8: pcalau12i $a0, 16
139+
# IE64-NEXT: ld.d $a0, $a0, 1016
140+
# IE64-NEXT: add.d $a3, $a0, $tp
141+
## &.got[d]-. = 0x303f8+8 - 0x2030c: 0x10 pages, page offset 0x400
142+
# IE64-NEXT: nop
143+
# IE64-NEXT: nop
144+
# IE64-NEXT: 2030c: pcalau12i $a0, 16
145+
# IE64-NEXT: ld.d $a0, $a0, 1024
146+
# IE64-NEXT: add.d $a4, $a0, $tp
108147

109148
# GD32-REL: .rel.dyn {
110149
# GD32-REL-NEXT: 0x202B4 R_LARCH_TLS_DESC32 -

0 commit comments

Comments
 (0)