2 # RUN: llvm-mc -triple s390x-unknown-unknown -mcpu=z13 --show-encoding %s | FileCheck %s
4 # RUN: llvm-mc -triple s390x-unknown-unknown -mcpu=z13 -filetype=obj %s | \
5 # RUN: llvm-readobj -r - | FileCheck %s -check-prefix=CHECK-REL
7 # RUN: llvm-mc -triple s390x-unknown-unknown -mcpu=z13 -filetype=obj %s | \
8 # RUN: llvm-objdump -d - | FileCheck %s -check-prefix=CHECK-DIS
10 # CHECK: larl %r14, target # encoding: [0xc0,0xe0,A,A,A,A]
11 # CHECK-NEXT: # fixup A - offset: 2, value: target+2, kind: FK_390_PC32DBL
12 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PC32DBL target 0x2
16 # CHECK: larl %r14, target@GOT # encoding: [0xc0,0xe0,A,A,A,A]
17 # CHECK-NEXT: # fixup A - offset: 2, value: target@GOT+2, kind: FK_390_PC32DBL
18 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_GOTENT target 0x2
22 # CHECK: larl %r14, target@INDNTPOFF # encoding: [0xc0,0xe0,A,A,A,A]
23 # CHECK-NEXT: # fixup A - offset: 2, value: target@INDNTPOFF+2, kind: FK_390_PC32DBL
24 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_TLS_IEENT target 0x2
26 larl
%r14, target@indntpoff
28 # CHECK: brasl %r14, target # encoding: [0xc0,0xe5,A,A,A,A]
29 # CHECK-NEXT: # fixup A - offset: 2, value: target+2, kind: FK_390_PC32DBL
30 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PC32DBL target 0x2
34 # CHECK: brasl %r14, target@PLT # encoding: [0xc0,0xe5,A,A,A,A]
35 # CHECK-NEXT: # fixup A - offset: 2, value: target@PLT+2, kind: FK_390_PC32DBL
36 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PLT32DBL target 0x2
38 brasl
%r14, target@plt
40 # CHECK: brasl %r14, target@PLT:tls_gdcall:sym # encoding: [0xc0,0xe5,A,A,A,A]
41 # CHECK-NEXT: # fixup A - offset: 2, value: target@PLT+2, kind: FK_390_PC32DBL
42 # CHECK-NEXT: # fixup B - offset: 0, value: sym@TLSGD, kind: FK_390_TLS_CALL
43 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PLT32DBL target 0x2
44 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_GDCALL sym 0x0
46 brasl
%r14, target@plt
:tls_gdcall
:sym
48 # CHECK: brasl %r14, target@PLT:tls_ldcall:sym # encoding: [0xc0,0xe5,A,A,A,A]
49 # CHECK-NEXT: # fixup A - offset: 2, value: target@PLT+2, kind: FK_390_PC32DBL
50 # CHECK-NEXT: # fixup B - offset: 0, value: sym@TLSLDM, kind: FK_390_TLS_CALL
51 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PLT32DBL target 0x2
52 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LDCALL sym 0x0
54 brasl
%r14, target@plt
:tls_ldcall
:sym
56 # CHECK: bras %r14, target # encoding: [0xa7,0xe5,A,A]
57 # CHECK-NEXT: # fixup A - offset: 2, value: target+2, kind: FK_390_PC16DBL
58 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PC16DBL target 0x2
62 # CHECK: bras %r14, target@PLT # encoding: [0xa7,0xe5,A,A]
63 # CHECK-NEXT: # fixup A - offset: 2, value: target@PLT+2, kind: FK_390_PC16DBL
64 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PLT16DBL target 0x2
68 # CHECK: bras %r14, target@PLT:tls_gdcall:sym # encoding: [0xa7,0xe5,A,A]
69 # CHECK-NEXT: # fixup A - offset: 2, value: target@PLT+2, kind: FK_390_PC16DBL
70 # CHECK-NEXT: # fixup B - offset: 0, value: sym@TLSGD, kind: FK_390_TLS_CALL
71 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PLT16DBL target 0x2
72 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_GDCALL sym 0x0
74 bras
%r14, target@plt
:tls_gdcall
:sym
76 # CHECK: bras %r14, target@PLT:tls_ldcall:sym # encoding: [0xa7,0xe5,A,A]
77 # CHECK-NEXT: # fixup A - offset: 2, value: target@PLT+2, kind: FK_390_PC16DBL
78 # CHECK-NEXT: # fixup B - offset: 0, value: sym@TLSLDM, kind: FK_390_TLS_CALL
79 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_PLT16DBL target 0x2
80 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LDCALL sym 0x0
82 bras
%r14, target@plt
:tls_ldcall
:sym
85 # Symbolic displacements
88 # CHECK: vl %v0, src # encoding: [0xe7,0x00,0b0000AAAA,A,0x00,0x06]
89 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
90 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
94 # CHECK: vl %v0, src(%r1) # encoding: [0xe7,0x00,0b0001AAAA,A,0x00,0x06]
95 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
96 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
100 # CHECK: .insn vrx,253987186016262,%v0,src(%r1),3 # encoding: [0xe7,0x00,0b0001AAAA,A,0x30,0x06]
101 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
102 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
104 .insn vrx,0xe70000000006,%v0,src(%r1),3 # vl
107 # CHECK: lmg %r6, %r15, src # encoding: [0xeb,0x6f,0b0000AAAA,A,A,0x04]
108 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
109 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
113 # CHECK: lmg %r6, %r15, src(%r1) # encoding: [0xeb,0x6f,0b0001AAAA,A,A,0x04]
114 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
115 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
117 lmg
%r6, %r15, src
(%r1)
119 # CHECK: .insn siy,258385232527441,src(%r15),240 # encoding: [0xeb,0xf0,0b1111AAAA,A,A,0x51]
120 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
121 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
123 .insn siy,0xeb0000000051,src(%r15),240 # tmy
126 # CHECK: la %r14, src # encoding: [0x41,0xe0,0b0000AAAA,A]
127 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
128 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
132 # CHECK: la %r14, src(%r1) # encoding: [0x41,0xe0,0b0001AAAA,A]
133 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
134 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
138 # CHECK: la %r14, src(%r1,%r2) # encoding: [0x41,0xe1,0b0010AAAA,A]
139 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
140 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
142 la %r14, src
(%r1, %r2)
144 # CHECK: .insn vrx,253987186016262,%v2,src(%r2,%r3),3 # encoding: [0xe7,0x22,0b0011AAAA,A,0x30,0x06]
145 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
146 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
148 .insn vrx,0xe70000000006,%v2,src(%r2, %r3),3 # vl
151 # CHECK: lg %r14, src # encoding: [0xe3,0xe0,0b0000AAAA,A,A,0x04]
152 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
153 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
157 # CHECK: lg %r14, src(%r1) # encoding: [0xe3,0xe0,0b0001AAAA,A,A,0x04]
158 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
159 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
163 # CHECK: lg %r14, src(%r1,%r2) # encoding: [0xe3,0xe1,0b0010AAAA,A,A,0x04]
164 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
165 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
167 lg
%r14, src
(%r1, %r2)
169 # CHECK: .insn rxy,260584255783013,%f1,src(%r2,%r15) # encoding: [0xed,0x12,0b1111AAAA,A,A,0x65]
170 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S20Imm
171 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_20 src 0x0
173 .insn rxy,0xed0000000065,%f1,src(%r2,%r15) # ldy
176 # CHECK: tp src(16) # encoding: [0xeb,0xf0,0b0000AAAA,A,0x00,0xc0]
177 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
178 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
182 # CHECK: tp src(16,%r1) # encoding: [0xeb,0xf0,0b0001AAAA,A,0x00,0xc0]
183 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
184 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
190 # CHECK: mvc dst(1,%r1), src(%r1) # encoding: [0xd2,0x00,0b0001AAAA,A,0b0001BBBB,B]
191 # CHECK-NEXT: # fixup A - offset: 2, value: dst, kind: FK_390_U12Imm
192 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
193 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 dst 0x0
194 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
196 mvc
dst(1,%r1), src
(%r1)
199 # CHECK: mvo src(16,%r1), src(1,%r2) # encoding: [0xf1,0xf0,0b0001AAAA,A,0b0010BBBB,B]
200 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
201 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
202 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
203 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
205 mvo src
(16,%r1), src
(1,%r2)
208 # CHECK: srp src(1,%r1), src(%r15), 0 # encoding: [0xf0,0x00,0b0001AAAA,A,0b1111BBBB,B]
209 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
210 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
211 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
212 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
214 srp src
(1,%r1), src
(%r15), 0
218 # CHECK: mvck dst(%r2,%r1), src, %r3 # encoding: [0xd9,0x23,0b0001AAAA,A,0b0000BBBB,B]
219 # CHECK-NEXT: # fixup A - offset: 2, value: dst, kind: FK_390_U12Imm
220 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
221 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 dst 0x0
222 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
224 mvck
dst(%r2,%r1), src
, %r3
226 # CHECK: .insn ss,238594023227392,dst(%r2,%r1),src,%r3 # encoding: [0xd9,0x23,0b0001AAAA,A,0b0000BBBB,B]
227 # CHECK-NEXT: # fixup A - offset: 2, value: dst, kind: FK_390_U12Imm
228 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
229 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 dst 0x0
230 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
232 .insn ss,0xd90000000000,dst(%r2,%r1),src,%r3 # mvck
235 # CHECK: lmd %r2, %r4, src1(%r1), src2(%r1) # encoding: [0xef,0x24,0b0001AAAA,A,0b0001BBBB,B]
236 # CHECK-NEXT: # fixup A - offset: 2, value: src1, kind: FK_390_U12Imm
237 # CHECK-NEXT: # fixup B - offset: 4, value: src2, kind: FK_390_U12Imm
238 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src1 0x0
239 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src2 0x0
241 lmd
%r2, %r4, src1
(%r1), src2
(%r1)
244 # CHECK: pka dst(%r15), src(256,%r15) # encoding: [0xe9,0xff,0b1111AAAA,A,0b1111BBBB,B]
245 # CHECK-NEXT: # fixup A - offset: 2, value: dst, kind: FK_390_U12Imm
246 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
247 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 dst 0x0
248 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
250 pka
dst(%r15), src
(256,%r15)
253 # CHECK: strag dst(%r1), src(%r15) # encoding: [0xe5,0x02,0b0001AAAA,A,0b1111BBBB,B]
254 # CHECK-NEXT: # fixup A - offset: 2, value: dst, kind: FK_390_U12Imm
255 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
256 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 dst 0x0
257 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
259 strag
dst(%r1), src
(%r15)
261 # CHECK: .insn sse,251796752695296,dst(%r1),src(%r15) # encoding: [0xe5,0x02,0b0001AAAA,A,0b1111BBBB,B]
262 # CHECK-NEXT: # fixup A - offset: 2, value: dst, kind: FK_390_U12Imm
263 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
264 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 dst 0x0
265 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
267 .insn sse,0xe50200000000,dst(%r1),src(%r15) # strag
270 # CHECK: ectg src, src(%r15), %r2 # encoding: [0xc8,0x21,0b0000AAAA,A,0b1111BBBB,B]
271 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
272 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
273 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
274 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
276 ectg src
, src
(%r15), %r2
278 # CHECK: .insn ssf,219906620522496,src,src(%r15),%r2 # encoding: [0xc8,0x21,0b0000AAAA,A,0b1111BBBB,B]
279 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
280 # CHECK-NEXT: # fixup B - offset: 4, value: src, kind: FK_390_U12Imm
281 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
282 # CHECK-REL: 0x{{[0-9A-F]*4}} R_390_12 src 0x0
284 .insn ssf,0xc80100000000,src,src(%r15),%r2 # ectg
287 # CHECK: vgeg %v0, src(%v0,%r1), 0 # encoding: [0xe7,0x00,0b0001AAAA,A,0x00,0x12]
288 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U12Imm
289 # CHECK-REL: 0x{{[0-9A-F]*2}} R_390_12 src 0x0
291 vgeg
%v0
, src
(%v0
,%r1), 0
293 ## Fixup for second operand only
294 # CHECK: mvc 32(8,%r0), src # encoding: [0xd2,0x07,0x00,0x20,0b0000AAAA,A]
295 # CHECK-NEXT: # fixup A - offset: 4, value: src, kind: FK_390_U12Imm
300 # CHECK: cli 0(%r1), src # encoding: [0x95,A,0x10,0x00]
301 # CHECK-NEXT: # fixup A - offset: 1, value: src, kind: FK_390_U8Imm
302 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_8 src 0x0
307 # CHECK-NEXT: cli 0(%r1), local_u8-[[L]] # encoding: [0x95,A,0x10,0x00]
308 # CHECK-NEXT: # fixup A - offset: 1, value: local_u8-[[L]], kind: FK_390_U8Imm
309 # CHECK-DIS: 95 04 10 00 cli 0(%r1), 4
311 cli 0(%r1),local_u8-
.
315 # CHECK: asi 0(%r1), src # encoding: [0xeb,A,0x10,0x00,0x00,0x6a]
316 # CHECK-NEXT: # fixup A - offset: 1, value: src, kind: FK_390_S8Imm
317 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_8 src 0x0
322 # CHECK-NEXT: asi 0(%r1), local_s8-[[L]] # encoding: [0xeb,A,0x10,0x00,0x00,0x6a]
323 # CHECK-NEXT: # fixup A - offset: 1, value: local_s8-[[L]], kind: FK_390_S8Imm
324 # CHECK-DIS: eb 06 10 00 00 6a asi 0(%r1), 6
326 asi
0(%r1),local_s8-
.
330 # CHECK: oill %r1, src # encoding: [0xa5,0x1b,A,A]
331 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U16Imm
332 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_16 src 0x0
337 # CHECK-NEXT: oill %r1, local_u16-[[L]] # encoding: [0xa5,0x1b,A,A]
338 # CHECK-NEXT: # fixup A - offset: 2, value: local_u16-[[L]], kind: FK_390_U16Imm
339 # CHECK-DIS: a5 1b 00 04 oill %r1, 4
345 # CHECK-NEXT: oill %r1, src-[[L]] # encoding: [0xa5,0x1b,A,A]
346 # CHECK-NEXT: # fixup A - offset: 2, value: src-[[L]], kind: FK_390_U16Imm
347 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_PC16 src 0x2
352 # CHECK: lghi %r1, src # encoding: [0xa7,0x19,A,A]
353 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S16Imm
354 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_16 src 0x0
359 # CHECK-NEXT: lghi %r1, local_s16-[[L]] # encoding: [0xa7,0x19,A,A]
360 # CHECK-NEXT: # fixup A - offset: 2, value: local_s16-[[L]], kind: FK_390_S16Imm
361 # CHECK-DIS: a7 19 00 04 lghi %r1, 4
367 # CHECK-NEXT: lghi %r1, src-[[L]] # encoding: [0xa7,0x19,A,A]
368 # CHECK-NEXT: # fixup A - offset: 2, value: src-[[L]], kind: FK_390_S16Imm
369 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_PC16 src 0x2
374 # CHECK: clfi %r1, src # encoding: [0xc2,0x1f,A,A,A,A]
375 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_U32Imm
376 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_32 src 0x0
381 # CHECK-NEXT: clfi %r1, local_u32-[[L]] # encoding: [0xc2,0x1f,A,A,A,A]
382 # CHECK-NEXT: # fixup A - offset: 2, value: local_u32-[[L]], kind: FK_390_U32Imm
383 # CHECK-DIS: c2 1f 00 00 00 06 clfi %r1, 6
389 # CHECK: clfi %r1, src-[[L]] # encoding: [0xc2,0x1f,A,A,A,A]
390 # CHECK-NEXT: # fixup A - offset: 2, value: src-[[L]], kind: FK_390_U32Imm
391 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_PC32 src 0x2
396 # CHECK: lgfi %r1, src # encoding: [0xc0,0x11,A,A,A,A]
397 # CHECK-NEXT: # fixup A - offset: 2, value: src, kind: FK_390_S32Imm
398 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_32 src 0x0
403 # CHECK: lgfi %r1, local_s32-[[L]] # encoding: [0xc0,0x11,A,A,A,A]
404 # CHECK-NEXT: # fixup A - offset: 2, value: local_s32-[[L]], kind: FK_390_S32Imm
405 # CHECK-DIS: c0 11 00 00 00 06 lgfi %r1, 6
411 # CHECK: lgfi %r1, src-[[L]] # encoding: [0xc0,0x11,A,A,A,A]
412 # CHECK-NEXT: # fixup A - offset: 2, value: src-[[L]], kind: FK_390_S32Imm
413 # CHECK-REL: 0x{{[0-9A-F]+}} R_390_PC32 src 0x2
418 # llvm-mc does not show any "encoding" string for data, so we just check the relocs
420 # CHECK-REL: .rela.data
423 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LE64 target 0x0
427 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LDO64 target 0x0
431 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LDM64 target 0x0
435 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_GD64 target 0x0
439 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LE32 target 0x0
443 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LDO32 target 0x0
447 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_LDM32 target 0x0
451 # CHECK-REL: 0x{{[0-9A-F]*0}} R_390_TLS_GD32 target 0x0