[ORC] Add std::tuple support to SimplePackedSerialization.
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-tls-xcoff-variables.ll
blob28cc3c0668a62d86af1eafdc071cc51d3af3f396
1 ; This file tests the codegen of tls variables in AIX XCOFF object files
3 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
4 ; RUN: llvm-readobj --section-headers %t.o | FileCheck --check-prefix=SECTION %s
5 ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS-DATASECT %s
6 ; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefixes=OBJDUMP-DATASECT %s
8 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
9 ; RUN: llvm-readobj --section-headers %t.o | FileCheck --check-prefix=SECTION %s
10 ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS-NODATASECT %s
11 ; RUN: llvm-objdump -D --symbol-description %t.o | FileCheck --check-prefixes=OBJDUMP-NODATASECT %s
13 ; RUN: not --crash llc -mtriple powerpc64-ibm-aix-xcoff -filetype=obj < %s 2>&1 | FileCheck --check-prefix=XCOFF64 %s
14 ; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
16 ; SECTION:      File: {{.*}}aix-tls-xcoff-variables.ll.tmp.o
17 ; SECTION-NEXT: Format: aixcoff-rs6000
18 ; SECTION-NEXT: Arch: powerpc
19 ; SECTION-NEXT: AddressSize: 32bit
20 ; SECTION-NEXT: Sections [
21 ; SECTION-NEXT:   Section {
22 ; SECTION-NEXT:     Index: 1
23 ; SECTION-NEXT:     Name: .text
24 ; SECTION-NEXT:     PhysicalAddress: 0x0
25 ; SECTION-NEXT:     VirtualAddress: 0x0
26 ; SECTION-NEXT:     Size: 0x4
27 ; SECTION-NEXT:     RawDataOffset: 0x8C
28 ; SECTION-NEXT:     RelocationPointer: 0x0
29 ; SECTION-NEXT:     LineNumberPointer: 0x0
30 ; SECTION-NEXT:     NumberOfRelocations: 0
31 ; SECTION-NEXT:     NumberOfLineNumbers: 0
32 ; SECTION-NEXT:     Type: STYP_TEXT (0x20)
33 ; SECTION-NEXT:   }
34 ; SECTION-NEXT:   Section {
35 ; SECTION-NEXT:     Index: 2
36 ; SECTION-NEXT:     Name: .tdata
37 ; SECTION-NEXT:     PhysicalAddress: 0x0
38 ; SECTION-NEXT:     VirtualAddress: 0x0
39 ; SECTION-NEXT:     Size: 0x30
40 ; SECTION-NEXT:     RawDataOffset: 0x90
41 ; SECTION-NEXT:     RelocationPointer: 0x0
42 ; SECTION-NEXT:     LineNumberPointer: 0x0
43 ; SECTION-NEXT:     NumberOfRelocations: 0
44 ; SECTION-NEXT:     NumberOfLineNumbers: 0
45 ; SECTION-NEXT:     Type: STYP_TDATA (0x400)
46 ; SECTION-NEXT:   }
47 ; SECTION-NEXT:   Section {
48 ; SECTION-NEXT:     Index: 3
49 ; SECTION-NEXT:     Name: .tbss
50 ; SECTION-NEXT:     PhysicalAddress: 0x30
51 ; SECTION-NEXT:     VirtualAddress: 0x30
52 ; SECTION-NEXT:     Size: 0x18
53 ; SECTION-NEXT:     RawDataOffset: 0x0
54 ; SECTION-NEXT:     RelocationPointer: 0x0
55 ; SECTION-NEXT:     LineNumberPointer: 0x0
56 ; SECTION-NEXT:     NumberOfRelocations: 0
57 ; SECTION-NEXT:     NumberOfLineNumbers: 0
58 ; SECTION-NEXT:     Type: STYP_TBSS (0x800)
59 ; SECTION-NEXT:   }
60 ; SECTION-NEXT: ]
63 ; SYMS:      File: {{.*}}aix-tls-xcoff-variables.ll.tmp.o
64 ; SYMS-NEXT: Format: aixcoff-rs6000
65 ; SYMS-NEXT: Arch: powerpc
66 ; SYMS-NEXT: AddressSize: 32bit
67 ; SYMS-NEXT: Symbols [
68 ; SYMS-NEXT:   Symbol {
69 ; SYMS-NEXT:     Index: 0
70 ; SYMS-NEXT:     Name: .file
71 ; SYMS-NEXT:     Value (SymbolTableIndex): 0x0
72 ; SYMS-NEXT:     Section: N_DEBUG
73 ; SYMS-NEXT:     Source Language ID: TB_C (0x0)
74 ; SYMS-NEXT:     CPU Version ID: 0x0
75 ; SYMS-NEXT:     StorageClass: C_FILE (0x67)
76 ; SYMS-NEXT:     NumberOfAuxEntries: 0
77 ; SYMS-NEXT:   }
78 ; SYMS-NEXT:   Symbol {
79 ; SYMS-NEXT:     Index: [[#INDX:]]
80 ; SYMS-NEXT:     Name: tls_global_int_external_uninitialized
81 ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
82 ; SYMS-NEXT:     Section: N_UNDEF
83 ; SYMS-NEXT:     Type: 0x0
84 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
85 ; SYMS-NEXT:     NumberOfAuxEntries: 1
86 ; SYMS-NEXT:     CSECT Auxiliary Entry {
87 ; SYMS-NEXT:       Index: [[#INDX+1]]
88 ; SYMS-NEXT:       SectionLen: 0
89 ; SYMS-NEXT:       ParameterHashIndex: 0x0
90 ; SYMS-NEXT:       TypeChkSectNum: 0x0
91 ; SYMS-NEXT:       SymbolAlignmentLog2: 0
92 ; SYMS-NEXT:       SymbolType: XTY_ER (0x0)
93 ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
94 ; SYMS-NEXT:       StabInfoIndex: 0x0
95 ; SYMS-NEXT:       StabSectNum: 0x0
96 ; SYMS-NEXT:     }
97 ; SYMS-NEXT:   }
98 ; SYMS-NEXT:   Symbol {
99 ; SYMS-NEXT:     Index: [[#INDX+2]]
100 ; SYMS-NEXT:     Name: tls_global_double_external_uninitialized
101 ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
102 ; SYMS-NEXT:     Section: N_UNDEF
103 ; SYMS-NEXT:     Type: 0x0
104 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
105 ; SYMS-NEXT:     NumberOfAuxEntries: 1
106 ; SYMS-NEXT:     CSECT Auxiliary Entry {
107 ; SYMS-NEXT:       Index: [[#INDX+3]]
108 ; SYMS-NEXT:       SectionLen: 0
109 ; SYMS-NEXT:       ParameterHashIndex: 0x0
110 ; SYMS-NEXT:       TypeChkSectNum: 0x0
111 ; SYMS-NEXT:       SymbolAlignmentLog2: 0
112 ; SYMS-NEXT:       SymbolType: XTY_ER (0x0)
113 ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
114 ; SYMS-NEXT:       StabInfoIndex: 0x0
115 ; SYMS-NEXT:       StabSectNum: 0x0
116 ; SYMS-NEXT:     }
117 ; SYMS-NEXT:   }
119 ; SYMS-NEXT:   Symbol {
120 ; SYMS-NEXT:     Index: [[#INDX+4]]
121 ; SYMS-NEXT:     Name: .text
122 ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
123 ; SYMS-NEXT:     Section: .text
124 ; SYMS-NEXT:     Type: 0x0
125 ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
126 ; SYMS-NEXT:     NumberOfAuxEntries: 1
127 ; SYMS-NEXT:     CSECT Auxiliary Entry {
128 ; SYMS-NEXT:       Index: [[#INDX+5]]
129 ; SYMS-NEXT:       SectionLen: 0
130 ; SYMS-NEXT:       ParameterHashIndex: 0x0
131 ; SYMS-NEXT:       TypeChkSectNum: 0x0
132 ; SYMS-NEXT:       SymbolAlignmentLog2: 2
133 ; SYMS-NEXT:       SymbolType: XTY_SD (0x1)
134 ; SYMS-NEXT:       StorageMappingClass: XMC_PR (0x0)
135 ; SYMS-NEXT:       StabInfoIndex: 0x0
136 ; SYMS-NEXT:       StabSectNum: 0x0
137 ; SYMS-NEXT:     }
138 ; SYMS-NEXT:   }
140 ; SYMS-NODATASECT:        Symbol {
141 ; SYMS-NODATASECT-NEXT:     Index: [[#INDX+6]]
142 ; SYMS-NODATASECT-NEXT:     Name: .rodata
143 ; SYMS-NODATASECT-NEXT:     Value (RelocatableAddress): 0x0
144 ; SYMS-NODATASECT-NEXT:     Section: .text
145 ; SYMS-NODATASECT-NEXT:     Type: 0x0
146 ; SYMS-NODATASECT-NEXT:     StorageClass: C_HIDEXT (0x6B)
147 ; SYMS-NODATASECT-NEXT:     NumberOfAuxEntries: 1
148 ; SYMS-NODATASECT-NEXT:     CSECT Auxiliary Entry {
149 ; SYMS-NODATASECT-NEXT:       Index: [[#INDX+7]]
150 ; SYMS-NODATASECT-NEXT:       SectionLen: 4
151 ; SYMS-NODATASECT-NEXT:       ParameterHashIndex: 0x0
152 ; SYMS-NODATASECT-NEXT:       TypeChkSectNum: 0x0
153 ; SYMS-NODATASECT-NEXT:       SymbolAlignmentLog2: 2
154 ; SYMS-NODATASECT-NEXT:       SymbolType: XTY_SD (0x1)
155 ; SYMS-NODATASECT-NEXT:       StorageMappingClass: XMC_RO (0x1)
156 ; SYMS-NODATASECT-NEXT:       StabInfoIndex: 0x0
157 ; SYMS-NODATASECT-NEXT:       StabSectNum: 0x0
158 ; SYMS-NODATASECT-NEXT:     }
159 ; SYMS-NODATASECT-NEXT:   }
161 ; SYMS:        Symbol {
162 ; SYMS-DATASECT:   Index: [[#INDX+6]]
163 ; SYMS-NODATASECT: Index: [[#INDX+8]]
164 ; SYMS-NEXT:     Name: const_ivar
165 ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
166 ; SYMS-NEXT:     Section: .text
167 ; SYMS-NEXT:     Type: 0x0
168 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
169 ; SYMS-NEXT:     NumberOfAuxEntries: 1
170 ; SYMS-NEXT:     CSECT Auxiliary Entry {
171 ; SYMS-DATASECT:        Index: [[#INDX+7]]
172 ; SYMS-DATASECT-NEXT:   SectionLen: 4
173 ; SYMS-NODATASECT:      Index: [[#INDX+9]]
174 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]]
175 ; SYMS:            ParameterHashIndex: 0x0
176 ; SYMS-NEXT:       TypeChkSectNum: 0x0
177 ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
178 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
179 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
180 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
181 ; SYMS:            StorageMappingClass: XMC_RO (0x1)
182 ; SYMS-NEXT:       StabInfoIndex: 0x0
183 ; SYMS-NEXT:       StabSectNum: 0x0
184 ; SYMS-NEXT:     }
185 ; SYMS-NEXT:   }
187 ; SYMS-NODATASECT:        Symbol {
188 ; SYMS-NODATASECT-NEXT:     Index: [[#INDX+10]]
189 ; SYMS-NODATASECT-NEXT:     Name: .tdata
190 ; SYMS-NODATASECT-NEXT:     Value (RelocatableAddress): 0x0
191 ; SYMS-NODATASECT-NEXT:     Section: .tdata
192 ; SYMS-NODATASECT-NEXT:     Type: 0x0
193 ; SYMS-NODATASECT-NEXT:     StorageClass: C_HIDEXT (0x6B)
194 ; SYMS-NODATASECT-NEXT:     NumberOfAuxEntries: 1
195 ; SYMS-NODATASECT-NEXT:     CSECT Auxiliary Entry {
196 ; SYMS-NODATASECT-NEXT:       Index: [[#INDX+11]]
197 ; SYMS-NODATASECT-NEXT:       SectionLen: 48
198 ; SYMS-NODATASECT-NEXT:       ParameterHashIndex: 0x0
199 ; SYMS-NODATASECT-NEXT:       TypeChkSectNum: 0x0
200 ; SYMS-NODATASECT-NEXT:       SymbolAlignmentLog2: 3
201 ; SYMS-NODATASECT-NEXT:       SymbolType: XTY_SD (0x1)
202 ; SYMS-NODATASECT-NEXT:       StorageMappingClass: XMC_TL (0x14)
203 ; SYMS-NODATASECT-NEXT:       StabInfoIndex: 0x0
204 ; SYMS-NODATASECT-NEXT:       StabSectNum: 0x0
205 ; SYMS-NODATASECT-NEXT:     }
206 ; SYMS-NODATASECT-NEXT:   }
208 ; SYMS:        Symbol {
209 ; SYMS-DATASECT:   Index: [[#INDX+8]]
210 ; SYMS-NODATASECT: Index: [[#INDX+12]]
211 ; SYMS:          Name: tls_global_int_external_val_initialized
212 ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
213 ; SYMS-NEXT:     Section: .tdata
214 ; SYMS-NEXT:     Type: 0x0
215 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
216 ; SYMS-NEXT:     NumberOfAuxEntries: 1
217 ; SYMS-NEXT:     CSECT Auxiliary Entry {
218 ; SYMS-DATASECT:        Index: [[#INDX+9]]
219 ; SYMS-DATASECT-NEXT:   SectionLen: 4
220 ; SYMS-NODATASECT:      Index: [[#INDX+13]]
221 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
222 ; SYMS:            ParameterHashIndex: 0x0
223 ; SYMS-NEXT:       TypeChkSectNum: 0x0
224 ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
225 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
226 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
227 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
228 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
229 ; SYMS-NEXT:       StabInfoIndex: 0x0
230 ; SYMS-NEXT:       StabSectNum: 0x0
231 ; SYMS-NEXT:     }
232 ; SYMS-NEXT:   }
234 ; SYMS:        Symbol {
235 ; SYMS-DATASECT:   Index: [[#INDX+10]]
236 ; SYMS-NODATASECT: Index: [[#INDX+14]]
237 ; SYMS:          Name: tls_global_alias_int_external_val_initialized
238 ; SYMS-NEXT:     Value (RelocatableAddress): 0x0
239 ; SYMS-NEXT:     Section: .tdata
240 ; SYMS-NEXT:     Type: 0x0
241 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
242 ; SYMS-NEXT:     NumberOfAuxEntries: 1
243 ; SYMS-NEXT:     CSECT Auxiliary Entry {
244 ; SYMS-DATASECT:        Index: [[#INDX+11]]
245 ; SYMS-DATASECT-NEXT:   ContainingCsectSymbolIndex: [[#INDX+8]]
246 ; SYMS-NODATASECT:      Index: [[#INDX+15]]
247 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
248 ; SYMS:            ParameterHashIndex: 0x0
249 ; SYMS-NEXT:       TypeChkSectNum: 0x0
250 ; SYMS-NEXT:       SymbolAlignmentLog2: 0
251 ; SYMS-NEXT:       SymbolType: XTY_LD (0x2)
252 ; SYMS-NEXT:       StorageMappingClass: XMC_TL (0x14)
253 ; SYMS-NEXT:       StabInfoIndex: 0x0
254 ; SYMS-NEXT:       StabSectNum: 0x0
255 ; SYMS-NEXT:     }
256 ; SYMS-NEXT:   }
258 ; SYMS:        Symbol {
259 ; SYMS-DATASECT:   Index: [[#INDX+12]]
260 ; SYMS-NODATASECT: Index: [[#INDX+16]]
261 ; SYMS:          Name: tls_global_int_external_zero_initialized
262 ; SYMS-NEXT:     Value (RelocatableAddress): 0x4
263 ; SYMS-NEXT:     Section: .tdata
264 ; SYMS-NEXT:     Type: 0x0
265 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
266 ; SYMS-NEXT:     NumberOfAuxEntries: 1
267 ; SYMS-NEXT:     CSECT Auxiliary Entry {
268 ; SYMS-DATASECT:        Index: [[#INDX+13]]
269 ; SYMS-DATASECT-NEXT:   SectionLen: 4
270 ; SYMS-NODATASECT:      Index: [[#INDX+17]]
271 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
272 ; SYMS:            ParameterHashIndex: 0x0
273 ; SYMS-NEXT:       TypeChkSectNum: 0x0
274 ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
275 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
276 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
277 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
278 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
279 ; SYMS-NEXT:       StabInfoIndex: 0x0
280 ; SYMS-NEXT:       StabSectNum: 0x0
281 ; SYMS-NEXT:     }
282 ; SYMS-NEXT:   }
284 ; SYMS:        Symbol {
285 ; SYMS-DATASECT:   Index: [[#INDX+14]]
286 ; SYMS-NODATASECT: Index: [[#INDX+18]]
287 ; SYMS:          Name: tls_global_int_local_val_initialized
288 ; SYMS-NEXT:     Value (RelocatableAddress): 0x8
289 ; SYMS-NEXT:     Section: .tdata
290 ; SYMS-NEXT:     Type: 0x0
291 ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
292 ; SYMS-NEXT:     NumberOfAuxEntries: 1
293 ; SYMS-NEXT:     CSECT Auxiliary Entry {
294 ; SYMS-DATASECT:        Index: [[#INDX+15]]
295 ; SYMS-DATASECT-NEXT:   SectionLen: 4
296 ; SYMS-NODATASECT:      Index: [[#INDX+19]]
297 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
298 ; SYMS:            ParameterHashIndex: 0x0
299 ; SYMS-NEXT:       TypeChkSectNum: 0x0
300 ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
301 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
302 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
303 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
304 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
305 ; SYMS-NEXT:       StabInfoIndex: 0x0
306 ; SYMS-NEXT:       StabSectNum: 0x0
307 ; SYMS-NEXT:     }
308 ; SYMS-NEXT:   }
310 ; SYMS:        Symbol {
311 ; SYMS-DATASECT:   Index: [[#INDX+16]]
312 ; SYMS-NODATASECT: Index: [[#INDX+20]]
313 ; SYMS:          Name: tls_global_int_weak_zero_initialized
314 ; SYMS-NEXT:     Value (RelocatableAddress): 0xC
315 ; SYMS-NEXT:     Section: .tdata
316 ; SYMS-NEXT:     Type: 0x0
317 ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
318 ; SYMS-NEXT:     NumberOfAuxEntries: 1
319 ; SYMS-NEXT:     CSECT Auxiliary Entry {
320 ; SYMS-DATASECT:        Index: [[#INDX+17]]
321 ; SYMS-DATASECT-NEXT:   SectionLen: 4
322 ; SYMS-NODATASECT:      Index: [[#INDX+21]]
323 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
324 ; SYMS:            ParameterHashIndex: 0x0
325 ; SYMS-NEXT:       TypeChkSectNum: 0x0
326 ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
327 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
328 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
329 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
330 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
331 ; SYMS-NEXT:       StabInfoIndex: 0x0
332 ; SYMS-NEXT:       StabSectNum: 0x0
333 ; SYMS-NEXT:     }
334 ; SYMS-NEXT:   }
336 ; SYMS:        Symbol {
337 ; SYMS-DATASECT:   Index: [[#INDX+18]]
338 ; SYMS-NODATASECT: Index: [[#INDX+22]]
339 ; SYMS:          Name: tls_global_int_weak_val_initialized
340 ; SYMS-NEXT:     Value (RelocatableAddress): 0x10
341 ; SYMS-NEXT:     Section: .tdata
342 ; SYMS-NEXT:     Type: 0x0
343 ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
344 ; SYMS-NEXT:     NumberOfAuxEntries: 1
345 ; SYMS-NEXT:     CSECT Auxiliary Entry {
346 ; SYMS-DATASECT:        Index: [[#INDX+19]]
347 ; SYMS-DATASECT-NEXT:   SectionLen: 4
348 ; SYMS-NODATASECT:      Index: [[#INDX+23]]
349 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
350 ; SYMS:            ParameterHashIndex: 0x0
351 ; SYMS-NEXT:       TypeChkSectNum: 0x0
352 ; SYMS-DATASECT:        SymbolAlignmentLog2: 2
353 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
354 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
355 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
356 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
357 ; SYMS-NEXT:       StabInfoIndex: 0x0
358 ; SYMS-NEXT:       StabSectNum: 0x0
359 ; SYMS-NEXT:     }
360 ; SYMS-NEXT:   }
362 ; SYMS:        Symbol {
363 ; SYMS-DATASECT:   Index: [[#INDX+20]]
364 ; SYMS-NODATASECT: Index: [[#INDX+24]]
365 ; SYMS:          Name: tls_global_long_long_internal_val_initialized
366 ; SYMS-NEXT:     Value (RelocatableAddress): 0x18
367 ; SYMS-NEXT:     Section: .tdata
368 ; SYMS-NEXT:     Type: 0x0
369 ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
370 ; SYMS-NEXT:     NumberOfAuxEntries: 1
371 ; SYMS-NEXT:     CSECT Auxiliary Entry {
372 ; SYMS-DATASECT:        Index: [[#INDX+21]]
373 ; SYMS-DATASECT-NEXT:   SectionLen: 8
374 ; SYMS-NODATASECT:      Index: [[#INDX+25]]
375 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
376 ; SYMS:            ParameterHashIndex: 0x0
377 ; SYMS-NEXT:       TypeChkSectNum: 0x0
378 ; SYMS-DATASECT:        SymbolAlignmentLog2: 3
379 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
380 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
381 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
382 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
383 ; SYMS-NEXT:       StabInfoIndex: 0x0
384 ; SYMS-NEXT:       StabSectNum: 0x0
385 ; SYMS-NEXT:     }
386 ; SYMS-NEXT:   }
388 ; SYMS:        Symbol {
389 ; SYMS-DATASECT:   Index: [[#INDX+22]]
390 ; SYMS-NODATASECT: Index: [[#INDX+26]]
391 ; SYMS:          Name: tls_global_long_long_weak_val_initialized
392 ; SYMS-NEXT:     Value (RelocatableAddress): 0x20
393 ; SYMS-NEXT:     Section: .tdata
394 ; SYMS-NEXT:     Type: 0x0
395 ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
396 ; SYMS-NEXT:     NumberOfAuxEntries: 1
397 ; SYMS-NEXT:     CSECT Auxiliary Entry {
398 ; SYMS-DATASECT:        Index: [[#INDX+23]]
399 ; SYMS-DATASECT-NEXT:   SectionLen: 8
400 ; SYMS-NODATASECT:      Index: [[#INDX+27]]
401 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
402 ; SYMS:            ParameterHashIndex: 0x0
403 ; SYMS-NEXT:       TypeChkSectNum: 0x0
404 ; SYMS-DATASECT:        SymbolAlignmentLog2: 3
405 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
406 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
407 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
408 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
409 ; SYMS-NEXT:       StabInfoIndex: 0x0
410 ; SYMS-NEXT:       StabSectNum: 0x0
411 ; SYMS-NEXT:     }
412 ; SYMS-NEXT:   }
414 ; SYMS:        Symbol {
415 ; SYMS-DATASECT:   Index: [[#INDX+24]]
416 ; SYMS-NODATASECT: Index: [[#INDX+28]]
417 ; SYMS:          Name: tls_global_long_long_weak_zero_initialized
418 ; SYMS-NEXT:     Value (RelocatableAddress): 0x28
419 ; SYMS-NEXT:     Section: .tdata
420 ; SYMS-NEXT:     Type: 0x0
421 ; SYMS-NEXT:     StorageClass: C_WEAKEXT (0x6F)
422 ; SYMS-NEXT:     NumberOfAuxEntries: 1
423 ; SYMS-NEXT:     CSECT Auxiliary Entry {
424 ; SYMS-DATASECT:        Index: [[#INDX+25]]
425 ; SYMS-DATASECT-NEXT:   SectionLen: 8
426 ; SYMS-NODATASECT:      Index: [[#INDX+29]]
427 ; SYMS-NODATASECT-NEXT: ContainingCsectSymbolIndex: [[#INDX+10]]
428 ; SYMS:            ParameterHashIndex: 0x0
429 ; SYMS-NEXT:       TypeChkSectNum: 0x0
430 ; SYMS-DATASECT:        SymbolAlignmentLog2: 3
431 ; SYMS-DATASECT-NEXT:   SymbolType: XTY_SD (0x1)
432 ; SYMS-NODATASECT:      SymbolAlignmentLog2: 0
433 ; SYMS-NODATASECT-NEXT: SymbolType: XTY_LD (0x2)
434 ; SYMS:            StorageMappingClass: XMC_TL (0x14)
435 ; SYMS-NEXT:       StabInfoIndex: 0x0
436 ; SYMS-NEXT:       StabSectNum: 0x0
437 ; SYMS-NEXT:     }
438 ; SYMS-NEXT:   }
440 ; SYMS:        Symbol {
441 ; SYMS-DATASECT:   Index: [[#INDX+26]]
442 ; SYMS-NODATASECT: Index: [[#INDX+30]]
443 ; SYMS:          Name: tls_global_int_local_zero_initialized
444 ; SYMS-NEXT:     Value (RelocatableAddress): 0x30
445 ; SYMS-NEXT:     Section: .tbss
446 ; SYMS-NEXT:     Type: 0x0
447 ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
448 ; SYMS-NEXT:     NumberOfAuxEntries: 1
449 ; SYMS-NEXT:     CSECT Auxiliary Entry {
450 ; SYMS-DATASECT:   Index: [[#INDX+27]]
451 ; SYMS-NODATASECT: Index: [[#INDX+31]]
452 ; SYMS:            SectionLen: 4
453 ; SYMS-NEXT:       ParameterHashIndex: 0x0
454 ; SYMS-NEXT:       TypeChkSectNum: 0x0
455 ; SYMS-NEXT:       SymbolAlignmentLog2: 2
456 ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
457 ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
458 ; SYMS-NEXT:       StabInfoIndex: 0x0
459 ; SYMS-NEXT:       StabSectNum: 0x0
460 ; SYMS-NEXT:     }
461 ; SYMS-NEXT:   }
463 ; SYMS:        Symbol {
464 ; SYMS-DATASECT:   Index: [[#INDX+28]]
465 ; SYMS-NODATASECT: Index: [[#INDX+32]]
466 ; SYMS:          Name: tls_global_int_common_zero_initialized
467 ; SYMS-NEXT:     Value (RelocatableAddress): 0x34
468 ; SYMS-NEXT:     Section: .tbss
469 ; SYMS-NEXT:     Type: 0x0
470 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
471 ; SYMS-NEXT:     NumberOfAuxEntries: 1
472 ; SYMS-NEXT:     CSECT Auxiliary Entry {
473 ; SYMS-DATASECT:   Index: [[#INDX+29]]
474 ; SYMS-NODATASECT: Index: [[#INDX+33]]
475 ; SYMS:            SectionLen: 4
476 ; SYMS-NEXT:       ParameterHashIndex: 0x0
477 ; SYMS-NEXT:       TypeChkSectNum: 0x0
478 ; SYMS-NEXT:       SymbolAlignmentLog2: 2
479 ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
480 ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
481 ; SYMS-NEXT:       StabInfoIndex: 0x0
482 ; SYMS-NEXT:       StabSectNum: 0x0
483 ; SYMS-NEXT:     }
484 ; SYMS-NEXT:   }
486 ; SYMS:        Symbol {
487 ; SYMS-DATASECT:   Index: [[#INDX+30]]
488 ; SYMS-NODATASECT: Index: [[#INDX+34]]
489 ; SYMS:          Name: tls_global_double_common_zero_initialized
490 ; SYMS-NEXT:     Value (RelocatableAddress): 0x38
491 ; SYMS-NEXT:     Section: .tbss
492 ; SYMS-NEXT:     Type: 0x0
493 ; SYMS-NEXT:     StorageClass: C_EXT (0x2)
494 ; SYMS-NEXT:     NumberOfAuxEntries: 1
495 ; SYMS-NEXT:     CSECT Auxiliary Entry {
496 ; SYMS-DATASECT:   Index: [[#INDX+31]]
497 ; SYMS-NODATASECT: Index: [[#INDX+35]]
498 ; SYMS:            SectionLen: 8
499 ; SYMS-NEXT:       ParameterHashIndex: 0x0
500 ; SYMS-NEXT:       TypeChkSectNum: 0x0
501 ; SYMS-NEXT:       SymbolAlignmentLog2: 3
502 ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
503 ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
504 ; SYMS-NEXT:       StabInfoIndex: 0x0
505 ; SYMS-NEXT:       StabSectNum: 0x0
506 ; SYMS-NEXT:     }
507 ; SYMS-NEXT:   }
509 ; SYMS:        Symbol {
510 ; SYMS-DATASECT:   Index: [[#INDX+32]]
511 ; SYMS-NODATASECT: Index: [[#INDX+36]]
512 ; SYMS:          Name: tls_global_long_long_internal_zero_initialized
513 ; SYMS-NEXT:     Value (RelocatableAddress): 0x40
514 ; SYMS-NEXT:     Section: .tbss
515 ; SYMS-NEXT:     Type: 0x0
516 ; SYMS-NEXT:     StorageClass: C_HIDEXT (0x6B)
517 ; SYMS-NEXT:     NumberOfAuxEntries: 1
518 ; SYMS-NEXT:     CSECT Auxiliary Entry {
519 ; SYMS-DATASECT:   Index: [[#INDX+33]]
520 ; SYMS-NODATASECT: Index: [[#INDX+37]]
521 ; SYMS:            SectionLen: 8
522 ; SYMS-NEXT:       ParameterHashIndex: 0x0
523 ; SYMS-NEXT:       TypeChkSectNum: 0x0
524 ; SYMS-NEXT:       SymbolAlignmentLog2: 3
525 ; SYMS-NEXT:       SymbolType: XTY_CM (0x3)
526 ; SYMS-NEXT:       StorageMappingClass: XMC_UL (0x15)
527 ; SYMS-NEXT:       StabInfoIndex: 0x0
528 ; SYMS-NEXT:       StabSectNum: 0x0
529 ; SYMS-NEXT:     }
530 ; SYMS-NEXT:   }
533 ; OBJDUMP-DATASECT:        Disassembly of section .text:
534 ; OBJDUMP-DATASECT-EMPTY:
535 ; OBJDUMP-DATASECT-NEXT:   00000000 (idx: 7) const_ivar[RO]:
536 ; OBJDUMP-DATASECT-NEXT:   0: 00 00 00 06   <unknown>
537 ; OBJDUMP-DATASECT-EMPTY:
538 ; OBJDUMP-DATASECT-NEXT:   Disassembly of section .tdata:
539 ; OBJDUMP-DATASECT-EMPTY:
540 ; OBJDUMP-DATASECT-NEXT:   00000000 (idx: 11) tls_global_alias_int_external_val_initialized:
541 ; OBJDUMP-DATASECT-NEXT:   0: 00 00 00 01   <unknown>
542 ; OBJDUMP-DATASECT-EMPTY:
543 ; OBJDUMP-DATASECT-NEXT:   00000004 (idx: 13) tls_global_int_external_zero_initialized[TL]:
544 ; OBJDUMP-DATASECT-NEXT:   4: 00 00 00 00   <unknown>
545 ; OBJDUMP-DATASECT-EMPTY:
546 ; OBJDUMP-DATASECT-NEXT:   00000008 (idx: 15) tls_global_int_local_val_initialized[TL]:
547 ; OBJDUMP-DATASECT-NEXT:   8: 00 00 00 02   <unknown>
548 ; OBJDUMP-DATASECT-EMPTY:
549 ; OBJDUMP-DATASECT-NEXT:   0000000c (idx: 17) tls_global_int_weak_zero_initialized[TL]:
550 ; OBJDUMP-DATASECT-NEXT:   c: 00 00 00 00   <unknown>
551 ; OBJDUMP-DATASECT-EMPTY:
552 ; OBJDUMP-DATASECT-NEXT:   00000010 (idx: 19) tls_global_int_weak_val_initialized[TL]:
553 ; OBJDUMP-DATASECT-NEXT:   10: 00 00 00 01   <unknown>
554 ; OBJDUMP-DATASECT-NEXT:   14: 00 00 00 00   <unknown>
555 ; OBJDUMP-DATASECT-EMPTY:
556 ; OBJDUMP-DATASECT-NEXT:   00000018 (idx: 21) tls_global_long_long_internal_val_initialized[TL]:
557 ; OBJDUMP-DATASECT-NEXT:   18: 00 00 00 00   <unknown>
558 ; OBJDUMP-DATASECT-NEXT:   1c: 00 00 00 01   <unknown>
559 ; OBJDUMP-DATASECT-EMPTY:
560 ; OBJDUMP-DATASECT-NEXT:   00000020 (idx: 23) tls_global_long_long_weak_val_initialized[TL]:
561 ; OBJDUMP-DATASECT-NEXT:   20: 00 00 00 00   <unknown>
562 ; OBJDUMP-DATASECT-NEXT:   24: 00 00 00 01   <unknown>
563 ; OBJDUMP-DATASECT-EMPTY:
564 ; OBJDUMP-DATASECT-NEXT:   00000028 (idx: 25) tls_global_long_long_weak_zero_initialized[TL]:
565 ; OBJDUMP-DATASECT-NEXT:   ...
566 ; OBJDUMP-DATASECT-EMPTY:
568 ; OBJDUMP-DATASECT-NEXT:   Disassembly of section .tbss:
569 ; OBJDUMP-DATASECT-EMPTY:
570 ; OBJDUMP-DATASECT-NEXT:   00000030 (idx: 27) tls_global_int_local_zero_initialized[UL]:
571 ; OBJDUMP-DATASECT-NEXT:   ...
572 ; OBJDUMP-DATASECT-EMPTY:
573 ; OBJDUMP-DATASECT-NEXT:   00000034 (idx: 29) tls_global_int_common_zero_initialized[UL]:
574 ; OBJDUMP-DATASECT-NEXT:   ...
575 ; OBJDUMP-DATASECT-EMPTY:
576 ; OBJDUMP-DATASECT-NEXT:   00000038 (idx: 31) tls_global_double_common_zero_initialized[UL]
577 ; OBJDUMP-DATASECT-NEXT:   ...
578 ; OBJDUMP-DATASECT-EMPTY:
579 ; OBJDUMP-DATASECT-NEXT:   00000040 (idx: 33) tls_global_long_long_internal_zero_initialized[UL]:
580 ; OBJDUMP-DATASECT-NEXT:   ...
582 ; OBJDUMP-NODATASECT:       Disassembly of section .text:
583 ; OBJDUMP-NODATASECT-EMPTY:
584 ; OBJDUMP-NODATASECT-NEXT:  00000000 (idx: 9) const_ivar:
585 ; OBJDUMP-NODATASECT-NEXT:  0: 00 00 00 06   <unknown>
586 ; OBJDUMP-NODATASECT-EMPTY:
587 ; OBJDUMP-NODATASECT-NEXT:  Disassembly of section .tdata:
588 ; OBJDUMP-NODATASECT-EMPTY:
589 ; OBJDUMP-NODATASECT:       00000000 (idx: 13) tls_global_int_external_val_initialized:
590 ; OBJDUMP-NODATASECT-NEXT:  0: 00 00 00 01   <unknown>
591 ; OBJDUMP-NODATASECT-EMPTY:
592 ; OBJDUMP-NODATASECT-NEXT:  00000004 (idx: 17) tls_global_int_external_zero_initialized:
593 ; OBJDUMP-NODATASECT-NEXT:  4: 00 00 00 00   <unknown>
594 ; OBJDUMP-NODATASECT-EMPTY:
595 ; OBJDUMP-NODATASECT-NEXT:  00000008 (idx: 19) tls_global_int_local_val_initialized:
596 ; OBJDUMP-NODATASECT-NEXT:  8: 00 00 00 02   <unknown>
597 ; OBJDUMP-NODATASECT-EMPTY:
598 ; OBJDUMP-NODATASECT-NEXT:  0000000c (idx: 21) tls_global_int_weak_zero_initialized:
599 ; OBJDUMP-NODATASECT-NEXT:  c: 00 00 00 00   <unknown>
600 ; OBJDUMP-NODATASECT-EMPTY:
601 ; OBJDUMP-NODATASECT-NEXT:  00000010 (idx: 23) tls_global_int_weak_val_initialized:
602 ; OBJDUMP-NODATASECT-NEXT:  10: 00 00 00 01   <unknown>
603 ; OBJDUMP-NODATASECT-NEXT:  14: 00 00 00 00   <unknown>
604 ; OBJDUMP-NODATASECT-EMPTY:
605 ; OBJDUMP-NODATASECT-NEXT:  00000018 (idx: 25) tls_global_long_long_internal_val_initialized:
606 ; OBJDUMP-NODATASECT-NEXT:  18: 00 00 00 00   <unknown>
607 ; OBJDUMP-NODATASECT-NEXT:  1c: 00 00 00 01   <unknown>
608 ; OBJDUMP-NODATASECT-EMPTY:
609 ; OBJDUMP-NODATASECT-NEXT:  00000020 (idx: 27) tls_global_long_long_weak_val_initialized:
610 ; OBJDUMP-NODATASECT-NEXT:  20: 00 00 00 00   <unknown>
611 ; OBJDUMP-NODATASECT-NEXT:  24: 00 00 00 01   <unknown>
612 ; OBJDUMP-NODATASECT-EMPTY:
613 ; OBJDUMP-NODATASECT-NEXT:  00000028 (idx: 29) tls_global_long_long_weak_zero_initialized:
614 ; OBJDUMP-NODATASECT-NEXT:  ...
615 ; OBJDUMP-NODATASECT-EMPTY:
617 ; OBJDUMP-NODATASECT-NEXT:  Disassembly of section .tbss:
618 ; OBJDUMP-NODATASECT-EMPTY:
619 ; OBJDUMP-NODATASECT-NEXT:  00000030 (idx: 31) tls_global_int_local_zero_initialized[UL]:
620 ; OBJDUMP-NODATASECT-NEXT:  ...
621 ; OBJDUMP-NODATASECT-EMPTY:
622 ; OBJDUMP-NODATASECT-NEXT:  00000034 (idx: 33) tls_global_int_common_zero_initialized[UL]:
623 ; OBJDUMP-NODATASECT-NEXT:  ...
624 ; OBJDUMP-NODATASECT-EMPTY:
625 ; OBJDUMP-NODATASECT-NEXT:  00000038 (idx: 35) tls_global_double_common_zero_initialized[UL]:
626 ; OBJDUMP-NODATASECT-NEXT:  ...
627 ; OBJDUMP-NODATASECT-EMPTY:
628 ; OBJDUMP-NODATASECT-NEXT:  00000040 (idx: 37) tls_global_long_long_internal_zero_initialized[UL]:
629 ; OBJDUMP-NODATASECT-NEXT:  ...
631 @tls_global_int_external_val_initialized = thread_local global i32 1, align 4
632 @tls_global_int_external_zero_initialized = thread_local global i32 0, align 4
633 @tls_global_int_local_val_initialized = internal thread_local global i32 2, align 4
634 @tls_global_int_local_zero_initialized = internal thread_local global i32 0, align 4
635 @tls_global_int_weak_zero_initialized = weak thread_local global i32 0, align 4
636 @tls_global_int_common_zero_initialized = common thread_local global i32 0, align 4
637 @tls_global_int_weak_val_initialized = weak thread_local global i32 1, align 4
638 @tls_global_int_external_uninitialized = external thread_local global i32, align 4
639 @tls_global_double_common_zero_initialized = common thread_local global double 0.000000e+00, align 8
640 @tls_global_double_external_uninitialized = external thread_local global i64, align 8
641 @tls_global_long_long_internal_val_initialized = internal thread_local global i64 1, align 8
642 @tls_global_long_long_internal_zero_initialized = internal thread_local global i64 0, align 8
643 @tls_global_long_long_weak_val_initialized = weak thread_local global i64 1, align 8
644 @tls_global_long_long_weak_zero_initialized = weak thread_local global i64 0, align 8
645 @tls_global_alias_int_external_val_initialized = thread_local alias i32, i32* @tls_global_int_external_val_initialized
646 @const_ivar = constant i32 6, align 4