[X86] X86DAGToDAGISel - attempt to merge XMM/YMM loads with YMM/ZMM loads of the...
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-tls-xcoff-reloc.ll
blob0779686b54f3ac0b917e9db8533e2c1e5a8ced47
1 ; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \
2 ; RUN:     -xcoff-traceback-table=false -data-sections=false -filetype=obj -o %t.o < %s
3 ; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck --check-prefix=RELOC %s
4 ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYM %s
5 ; RUN: llvm-objdump -D -r --symbol-description %t.o | FileCheck --check-prefix=DIS %s
7 @const_ivar = constant i32 6, align 4
8 @GInit = global i32 1, align 4
9 @TGInit = thread_local global i32 1, align 4
10 @TIUninit = internal thread_local global i32 0, align 4
12 ; Function Attrs: nofree norecurse nounwind willreturn writeonly
13 define void @storesTIUninit(i32 %Val) #0 {
14 entry:
15   store i32 %Val, ptr @TIUninit, align 4
16   ret void
19 ; Function Attrs: norecurse nounwind readonly willreturn
20 define i32 @loadsTGInit() #1 {
21 entry:
22   %0 = load i32, ptr @TGInit, align 4
23   %1 = load i32, ptr @GInit, align 4
24   %add = add nsw i32 %1, %0
25   ret i32 %add
28 ; RELOC:      File: {{.*}}aix-tls-xcoff-reloc.ll.tmp.o
29 ; RELOC-NEXT: Format: aixcoff-rs6000
30 ; RELOC-NEXT: Arch: powerpc
31 ; RELOC-NEXT: AddressSize: 32bit
32 ; RELOC-NEXT: Relocations [
33 ; RELOC-NEXT:   Section (index: 1) .text {
34 ; RELOC-NEXT:   Relocation {
35 ; RELOC-NEXT:     Virtual Address: 0xE
36 ; RELOC-NEXT:     Symbol: .TIUninit (23)
37 ; RELOC-NEXT:     IsSigned: No
38 ; RELOC-NEXT:     FixupBitValue: 0
39 ; RELOC-NEXT:     Length: 16
40 ; RELOC-NEXT:     Type: R_TOC (0x3)
41 ; RELOC-NEXT:   }
42 ; RELOC-NEXT:   Relocation {
43 ; RELOC-NEXT:     Virtual Address: 0x12
44 ; RELOC-NEXT:     Symbol: TIUninit (25)
45 ; RELOC-NEXT:     IsSigned: No
46 ; RELOC-NEXT:     FixupBitValue: 0
47 ; RELOC-NEXT:     Length: 16
48 ; RELOC-NEXT:     Type: R_TOC (0x3)
49 ; RELOC-NEXT:   }
50 ; RELOC-NEXT:   Relocation {
51 ; RELOC-NEXT:     Virtual Address: 0x18
52 ; RELOC-NEXT:     Symbol: .__tls_get_addr (1)
53 ; RELOC-NEXT:     IsSigned: No
54 ; RELOC-NEXT:     FixupBitValue: 0
55 ; RELOC-NEXT:     Length: 26
56 ; RELOC-NEXT:     Type: R_RBA (0x18)
57 ; RELOC-NEXT:   }
58 ; RELOC-NEXT:   Relocation {
59 ; RELOC-NEXT:     Virtual Address: 0x3A
60 ; RELOC-NEXT:     Symbol: .TGInit (27)
61 ; RELOC-NEXT:     IsSigned: No
62 ; RELOC-NEXT:     FixupBitValue: 0
63 ; RELOC-NEXT:     Length: 16
64 ; RELOC-NEXT:     Type: R_TOC (0x3)
65 ; RELOC-NEXT:   }
66 ; RELOC-NEXT:   Relocation {
67 ; RELOC-NEXT:     Virtual Address: 0x3E
68 ; RELOC-NEXT:     Symbol: TGInit (29)
69 ; RELOC-NEXT:     IsSigned: No
70 ; RELOC-NEXT:     FixupBitValue: 0
71 ; RELOC-NEXT:     Length: 16
72 ; RELOC-NEXT:     Type: R_TOC (0x3)
73 ; RELOC-NEXT:   }
74 ; RELOC-NEXT:   Relocation {
75 ; RELOC-NEXT:     Virtual Address: 0x44
76 ; RELOC-NEXT:     Symbol: .__tls_get_addr (1)
77 ; RELOC-NEXT:     IsSigned: No
78 ; RELOC-NEXT:     FixupBitValue: 0
79 ; RELOC-NEXT:     Length: 26
80 ; RELOC-NEXT:     Type: R_RBA (0x18)
81 ; RELOC-NEXT:   }
82 ; RELOC-NEXT:   Relocation {
83 ; RELOC-NEXT:     Virtual Address: 0x4A
84 ; RELOC-NEXT:     Symbol: GInit (31)
85 ; RELOC-NEXT:     IsSigned: No
86 ; RELOC-NEXT:     FixupBitValue: 0
87 ; RELOC-NEXT:     Length: 16
88 ; RELOC-NEXT:     Type: R_TOC (0x3)
89 ; RELOC-NEXT:   }
90 ; RELOC-NEXT: }
91 ; RELOC-NEXT: Section (index: 2) .data {
92 ; RELOC-NEXT: Relocation {
93 ; RELOC-NEXT:   Virtual Address: 0x70
94 ; RELOC-NEXT:   Symbol: .storesTIUninit (5)
95 ; RELOC-NEXT:   IsSigned: No
96 ; RELOC-NEXT:   FixupBitValue: 0
97 ; RELOC-NEXT:   Length: 32
98 ; RELOC-NEXT:   Type: R_POS (0x0)
99 ; RELOC-NEXT: }
100 ; RELOC-NEXT: Relocation {
101 ; RELOC-NEXT:   Virtual Address: 0x74
102 ; RELOC-NEXT:   Symbol: TOC (21)
103 ; RELOC-NEXT:   IsSigned: No
104 ; RELOC-NEXT:   FixupBitValue: 0
105 ; RELOC-NEXT:   Length: 32
106 ; RELOC-NEXT:   Type: R_POS (0x0)
107 ; RELOC-NEXT: }
108 ; RELOC-NEXT: Relocation {
109 ; RELOC-NEXT:   Virtual Address: 0x7C
110 ; RELOC-NEXT:   Symbol: .loadsTGInit (7)
111 ; RELOC-NEXT:   IsSigned: No
112 ; RELOC-NEXT:   FixupBitValue: 0
113 ; RELOC-NEXT:   Length: 32
114 ; RELOC-NEXT:   Type: R_POS (0x0)
115 ; RELOC-NEXT: }
116 ; RELOC-NEXT: Relocation {
117 ; RELOC-NEXT:   Virtual Address: 0x80
118 ; RELOC-NEXT:   Symbol: TOC (21)
119 ; RELOC-NEXT:   IsSigned: No
120 ; RELOC-NEXT:   FixupBitValue: 0
121 ; RELOC-NEXT:   Length: 32
122 ; RELOC-NEXT:   Type: R_POS (0x0)
123 ; RELOC-NEXT: }
124 ; RELOC-NEXT: Relocation {
125 ; RELOC-NEXT:   Virtual Address: 0x88
126 ; RELOC-NEXT:   Symbol: TIUninit (37)
127 ; RELOC-NEXT:   IsSigned: No
128 ; RELOC-NEXT:   FixupBitValue: 0
129 ; RELOC-NEXT:   Length: 32
130 ; RELOC-NEXT:   Type: R_TLSM (0x24)
131 ; RELOC-NEXT: }
132 ; RELOC-NEXT: Relocation {
133 ; RELOC-NEXT:   Virtual Address: 0x8C
134 ; RELOC-NEXT:   Symbol: TIUninit (37)
135 ; RELOC-NEXT:   IsSigned: No
136 ; RELOC-NEXT:   FixupBitValue: 0
137 ; RELOC-NEXT:   Length: 32
138 ; RELOC-NEXT:   Type: R_TLS (0x20)
139 ; RELOC-NEXT: }
140 ; RELOC-NEXT: Relocation {
141 ; RELOC-NEXT:   Virtual Address: 0x90
142 ; RELOC-NEXT:   Symbol: TGInit (35)
143 ; RELOC-NEXT:   IsSigned: No
144 ; RELOC-NEXT:   FixupBitValue: 0
145 ; RELOC-NEXT:   Length: 32
146 ; RELOC-NEXT:   Type: R_TLSM (0x24)
147 ; RELOC-NEXT: }
148 ; RELOC-NEXT: Relocation {
149 ; RELOC-NEXT:   Virtual Address: 0x94
150 ; RELOC-NEXT:   Symbol: TGInit (35)
151 ; RELOC-NEXT:   IsSigned: No
152 ; RELOC-NEXT:   FixupBitValue: 0
153 ; RELOC-NEXT:   Length: 32
154 ; RELOC-NEXT:   Type: R_TLS (0x20)
155 ; RELOC-NEXT: }
156 ; RELOC-NEXT: Relocation {
157 ; RELOC-NEXT:   Virtual Address: 0x98
158 ; RELOC-NEXT:   Symbol: GInit (15)
159 ; RELOC-NEXT:   IsSigned: No
160 ; RELOC-NEXT:   FixupBitValue: 0
161 ; RELOC-NEXT:   Length: 32
162 ; RELOC-NEXT:   Type: R_POS (0x0)
163 ; RELOC-NEXT: }
164 ; RELOC-NEXT: }
165 ; RELOC-NEXT: ]
167 ; SYM:      File: {{.*}}aix-tls-xcoff-reloc.ll.tmp.o
168 ; SYM-NEXT: Format: aixcoff-rs6000
169 ; SYM-NEXT: Arch: powerpc
170 ; SYM-NEXT: AddressSize: 32bit
171 ; SYM-NEXT: Symbols [
172 ; SYM-NEXT:   Symbol {
173 ; SYM-NEXT:     Index: 0
174 ; SYM-NEXT:     Name: <stdin>
175 ; SYM-NEXT:     Value (SymbolTableIndex): 0x0
176 ; SYM-NEXT:     Section: N_DEBUG
177 ; SYM-NEXT:     Source Language ID: TB_CPLUSPLUS (0x9)
178 ; SYM-NEXT:     CPU Version ID: TCPU_COM (0x3)
179 ; SYM-NEXT:     StorageClass: C_FILE (0x67)
180 ; SYM-NEXT:     NumberOfAuxEntries: 0
181 ; SYM-NEXT:   }
182 ; SYM-NEXT:   Symbol {
183 ; SYM-NEXT:     Index: 1
184 ; SYM-NEXT:     Name: .__tls_get_addr
185 ; SYM-NEXT:     Value (RelocatableAddress): 0x0
186 ; SYM-NEXT:     Section: N_UNDEF
187 ; SYM-NEXT:     Type: 0x0
188 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
189 ; SYM-NEXT:     NumberOfAuxEntries: 1
190 ; SYM-NEXT:     CSECT Auxiliary Entry {
191 ; SYM-NEXT:       Index: 2
192 ; SYM-NEXT:       SectionLen: 0
193 ; SYM-NEXT:       ParameterHashIndex: 0x0
194 ; SYM-NEXT:       TypeChkSectNum: 0x0
195 ; SYM-NEXT:       SymbolAlignmentLog2: 0
196 ; SYM-NEXT:       SymbolType: XTY_ER (0x0)
197 ; SYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
198 ; SYM-NEXT:       StabInfoIndex: 0x0
199 ; SYM-NEXT:       StabSectNum: 0x0
200 ; SYM-NEXT:     }
201 ; SYM-NEXT:   }
202 ; SYM-NEXT:   Symbol {
203 ; SYM-NEXT:     Index: 3
204 ; SYM-NEXT:     Name:
205 ; SYM-NEXT:     Value (RelocatableAddress): 0x0
206 ; SYM-NEXT:     Section: .text
207 ; SYM-NEXT:     Type: 0x0
208 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
209 ; SYM-NEXT:     NumberOfAuxEntries: 1
210 ; SYM-NEXT:     CSECT Auxiliary Entry {
211 ; SYM-NEXT:       Index: 4
212 ; SYM-NEXT:       SectionLen: 104
213 ; SYM-NEXT:       ParameterHashIndex: 0x0
214 ; SYM-NEXT:       TypeChkSectNum: 0x0
215 ; SYM-NEXT:       SymbolAlignmentLog2: 5
216 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
217 ; SYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
218 ; SYM-NEXT:       StabInfoIndex: 0x0
219 ; SYM-NEXT:       StabSectNum: 0x0
220 ; SYM-NEXT:     }
221 ; SYM-NEXT:   }
222 ; SYM-NEXT:   Symbol {
223 ; SYM-NEXT:     Index: 5
224 ; SYM-NEXT:     Name: .storesTIUninit
225 ; SYM-NEXT:     Value (RelocatableAddress): 0x0
226 ; SYM-NEXT:     Section: .text
227 ; SYM-NEXT:     Type: 0x0
228 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
229 ; SYM-NEXT:     NumberOfAuxEntries: 1
230 ; SYM-NEXT:     CSECT Auxiliary Entry {
231 ; SYM-NEXT:       Index: 6
232 ; SYM-NEXT:       ContainingCsectSymbolIndex: 3
233 ; SYM-NEXT:       ParameterHashIndex: 0x0
234 ; SYM-NEXT:       TypeChkSectNum: 0x0
235 ; SYM-NEXT:       SymbolAlignmentLog2: 0
236 ; SYM-NEXT:       SymbolType: XTY_LD (0x2)
237 ; SYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
238 ; SYM-NEXT:       StabInfoIndex: 0x0
239 ; SYM-NEXT:       StabSectNum: 0x0
240 ; SYM-NEXT:     }
241 ; SYM-NEXT:   }
242 ; SYM-NEXT:   Symbol {
243 ; SYM-NEXT:     Index: 7
244 ; SYM-NEXT:     Name: .loadsTGInit
245 ; SYM-NEXT:     Value (RelocatableAddress): 0x30
246 ; SYM-NEXT:     Section: .text
247 ; SYM-NEXT:     Type: 0x0
248 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
249 ; SYM-NEXT:     NumberOfAuxEntries: 1
250 ; SYM-NEXT:     CSECT Auxiliary Entry {
251 ; SYM-NEXT:       Index: 8
252 ; SYM-NEXT:       ContainingCsectSymbolIndex: 3
253 ; SYM-NEXT:       ParameterHashIndex: 0x0
254 ; SYM-NEXT:       TypeChkSectNum: 0x0
255 ; SYM-NEXT:       SymbolAlignmentLog2: 0
256 ; SYM-NEXT:       SymbolType: XTY_LD (0x2)
257 ; SYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
258 ; SYM-NEXT:       StabInfoIndex: 0x0
259 ; SYM-NEXT:       StabSectNum: 0x0
260 ; SYM-NEXT:     }
261 ; SYM-NEXT:   }
262 ; SYM-NEXT:   Symbol {
263 ; SYM-NEXT:     Index: 9
264 ; SYM-NEXT:     Name: .rodata
265 ; SYM-NEXT:     Value (RelocatableAddress): 0x68
266 ; SYM-NEXT:     Section: .text
267 ; SYM-NEXT:     Type: 0x0
268 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
269 ; SYM-NEXT:     NumberOfAuxEntries: 1
270 ; SYM-NEXT:     CSECT Auxiliary Entry {
271 ; SYM-NEXT:       Index: 10
272 ; SYM-NEXT:       SectionLen: 4
273 ; SYM-NEXT:       ParameterHashIndex: 0x0
274 ; SYM-NEXT:       TypeChkSectNum: 0x0
275 ; SYM-NEXT:       SymbolAlignmentLog2: 2
276 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
277 ; SYM-NEXT:       StorageMappingClass: XMC_RO (0x1)
278 ; SYM-NEXT:       StabInfoIndex: 0x0
279 ; SYM-NEXT:       StabSectNum: 0x0
280 ; SYM-NEXT:     }
281 ; SYM-NEXT:   }
282 ; SYM-NEXT:   Symbol {
283 ; SYM-NEXT:     Index: 11
284 ; SYM-NEXT:     Name: const_ivar
285 ; SYM-NEXT:     Value (RelocatableAddress): 0x68
286 ; SYM-NEXT:     Section: .text
287 ; SYM-NEXT:     Type: 0x0
288 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
289 ; SYM-NEXT:     NumberOfAuxEntries: 1
290 ; SYM-NEXT:     CSECT Auxiliary Entry {
291 ; SYM-NEXT:       Index: 12
292 ; SYM-NEXT:       ContainingCsectSymbolIndex: 9
293 ; SYM-NEXT:       ParameterHashIndex: 0x0
294 ; SYM-NEXT:       TypeChkSectNum: 0x0
295 ; SYM-NEXT:       SymbolAlignmentLog2: 0
296 ; SYM-NEXT:       SymbolType: XTY_LD (0x2)
297 ; SYM-NEXT:       StorageMappingClass: XMC_RO (0x1)
298 ; SYM-NEXT:       StabInfoIndex: 0x0
299 ; SYM-NEXT:       StabSectNum: 0x0
300 ; SYM-NEXT:     }
301 ; SYM-NEXT:   }
302 ; SYM-NEXT:   Symbol {
303 ; SYM-NEXT:     Index: 13
304 ; SYM-NEXT:     Name: .data
305 ; SYM-NEXT:     Value (RelocatableAddress): 0x6C
306 ; SYM-NEXT:     Section: .data
307 ; SYM-NEXT:     Type: 0x0
308 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
309 ; SYM-NEXT:     NumberOfAuxEntries: 1
310 ; SYM-NEXT:     CSECT Auxiliary Entry {
311 ; SYM-NEXT:       Index: 14
312 ; SYM-NEXT:       SectionLen: 4
313 ; SYM-NEXT:       ParameterHashIndex: 0x0
314 ; SYM-NEXT:       TypeChkSectNum: 0x0
315 ; SYM-NEXT:       SymbolAlignmentLog2: 2
316 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
317 ; SYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
318 ; SYM-NEXT:       StabInfoIndex: 0x0
319 ; SYM-NEXT:       StabSectNum: 0x0
320 ; SYM-NEXT:     }
321 ; SYM-NEXT:   }
322 ; SYM-NEXT:   Symbol {
323 ; SYM-NEXT:     Index: 15
324 ; SYM-NEXT:     Name: GInit
325 ; SYM-NEXT:     Value (RelocatableAddress): 0x6C
326 ; SYM-NEXT:     Section: .data
327 ; SYM-NEXT:     Type: 0x0
328 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
329 ; SYM-NEXT:     NumberOfAuxEntries: 1
330 ; SYM-NEXT:     CSECT Auxiliary Entry {
331 ; SYM-NEXT:       Index: 16
332 ; SYM-NEXT:       ContainingCsectSymbolIndex: 13
333 ; SYM-NEXT:       ParameterHashIndex: 0x0
334 ; SYM-NEXT:       TypeChkSectNum: 0x0
335 ; SYM-NEXT:       SymbolAlignmentLog2: 0
336 ; SYM-NEXT:       SymbolType: XTY_LD (0x2)
337 ; SYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
338 ; SYM-NEXT:       StabInfoIndex: 0x0
339 ; SYM-NEXT:       StabSectNum: 0x0
340 ; SYM-NEXT:     }
341 ; SYM-NEXT:   }
342 ; SYM-NEXT:   Symbol {
343 ; SYM-NEXT:     Index: 17
344 ; SYM-NEXT:     Name: storesTIUninit
345 ; SYM-NEXT:     Value (RelocatableAddress): 0x70
346 ; SYM-NEXT:     Section: .data
347 ; SYM-NEXT:     Type: 0x0
348 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
349 ; SYM-NEXT:     NumberOfAuxEntries: 1
350 ; SYM-NEXT:     CSECT Auxiliary Entry {
351 ; SYM-NEXT:       Index: 18
352 ; SYM-NEXT:       SectionLen: 12
353 ; SYM-NEXT:       ParameterHashIndex: 0x0
354 ; SYM-NEXT:       TypeChkSectNum: 0x0
355 ; SYM-NEXT:       SymbolAlignmentLog2: 2
356 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
357 ; SYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
358 ; SYM-NEXT:       StabInfoIndex: 0x0
359 ; SYM-NEXT:       StabSectNum: 0x0
360 ; SYM-NEXT:     }
361 ; SYM-NEXT:   }
362 ; SYM-NEXT:   Symbol {
363 ; SYM-NEXT:     Index: 19
364 ; SYM-NEXT:     Name: loadsTGInit
365 ; SYM-NEXT:     Value (RelocatableAddress): 0x7C
366 ; SYM-NEXT:     Section: .data
367 ; SYM-NEXT:     Type: 0x0
368 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
369 ; SYM-NEXT:     NumberOfAuxEntries: 1
370 ; SYM-NEXT:     CSECT Auxiliary Entry {
371 ; SYM-NEXT:       Index: 20
372 ; SYM-NEXT:       SectionLen: 12
373 ; SYM-NEXT:       ParameterHashIndex: 0x0
374 ; SYM-NEXT:       TypeChkSectNum: 0x0
375 ; SYM-NEXT:       SymbolAlignmentLog2: 2
376 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
377 ; SYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
378 ; SYM-NEXT:       StabInfoIndex: 0x0
379 ; SYM-NEXT:       StabSectNum: 0x0
380 ; SYM-NEXT:     }
381 ; SYM-NEXT:   }
382 ; SYM-NEXT:   Symbol {
383 ; SYM-NEXT:     Index: 21
384 ; SYM-NEXT:     Name: TOC
385 ; SYM-NEXT:     Value (RelocatableAddress): 0x88
386 ; SYM-NEXT:     Section: .data
387 ; SYM-NEXT:     Type: 0x0
388 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
389 ; SYM-NEXT:     NumberOfAuxEntries: 1
390 ; SYM-NEXT:     CSECT Auxiliary Entry {
391 ; SYM-NEXT:       Index: 22
392 ; SYM-NEXT:       SectionLen: 0
393 ; SYM-NEXT:       ParameterHashIndex: 0x0
394 ; SYM-NEXT:       TypeChkSectNum: 0x0
395 ; SYM-NEXT:       SymbolAlignmentLog2: 2
396 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
397 ; SYM-NEXT:       StorageMappingClass: XMC_TC0 (0xF)
398 ; SYM-NEXT:       StabInfoIndex: 0x0
399 ; SYM-NEXT:       StabSectNum: 0x0
400 ; SYM-NEXT:     }
401 ; SYM-NEXT:   }
402 ; SYM-NEXT:   Symbol {
403 ; SYM-NEXT:     Index: 23
404 ; SYM-NEXT:     Name: .TIUninit
405 ; SYM-NEXT:     Value (RelocatableAddress): 0x88
406 ; SYM-NEXT:     Section: .data
407 ; SYM-NEXT:     Type: 0x0
408 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
409 ; SYM-NEXT:     NumberOfAuxEntries: 1
410 ; SYM-NEXT:     CSECT Auxiliary Entry {
411 ; SYM-NEXT:       Index: 24
412 ; SYM-NEXT:       SectionLen: 4
413 ; SYM-NEXT:       ParameterHashIndex: 0x0
414 ; SYM-NEXT:       TypeChkSectNum: 0x0
415 ; SYM-NEXT:       SymbolAlignmentLog2: 2
416 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
417 ; SYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
418 ; SYM-NEXT:       StabInfoIndex: 0x0
419 ; SYM-NEXT:       StabSectNum: 0x0
420 ; SYM-NEXT:     }
421 ; SYM-NEXT:   }
422 ; SYM-NEXT:   Symbol {
423 ; SYM-NEXT:     Index: 25
424 ; SYM-NEXT:     Name: TIUninit
425 ; SYM-NEXT:     Value (RelocatableAddress): 0x8C
426 ; SYM-NEXT:     Section: .data
427 ; SYM-NEXT:     Type: 0x0
428 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
429 ; SYM-NEXT:     NumberOfAuxEntries: 1
430 ; SYM-NEXT:     CSECT Auxiliary Entry {
431 ; SYM-NEXT:       Index: 26
432 ; SYM-NEXT:       SectionLen: 4
433 ; SYM-NEXT:       ParameterHashIndex: 0x0
434 ; SYM-NEXT:       TypeChkSectNum: 0x0
435 ; SYM-NEXT:       SymbolAlignmentLog2: 2
436 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
437 ; SYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
438 ; SYM-NEXT:       StabInfoIndex: 0x0
439 ; SYM-NEXT:       StabSectNum: 0x0
440 ; SYM-NEXT:     }
441 ; SYM-NEXT:   }
442 ; SYM-NEXT:   Symbol {
443 ; SYM-NEXT:     Index: 27
444 ; SYM-NEXT:     Name: .TGInit
445 ; SYM-NEXT:     Value (RelocatableAddress): 0x90
446 ; SYM-NEXT:     Section: .data
447 ; SYM-NEXT:     Type: 0x0
448 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
449 ; SYM-NEXT:     NumberOfAuxEntries: 1
450 ; SYM-NEXT:     CSECT Auxiliary Entry {
451 ; SYM-NEXT:       Index: 28
452 ; SYM-NEXT:       SectionLen: 4
453 ; SYM-NEXT:       ParameterHashIndex: 0x0
454 ; SYM-NEXT:       TypeChkSectNum: 0x0
455 ; SYM-NEXT:       SymbolAlignmentLog2: 2
456 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
457 ; SYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
458 ; SYM-NEXT:       StabInfoIndex: 0x0
459 ; SYM-NEXT:       StabSectNum: 0x0
460 ; SYM-NEXT:     }
461 ; SYM-NEXT:   }
462 ; SYM-NEXT:   Symbol {
463 ; SYM-NEXT:     Index: 29
464 ; SYM-NEXT:     Name: TGInit
465 ; SYM-NEXT:     Value (RelocatableAddress): 0x94
466 ; SYM-NEXT:     Section: .data
467 ; SYM-NEXT:     Type: 0x0
468 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
469 ; SYM-NEXT:     NumberOfAuxEntries: 1
470 ; SYM-NEXT:     CSECT Auxiliary Entry {
471 ; SYM-NEXT:       Index: 30
472 ; SYM-NEXT:       SectionLen: 4
473 ; SYM-NEXT:       ParameterHashIndex: 0x0
474 ; SYM-NEXT:       TypeChkSectNum: 0x0
475 ; SYM-NEXT:       SymbolAlignmentLog2: 2
476 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
477 ; SYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
478 ; SYM-NEXT:       StabInfoIndex: 0x0
479 ; SYM-NEXT:       StabSectNum: 0x0
480 ; SYM-NEXT:     }
481 ; SYM-NEXT:   }
482 ; SYM-NEXT:   Symbol {
483 ; SYM-NEXT:     Index: 31
484 ; SYM-NEXT:     Name: GInit
485 ; SYM-NEXT:     Value (RelocatableAddress): 0x98
486 ; SYM-NEXT:     Section: .data
487 ; SYM-NEXT:     Type: 0x0
488 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
489 ; SYM-NEXT:     NumberOfAuxEntries: 1
490 ; SYM-NEXT:     CSECT Auxiliary Entry {
491 ; SYM-NEXT:       Index: 32
492 ; SYM-NEXT:       SectionLen: 4
493 ; SYM-NEXT:       ParameterHashIndex: 0x0
494 ; SYM-NEXT:       TypeChkSectNum: 0x0
495 ; SYM-NEXT:       SymbolAlignmentLog2: 2
496 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
497 ; SYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
498 ; SYM-NEXT:       StabInfoIndex: 0x0
499 ; SYM-NEXT:       StabSectNum: 0x0
500 ; SYM-NEXT:     }
501 ; SYM-NEXT:   }
502 ; SYM-NEXT:   Symbol {
503 ; SYM-NEXT:     Index: 33
504 ; SYM-NEXT:     Name: .tdata
505 ; SYM-NEXT:     Value (RelocatableAddress): 0x0
506 ; SYM-NEXT:     Section: .tdata
507 ; SYM-NEXT:     Type: 0x0
508 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
509 ; SYM-NEXT:     NumberOfAuxEntries: 1
510 ; SYM-NEXT:     CSECT Auxiliary Entry {
511 ; SYM-NEXT:       Index: 34
512 ; SYM-NEXT:       SectionLen: 4
513 ; SYM-NEXT:       ParameterHashIndex: 0x0
514 ; SYM-NEXT:       TypeChkSectNum: 0x0
515 ; SYM-NEXT:       SymbolAlignmentLog2: 2
516 ; SYM-NEXT:       SymbolType: XTY_SD (0x1)
517 ; SYM-NEXT:       StorageMappingClass: XMC_TL (0x14)
518 ; SYM-NEXT:       StabInfoIndex: 0x0
519 ; SYM-NEXT:       StabSectNum: 0x0
520 ; SYM-NEXT:     }
521 ; SYM-NEXT:   }
522 ; SYM-NEXT:   Symbol {
523 ; SYM-NEXT:     Index: 35
524 ; SYM-NEXT:     Name: TGInit
525 ; SYM-NEXT:     Value (RelocatableAddress): 0x0
526 ; SYM-NEXT:     Section: .tdata
527 ; SYM-NEXT:     Type: 0x0
528 ; SYM-NEXT:     StorageClass: C_EXT (0x2)
529 ; SYM-NEXT:     NumberOfAuxEntries: 1
530 ; SYM-NEXT:     CSECT Auxiliary Entry {
531 ; SYM-NEXT:       Index: 36
532 ; SYM-NEXT:       ContainingCsectSymbolIndex: 33
533 ; SYM-NEXT:       ParameterHashIndex: 0x0
534 ; SYM-NEXT:       TypeChkSectNum: 0x0
535 ; SYM-NEXT:       SymbolAlignmentLog2: 0
536 ; SYM-NEXT:       SymbolType: XTY_LD (0x2)
537 ; SYM-NEXT:       StorageMappingClass: XMC_TL (0x14)
538 ; SYM-NEXT:       StabInfoIndex: 0x0
539 ; SYM-NEXT:       StabSectNum: 0x0
540 ; SYM-NEXT:     }
541 ; SYM-NEXT:   }
542 ; SYM-NEXT:   Symbol {
543 ; SYM-NEXT:     Index: 37
544 ; SYM-NEXT:     Name: TIUninit
545 ; SYM-NEXT:     Value (RelocatableAddress): 0x4
546 ; SYM-NEXT:     Section: .tbss
547 ; SYM-NEXT:     Type: 0x0
548 ; SYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
549 ; SYM-NEXT:     NumberOfAuxEntries: 1
550 ; SYM-NEXT:     CSECT Auxiliary Entry {
551 ; SYM-NEXT:       Index: 38
552 ; SYM-NEXT:       SectionLen: 4
553 ; SYM-NEXT:       ParameterHashIndex: 0x0
554 ; SYM-NEXT:       TypeChkSectNum: 0x0
555 ; SYM-NEXT:       SymbolAlignmentLog2: 2
556 ; SYM-NEXT:       SymbolType: XTY_CM (0x3)
557 ; SYM-NEXT:       StorageMappingClass: XMC_UL (0x15)
558 ; SYM-NEXT:       StabInfoIndex: 0x0
559 ; SYM-NEXT:       StabSectNum: 0x0
560 ; SYM-NEXT:     }
561 ; SYM-NEXT:   }
562 ; SYM-NEXT: ]
564 ; DIS:      {{.*}}aix-tls-xcoff-reloc.ll.tmp.o: file format aixcoff-rs6000
565 ; DIS:      Disassembly of section .text:
566 ; DIS:      00000000 (idx: 5) .storesTIUninit:
567 ; DIS-NEXT:                                      mflr 0
568 ; DIS-NEXT:                                      stwu 1, -32(1)
569 ; DIS-NEXT:                                      mr 6, 3
570 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               lwz 3, 0(2)
571 ; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOC (idx: 23) .TIUninit[TC]
572 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               lwz 4, 4(2)
573 ; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOC (idx: 25) TIUninit[TC]
574 ; DIS-NEXT:                                      stw 0, 40(1)
575 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               bla 0
576 ; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: 1)      .__tls_get_addr[PR]
577 ; DIS-NEXT:                                      stw 6, 0(3)
578 ; DIS-NEXT:                                      addi 1, 1, 32
579 ; DIS-NEXT:                                      lwz 0, 8(1)
580 ; DIS-NEXT:                                      mtlr 0
581 ; DIS-NEXT:                                      blr
582 ; DIS:      00000030 (idx: 7) .loadsTGInit:
583 ; DIS-NEXT:                                      mflr 0
584 ; DIS-NEXT:                                      stwu 1, -32(1)
585 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               lwz 3, 8(2)
586 ; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOC (idx: 27) .TGInit[TC]
587 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               lwz 4, 12(2)
588 ; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOC (idx: 29) TGInit[TC]
589 ; DIS-NEXT:                                      stw 0, 40(1)
590 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               bla 0
591 ; DIS-NEXT: {{0*}}[[#ADDR]]: R_RBA (idx: 1)      .__tls_get_addr[PR]
592 ; DIS-NEXT: [[#%x, ADDR:]]: {{.*}}               lwz 4, 16(2)
593 ; DIS-NEXT: {{0*}}[[#ADDR + 2]]: R_TOC (idx: 31) GInit[TC]
594 ; DIS-NEXT:                                      lwz 3, 0(3)
595 ; DIS-NEXT:                                      lwz 4, 0(4)
596 ; DIS-NEXT:                                      add 3, 4, 3
597 ; DIS-NEXT:                                      addi 1, 1, 32
598 ; DIS-NEXT:                                      lwz 0, 8(1)
599 ; DIS-NEXT:                                      mtlr 0
600 ; DIS-NEXT:                                      blr
601 ; DIS:      00000068 (idx: 11) const_ivar:
602 ; DIS-NEXT:       68: 00 00 00 06
604 ; DIS:      Disassembly of section .data:
605 ; DIS:      0000006c  (idx: 15) GInit:
606 ; DIS-NEXT:       6c: 00 00 00 01
607 ; DIS:      00000070  (idx: 17) storesTIUninit[DS]:
608 ; DIS-NEXT:       70: 00 00 00 00
609 ; DIS-NEXT: 00000070: R_POS (idx: 5) .storesTIUninit
610 ; DIS-NEXT:       74: 00 00 00 88
611 ; DIS-NEXT: 00000074: R_POS (idx: 21) TOC[TC0]
612 ; DIS-NEXT:       78: 00 00 00 00
613 ; DIS:      0000007c  (idx: 19) loadsTGInit[DS]:
614 ; DIS-NEXT:       7c: 00 00 00 30
615 ; DIS-NEXT: 0000007c: R_POS (idx: 7) .loadsTGInit
616 ; DIS-NEXT:       80: 00 00 00 88
617 ; DIS-NEXT: 00000080: R_POS (idx: 21) TOC[TC0]
618 ; DIS-NEXT:       84: 00 00 00 00
619 ; DIS:      00000088  (idx: 23) .TIUninit[TC]:
620 ; DIS-NEXT:       88: 00 00 00 00
621 ; DIS-NEXT: 00000088: R_TLSM (idx: 37) TIUninit[UL]
622 ; DIS:      0000008c  (idx: 25) TIUninit[TC]:
623 ; DIS-NEXT:       8c: 00 00 00 04
624 ; DIS-NEXT: 0000008c: R_TLS (idx: 37) TIUninit[UL]
625 ; DIS:      00000090  (idx: 27) .TGInit[TC]:
626 ; DIS-NEXT:       90: 00 00 00 00
627 ; DIS-NEXT: 00000090: R_TLSM (idx: 35) TGInit
628 ; DIS:      00000094  (idx: 29) TGInit[TC]:
629 ; DIS-NEXT:       94: 00 00 00 00
630 ; DIS-NEXT: 00000094: R_TLS (idx: 35) TGInit
631 ; DIS:      00000098  (idx: 31) GInit[TC]:
632 ; DIS-NEXT:       98: 00 00 00 6c
633 ; DIS-NEXT: 00000098: R_POS (idx: 15) GInit
635 ; DIS:      Disassembly of section .tdata:
636 ; DIS:      00000000 (idx: 35) TGInit:
637 ; DIS-NEXT:        0: 00 00 00 01
639 ; DIS:      Disassembly of section .tbss:
640 ; DIS:      00000004 (idx: 37) TIUninit[UL]:
641 ; DIS-NEXT: ...
643 attributes #0 = { nofree norecurse nounwind willreturn writeonly "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="pwr4" "target-features"="-altivec,-bpermd,-crypto,-direct-move,-extdiv,-float128,-htm,-mma,-paired-vector-memops,-power10-vector,-power8-vector,-power9-vector,-spe,-vsx" }
644 attributes #1 = { norecurse nounwind readonly willreturn "frame-pointer"="none" "no-trapping-math"="true" "stack-protector-buffer-size"="8" "target-cpu"="pwr4" "target-features"="-altivec,-bpermd,-crypto,-direct-move,-extdiv,-float128,-htm,-mma,-paired-vector-memops,-power10-vector,-power8-vector,-power9-vector,-spe,-vsx" }