1 ; This file tests the codegen of initialized and common variables in AIX
2 ; assembly and XCOFF object files.
4 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK32 %s
5 ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false < %s | FileCheck --check-prefixes=CHECK,CHECK64 %s
7 ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t.o < %s
8 ; RUN: llvm-readobj --section-headers --file-header %t.o | \
9 ; RUN: FileCheck --check-prefix=OBJ %s
10 ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefixes=SYMS,SYMS32 %s
12 ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -data-sections=false -filetype=obj -o %t64.o < %s
13 ; RUN: llvm-readobj --section-headers --file-header %t64.o | \
14 ; RUN: FileCheck --check-prefix=OBJ64 %s
15 ; RUN: llvm-readobj --syms %t64.o | FileCheck --check-prefixes=SYMS,SYMS64 %s
17 @ivar = local_unnamed_addr global i32 35, align 4
18 @llvar = local_unnamed_addr global i64 36, align 8
19 @svar = local_unnamed_addr global i16 37, align 2
20 @fvar = local_unnamed_addr global float 8.000000e+02, align 4
21 @dvar = local_unnamed_addr global double 9.000000e+02, align 8
22 @over_aligned = local_unnamed_addr global double 9.000000e+02, align 32
23 @chrarray = local_unnamed_addr global [4 x i8] c"abcd", align 1
24 @dblarr = local_unnamed_addr global [4 x double] [double 1.000000e+00, double 2.000000e+00, double 3.000000e+00, double 4.000000e+00], align 8
25 @d_0 = global double 0.000000e+00, align 8
26 @s_0 = global i16 0, align 2
27 @f_0 = global float 0.000000e+00, align 4
29 %struct.anon = type <{ i32, double }>
30 @astruct = global [1 x %struct.anon] [%struct.anon <{ i32 1, double 7.000000e+00 }>], align 1
32 %struct.anon2 = type { double, i32 }
33 @bstruct = global [1 x %struct.anon2] [%struct.anon2 { double 7.000000e+00 , i32 1}], align 8
35 @a = common global i32 0, align 4
36 @b = common global i64 0, align 8
37 @c = common global i16 0, align 2
39 @d = common local_unnamed_addr global double 0.000000e+00, align 8
40 @f = common local_unnamed_addr global float 0.000000e+00, align 4
42 @over_aligned_comm = common local_unnamed_addr global double 0.000000e+00, align 32
44 @array = common local_unnamed_addr global [33 x i8] zeroinitializer, align 1
48 ; CHECK: .csect .text[PR],2
51 ; CHECK: .csect .data[RW],5
52 ; CHECK-NEXT: .globl ivar
53 ; CHECK-NEXT: .align 2
55 ; CHECK-NEXT: .vbyte 4, 35
58 ; CHECK-NEXT: .align 3
60 ; CHECK32-NEXT: .vbyte 4, 0
61 ; CHECK32-NEXT: .vbyte 4, 36
62 ; CHECK64-NEXT: .vbyte 8, 36
65 ; CHECK-NEXT: .align 1
67 ; CHECK-NEXT: .vbyte 2, 37
70 ; CHECK-NEXT: .align 2
72 ; CHECK-NEXT: .vbyte 4, 0x44480000
75 ; CHECK-NEXT: .align 3
77 ; CHECK32-NEXT: .vbyte 4, 1082925056
78 ; CHECK32-NEXT: .vbyte 4, 0
79 ; CHECK64-NEXT: .vbyte 8, 0x408c200000000000
81 ; CHECK: .globl over_aligned
82 ; CHECK-NEXT: .align 5
83 ; CHECK-NEXT: over_aligned:
84 ; CHECK32-NEXT: .vbyte 4, 1082925056
85 ; CHECK32-NEXT: .vbyte 4, 0
86 ; CHECK64-NEXT: .vbyte 8, 0x408c200000000000
88 ; CHECK: .globl chrarray
89 ; CHECK-NEXT: chrarray:
90 ; CHECK-NEXT: .byte "abcd"
92 ; CHECK: .globl dblarr
93 ; CHECK-NEXT: .align 3
95 ; CHECK32-NEXT: .vbyte 4, 1072693248
96 ; CHECK32-NEXT: .vbyte 4, 0
97 ; CHECK64-NEXT: .vbyte 8, 0x3ff0000000000000
98 ; CHECK32-NEXT: .vbyte 4, 1073741824
99 ; CHECK32-NEXT: .vbyte 4, 0
100 ; CHECK64-NEXT: .vbyte 8, 0x4000000000000000
101 ; CHECK32-NEXT: .vbyte 4, 1074266112
102 ; CHECK32-NEXT: .vbyte 4, 0
103 ; CHECK64-NEXT: .vbyte 8, 0x4008000000000000
104 ; CHECK32-NEXT: .vbyte 4, 1074790400
105 ; CHECK32-NEXT: .vbyte 4, 0
106 ; CHECK64-NEXT: .vbyte 8, 0x4010000000000000
109 ; CHECK-NEXT: .align 3
111 ; CHECK32-NEXT: .vbyte 4, 0
112 ; CHECK32-NEXT: .vbyte 4, 0
113 ; CHECK64-NEXT: .vbyte 8, 0
116 ; CHECK-NEXT: .align 1
118 ; CHECK-NEXT: .vbyte 2, 0
121 ; CHECK-NEXT: .align 2
123 ; CHECK-NEXT: .vbyte 4, 0
125 ; CHECK: .globl astruct
126 ; CHECK-NEXT: astruct:
127 ; CHECK-NEXT: .vbyte 4, 1
128 ; CHECK32-NEXT: .vbyte 4, 1075576832
129 ; CHECK32-NEXT: .vbyte 4, 0
130 ; CHECK64-NEXT: .vbyte 8, 0x401c000000000000
132 ; CHECK: .globl bstruct
133 ; CHECK-NEXT: .align 3
134 ; CHECK-NEXT: bstruct:
135 ; CHECK32-NEXT: .vbyte 4, 1075576832
136 ; CHECK32-NEXT: .vbyte 4, 0
137 ; CHECK64-NEXT: .vbyte 8, 0x401c000000000000
138 ; CHECK-NEXT: .vbyte 4, 1
139 ; CHECK-NEXT: .space 4
142 ; CHECK-NEXT: .comm a[RW],4,2
143 ; CHECK-NEXT: .comm b[RW],8,3
144 ; CHECK-NEXT: .comm c[RW],2,1
145 ; CHECK-NEXT: .comm d[RW],8,3
146 ; CHECK-NEXT: .comm f[RW],4,2
147 ; CHECK-NEXT: .comm over_aligned_comm[RW],8,5
148 ; CHECK-NEXT: .comm array[RW],33,0
150 ; OBJ: File: {{.*}}aix-xcoff-data.ll.tmp.o
151 ; OBJ-NEXT: Format: aixcoff-rs6000
152 ; OBJ-NEXT: Arch: powerpc
153 ; OBJ-NEXT: AddressSize: 32bit
154 ; OBJ-NEXT: FileHeader {
155 ; OBJ-NEXT: Magic: 0x1DF
156 ; OBJ-NEXT: NumberOfSections: 3
157 ; OBJ-NEXT: TimeStamp:
158 ; OBJ-NEXT: SymbolTableOffset: 0x10C
159 ; OBJ-NEXT: SymbolTableEntries: 45
160 ; OBJ-NEXT: OptionalHeaderSize: 0x0
161 ; OBJ-NEXT: Flags: 0x0
166 ; OBJ-NEXT: Index: [[#OBJ_INDX:]]
167 ; OBJ-NEXT: Name: .text
168 ; OBJ-NEXT: PhysicalAddress: 0x0
169 ; OBJ-NEXT: VirtualAddress: 0x0
170 ; OBJ-NEXT: Size: 0x0
171 ; OBJ-NEXT: RawDataOffset: 0x8C
172 ; OBJ-NEXT: RelocationPointer: 0x0
173 ; OBJ-NEXT: LineNumberPointer: 0x0
174 ; OBJ-NEXT: NumberOfRelocations: 0
175 ; OBJ-NEXT: NumberOfLineNumbers: 0
176 ; OBJ-NEXT: Type: STYP_TEXT (0x20)
180 ; OBJ-NEXT: Index: [[#OBJ_INDX+1]]
181 ; OBJ-NEXT: Name: .data
182 ; OBJ-NEXT: PhysicalAddress: 0x0
183 ; OBJ-NEXT: VirtualAddress: 0x0
184 ; OBJ-NEXT: Size: 0x80
185 ; OBJ-NEXT: RawDataOffset: 0x8C
186 ; OBJ-NEXT: RelocationPointer: 0x0
187 ; OBJ-NEXT: LineNumberPointer: 0x0
188 ; OBJ-NEXT: NumberOfRelocations: 0
189 ; OBJ-NEXT: NumberOfLineNumbers: 0
190 ; OBJ-NEXT: Type: STYP_DATA (0x40)
194 ; OBJ-NEXT: Index: [[#OBJ_INDX+2]]
195 ; OBJ-NEXT: Name: .bss
196 ; OBJ-NEXT: PhysicalAddress: 0x80
197 ; OBJ-NEXT: VirtualAddress: 0x80
198 ; OBJ-NEXT: Size: 0x6C
199 ; OBJ-NEXT: RawDataOffset: 0x0
200 ; OBJ-NEXT: RelocationPointer: 0x0
201 ; OBJ-NEXT: LineNumberPointer: 0x0
202 ; OBJ-NEXT: NumberOfRelocations: 0
203 ; OBJ-NEXT: NumberOfLineNumbers: 0
204 ; OBJ-NEXT: Type: STYP_BSS (0x80)
209 ; SYMS-NEXT: Symbol {
210 ; SYMS-NEXT: Index: 0
211 ; SYMS-NEXT: Name: .file
212 ; SYMS-NEXT: Value (SymbolTableIndex): 0x0
213 ; SYMS-NEXT: Section: N_DEBUG
214 ; SYMS-NEXT: Source Language ID: TB_C (0x0)
215 ; SYMS-NEXT: CPU Version ID: 0x0
216 ; SYMS-NEXT: StorageClass: C_FILE (0x67)
217 ; SYMS-NEXT: NumberOfAuxEntries: 0
219 ; SYMS-NEXT: Symbol {
220 ; SYMS-NEXT: Index: [[#INDX:]]
221 ; SYMS-NEXT: Name: .text
222 ; SYMS-NEXT: Value (RelocatableAddress): 0x0
223 ; SYMS-NEXT: Section: .text
224 ; SYMS-NEXT: Type: 0x0
225 ; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B)
226 ; SYMS-NEXT: NumberOfAuxEntries: 1
227 ; SYMS-NEXT: CSECT Auxiliary Entry {
228 ; SYMS-NEXT: Index: [[#INDX+1]]
229 ; SYMS-NEXT: SectionLen: 0
230 ; SYMS-NEXT: ParameterHashIndex: 0x0
231 ; SYMS-NEXT: TypeChkSectNum: 0x0
232 ; SYMS-NEXT: SymbolAlignmentLog2: 2
233 ; SYMS-NEXT: SymbolType: XTY_SD (0x1)
234 ; SYMS-NEXT: StorageMappingClass: XMC_PR (0x0)
235 ; SYMS32-NEXT: StabInfoIndex: 0x0
236 ; SYMS32-NEXT: StabSectNum: 0x0
237 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
242 ; SYMS-NEXT: Index: [[#INDX+2]]
243 ; SYMS-NEXT: Name: .data
244 ; SYMS-NEXT: Value (RelocatableAddress): 0x0
245 ; SYMS-NEXT: Section: .data
246 ; SYMS-NEXT: Type: 0x0
247 ; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B)
248 ; SYMS-NEXT: NumberOfAuxEntries: 1
249 ; SYMS-NEXT: CSECT Auxiliary Entry {
250 ; SYMS-NEXT: Index: [[#INDX+3]]
251 ; SYMS-NEXT: SectionLen: 128
252 ; SYMS-NEXT: ParameterHashIndex: 0x0
253 ; SYMS-NEXT: TypeChkSectNum: 0x0
254 ; SYMS-NEXT: SymbolAlignmentLog2: 5
255 ; SYMS-NEXT: SymbolType: XTY_SD (0x1)
256 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
257 ; SYMS32-NEXT: StabInfoIndex: 0x0
258 ; SYMS32-NEXT: StabSectNum: 0x0
259 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
264 ; SYMS-NEXT: Index: [[#INDX+4]]
265 ; SYMS-NEXT: Name: ivar
266 ; SYMS-NEXT: Value (RelocatableAddress): 0x0
267 ; SYMS-NEXT: Section: .data
268 ; SYMS-NEXT: Type: 0x0
269 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
270 ; SYMS-NEXT: NumberOfAuxEntries: 1
271 ; SYMS-NEXT: CSECT Auxiliary Entry {
272 ; SYMS-NEXT: Index: [[#INDX+5]]
273 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
274 ; SYMS-NEXT: ParameterHashIndex: 0x0
275 ; SYMS-NEXT: TypeChkSectNum: 0x0
276 ; SYMS-NEXT: SymbolAlignmentLog2: 0
277 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
278 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
279 ; SYMS32-NEXT: StabInfoIndex: 0x0
280 ; SYMS32-NEXT: StabSectNum: 0x0
281 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
286 ; SYMS-NEXT: Index: [[#INDX+6]]
287 ; SYMS-NEXT: Name: llvar
288 ; SYMS-NEXT: Value (RelocatableAddress): 0x8
289 ; SYMS-NEXT: Section: .data
290 ; SYMS-NEXT: Type: 0x0
291 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
292 ; SYMS-NEXT: NumberOfAuxEntries: 1
293 ; SYMS-NEXT: CSECT Auxiliary Entry {
294 ; SYMS-NEXT: Index: [[#INDX+7]]
295 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
296 ; SYMS-NEXT: ParameterHashIndex: 0x0
297 ; SYMS-NEXT: TypeChkSectNum: 0x0
298 ; SYMS-NEXT: SymbolAlignmentLog2: 0
299 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
300 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
301 ; SYMS32-NEXT: StabInfoIndex: 0x0
302 ; SYMS32-NEXT: StabSectNum: 0x0
303 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
308 ; SYMS-NEXT: Index: [[#INDX+8]]
309 ; SYMS-NEXT: Name: svar
310 ; SYMS-NEXT: Value (RelocatableAddress): 0x10
311 ; SYMS-NEXT: Section: .data
312 ; SYMS-NEXT: Type: 0x0
313 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
314 ; SYMS-NEXT: NumberOfAuxEntries: 1
315 ; SYMS-NEXT: CSECT Auxiliary Entry {
316 ; SYMS-NEXT: Index: [[#INDX+9]]
317 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
318 ; SYMS-NEXT: ParameterHashIndex: 0x0
319 ; SYMS-NEXT: TypeChkSectNum: 0x0
320 ; SYMS-NEXT: SymbolAlignmentLog2: 0
321 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
322 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
323 ; SYMS32-NEXT: StabInfoIndex: 0x0
324 ; SYMS32-NEXT: StabSectNum: 0x0
325 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
330 ; SYMS-NEXT: Index: [[#INDX+10]]
331 ; SYMS-NEXT: Name: fvar
332 ; SYMS-NEXT: Value (RelocatableAddress): 0x14
333 ; SYMS-NEXT: Section: .data
334 ; SYMS-NEXT: Type: 0x0
335 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
336 ; SYMS-NEXT: NumberOfAuxEntries: 1
337 ; SYMS-NEXT: CSECT Auxiliary Entry {
338 ; SYMS-NEXT: Index: [[#INDX+11]]
339 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
340 ; SYMS-NEXT: ParameterHashIndex: 0x0
341 ; SYMS-NEXT: TypeChkSectNum: 0x0
342 ; SYMS-NEXT: SymbolAlignmentLog2: 0
343 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
344 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
345 ; SYMS32-NEXT: StabInfoIndex: 0x0
346 ; SYMS32-NEXT: StabSectNum: 0x0
347 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
352 ; SYMS-NEXT: Index: [[#INDX+12]]
353 ; SYMS-NEXT: Name: dvar
354 ; SYMS-NEXT: Value (RelocatableAddress): 0x18
355 ; SYMS-NEXT: Section: .data
356 ; SYMS-NEXT: Type: 0x0
357 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
358 ; SYMS-NEXT: NumberOfAuxEntries: 1
359 ; SYMS-NEXT: CSECT Auxiliary Entry {
360 ; SYMS-NEXT: Index: [[#INDX+13]]
361 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
362 ; SYMS-NEXT: ParameterHashIndex: 0x0
363 ; SYMS-NEXT: TypeChkSectNum: 0x0
364 ; SYMS-NEXT: SymbolAlignmentLog2: 0
365 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
366 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
367 ; SYMS32-NEXT: StabInfoIndex: 0x0
368 ; SYMS32-NEXT: StabSectNum: 0x0
369 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
374 ; SYMS-NEXT: Index: [[#INDX+14]]
375 ; SYMS-NEXT: Name: over_aligned
376 ; SYMS-NEXT: Value (RelocatableAddress): 0x20
377 ; SYMS-NEXT: Section: .data
378 ; SYMS-NEXT: Type: 0x0
379 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
380 ; SYMS-NEXT: NumberOfAuxEntries: 1
381 ; SYMS-NEXT: CSECT Auxiliary Entry {
382 ; SYMS-NEXT: Index: [[#INDX+15]]
383 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
384 ; SYMS-NEXT: ParameterHashIndex: 0x0
385 ; SYMS-NEXT: TypeChkSectNum: 0x0
386 ; SYMS-NEXT: SymbolAlignmentLog2: 0
387 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
388 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
389 ; SYMS32-NEXT: StabInfoIndex: 0x0
390 ; SYMS32-NEXT: StabSectNum: 0x0
391 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
396 ; SYMS-NEXT: Index: [[#INDX+16]]
397 ; SYMS-NEXT: Name: chrarray
398 ; SYMS-NEXT: Value (RelocatableAddress): 0x28
399 ; SYMS-NEXT: Section: .data
400 ; SYMS-NEXT: Type: 0x0
401 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
402 ; SYMS-NEXT: NumberOfAuxEntries: 1
403 ; SYMS-NEXT: CSECT Auxiliary Entry {
404 ; SYMS-NEXT: Index: [[#INDX+17]]
405 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
406 ; SYMS-NEXT: ParameterHashIndex: 0x0
407 ; SYMS-NEXT: TypeChkSectNum: 0x0
408 ; SYMS-NEXT: SymbolAlignmentLog2: 0
409 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
410 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
411 ; SYMS32-NEXT: StabInfoIndex: 0x0
412 ; SYMS32-NEXT: StabSectNum: 0x0
413 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
418 ; SYMS-NEXT: Index: [[#INDX+18]]
419 ; SYMS-NEXT: Name: dblarr
420 ; SYMS-NEXT: Value (RelocatableAddress): 0x30
421 ; SYMS-NEXT: Section: .data
422 ; SYMS-NEXT: Type: 0x0
423 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
424 ; SYMS-NEXT: NumberOfAuxEntries: 1
425 ; SYMS-NEXT: CSECT Auxiliary Entry {
426 ; SYMS-NEXT: Index: [[#INDX+19]]
427 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
428 ; SYMS-NEXT: ParameterHashIndex: 0x0
429 ; SYMS-NEXT: TypeChkSectNum: 0x0
430 ; SYMS-NEXT: SymbolAlignmentLog2: 0
431 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
432 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
433 ; SYMS32-NEXT: StabInfoIndex: 0x0
434 ; SYMS32-NEXT: StabSectNum: 0x0
435 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
440 ; SYMS-NEXT: Index: [[#INDX+20]]
441 ; SYMS-NEXT: Name: d_0
442 ; SYMS-NEXT: Value (RelocatableAddress): 0x50
443 ; SYMS-NEXT: Section: .data
444 ; SYMS-NEXT: Type: 0x0
445 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
446 ; SYMS-NEXT: NumberOfAuxEntries: 1
447 ; SYMS-NEXT: CSECT Auxiliary Entry {
448 ; SYMS-NEXT: Index: [[#INDX+21]]
449 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
450 ; SYMS-NEXT: ParameterHashIndex: 0x0
451 ; SYMS-NEXT: TypeChkSectNum: 0x0
452 ; SYMS-NEXT: SymbolAlignmentLog2: 0
453 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
454 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
455 ; SYMS32-NEXT: StabInfoIndex: 0x0
456 ; SYMS32-NEXT: StabSectNum: 0x0
457 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
462 ; SYMS-NEXT: Index: [[#INDX+22]]
463 ; SYMS-NEXT: Name: s_0
464 ; SYMS-NEXT: Value (RelocatableAddress): 0x58
465 ; SYMS-NEXT: Section: .data
466 ; SYMS-NEXT: Type: 0x0
467 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
468 ; SYMS-NEXT: NumberOfAuxEntries: 1
469 ; SYMS-NEXT: CSECT Auxiliary Entry {
470 ; SYMS-NEXT: Index: [[#INDX+23]]
471 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
472 ; SYMS-NEXT: ParameterHashIndex: 0x0
473 ; SYMS-NEXT: TypeChkSectNum: 0x0
474 ; SYMS-NEXT: SymbolAlignmentLog2: 0
475 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
476 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
477 ; SYMS32-NEXT: StabInfoIndex: 0x0
478 ; SYMS32-NEXT: StabSectNum: 0x0
479 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
484 ; SYMS-NEXT: Index: [[#INDX+24]]
485 ; SYMS-NEXT: Name: f_0
486 ; SYMS-NEXT: Value (RelocatableAddress): 0x5C
487 ; SYMS-NEXT: Section: .data
488 ; SYMS-NEXT: Type: 0x0
489 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
490 ; SYMS-NEXT: NumberOfAuxEntries: 1
491 ; SYMS-NEXT: CSECT Auxiliary Entry {
492 ; SYMS-NEXT: Index: [[#INDX+25]]
493 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
494 ; SYMS-NEXT: ParameterHashIndex: 0x0
495 ; SYMS-NEXT: TypeChkSectNum: 0x0
496 ; SYMS-NEXT: SymbolAlignmentLog2: 0
497 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
498 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
499 ; SYMS32-NEXT: StabInfoIndex: 0x0
500 ; SYMS32-NEXT: StabSectNum: 0x0
501 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
506 ; SYMS-NEXT: Index: [[#INDX+26]]
507 ; SYMS-NEXT: Name: astruct
508 ; SYMS-NEXT: Value (RelocatableAddress): 0x60
509 ; SYMS-NEXT: Section: .data
510 ; SYMS-NEXT: Type: 0x0
511 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
512 ; SYMS-NEXT: NumberOfAuxEntries: 1
513 ; SYMS-NEXT: CSECT Auxiliary Entry {
514 ; SYMS-NEXT: Index: [[#INDX+27]]
515 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
516 ; SYMS-NEXT: ParameterHashIndex: 0x0
517 ; SYMS-NEXT: TypeChkSectNum: 0x0
518 ; SYMS-NEXT: SymbolAlignmentLog2: 0
519 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
520 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
521 ; SYMS32-NEXT: StabInfoIndex: 0x0
522 ; SYMS32-NEXT: StabSectNum: 0x0
523 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
528 ; SYMS-NEXT: Index: [[#INDX+28]]
529 ; SYMS-NEXT: Name: bstruct
530 ; SYMS-NEXT: Value (RelocatableAddress): 0x70
531 ; SYMS-NEXT: Section: .data
532 ; SYMS-NEXT: Type: 0x0
533 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
534 ; SYMS-NEXT: NumberOfAuxEntries: 1
535 ; SYMS-NEXT: CSECT Auxiliary Entry {
536 ; SYMS-NEXT: Index: [[#INDX+29]]
537 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
538 ; SYMS-NEXT: ParameterHashIndex: 0x0
539 ; SYMS-NEXT: TypeChkSectNum: 0x0
540 ; SYMS-NEXT: SymbolAlignmentLog2: 0
541 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
542 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
543 ; SYMS32-NEXT: StabInfoIndex: 0x0
544 ; SYMS32-NEXT: StabSectNum: 0x0
545 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
550 ; SYMS-NEXT: Index: [[#INDX+30]]
552 ; SYMS-NEXT: Value (RelocatableAddress): 0x80
553 ; SYMS-NEXT: Section: .bss
554 ; SYMS-NEXT: Type: 0x0
555 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
556 ; SYMS-NEXT: NumberOfAuxEntries: 1
557 ; SYMS-NEXT: CSECT Auxiliary Entry {
558 ; SYMS-NEXT: Index: [[#INDX+31]]
559 ; SYMS-NEXT: SectionLen: 4
560 ; SYMS-NEXT: ParameterHashIndex: 0x0
561 ; SYMS-NEXT: TypeChkSectNum: 0x0
562 ; SYMS-NEXT: SymbolAlignmentLog2: 2
563 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
564 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
565 ; SYMS32-NEXT: StabInfoIndex: 0x0
566 ; SYMS32-NEXT: StabSectNum: 0x0
567 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
572 ; SYMS-NEXT: Index: [[#INDX+32]]
574 ; SYMS-NEXT: Value (RelocatableAddress): 0x88
575 ; SYMS-NEXT: Section: .bss
576 ; SYMS-NEXT: Type: 0x0
577 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
578 ; SYMS-NEXT: NumberOfAuxEntries: 1
579 ; SYMS-NEXT: CSECT Auxiliary Entry {
580 ; SYMS-NEXT: Index: [[#INDX+33]]
581 ; SYMS-NEXT: SectionLen: 8
582 ; SYMS-NEXT: ParameterHashIndex: 0x0
583 ; SYMS-NEXT: TypeChkSectNum: 0x0
584 ; SYMS-NEXT: SymbolAlignmentLog2: 3
585 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
586 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
587 ; SYMS32-NEXT: StabInfoIndex: 0x0
588 ; SYMS32-NEXT: StabSectNum: 0x0
589 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
594 ; SYMS-NEXT: Index: [[#INDX+34]]
596 ; SYMS-NEXT: Value (RelocatableAddress): 0x90
597 ; SYMS-NEXT: Section: .bss
598 ; SYMS-NEXT: Type: 0x0
599 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
600 ; SYMS-NEXT: NumberOfAuxEntries: 1
601 ; SYMS-NEXT: CSECT Auxiliary Entry {
602 ; SYMS-NEXT: Index: [[#INDX+35]]
603 ; SYMS-NEXT: SectionLen: 2
604 ; SYMS-NEXT: ParameterHashIndex: 0x0
605 ; SYMS-NEXT: TypeChkSectNum: 0x0
606 ; SYMS-NEXT: SymbolAlignmentLog2: 1
607 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
608 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
609 ; SYMS32-NEXT: StabInfoIndex: 0x0
610 ; SYMS32-NEXT: StabSectNum: 0x0
611 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
616 ; SYMS-NEXT: Index: [[#INDX+36]]
618 ; SYMS-NEXT: Value (RelocatableAddress): 0x98
619 ; SYMS-NEXT: Section: .bss
620 ; SYMS-NEXT: Type: 0x0
621 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
622 ; SYMS-NEXT: NumberOfAuxEntries: 1
623 ; SYMS-NEXT: CSECT Auxiliary Entry {
624 ; SYMS-NEXT: Index: [[#INDX+37]]
625 ; SYMS-NEXT: SectionLen: 8
626 ; SYMS-NEXT: ParameterHashIndex: 0x0
627 ; SYMS-NEXT: TypeChkSectNum: 0x0
628 ; SYMS-NEXT: SymbolAlignmentLog2: 3
629 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
630 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
631 ; SYMS32-NEXT: StabInfoIndex: 0x0
632 ; SYMS32-NEXT: StabSectNum: 0x0
633 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
638 ; SYMS-NEXT: Index: [[#INDX+38]]
640 ; SYMS-NEXT: Value (RelocatableAddress): 0xA0
641 ; SYMS-NEXT: Section: .bss
642 ; SYMS-NEXT: Type: 0x0
643 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
644 ; SYMS-NEXT: NumberOfAuxEntries: 1
645 ; SYMS-NEXT: CSECT Auxiliary Entry {
646 ; SYMS-NEXT: Index: [[#INDX+39]]
647 ; SYMS-NEXT: SectionLen: 4
648 ; SYMS-NEXT: ParameterHashIndex: 0x0
649 ; SYMS-NEXT: TypeChkSectNum: 0x0
650 ; SYMS-NEXT: SymbolAlignmentLog2: 2
651 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
652 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
653 ; SYMS32-NEXT: StabInfoIndex: 0x0
654 ; SYMS32-NEXT: StabSectNum: 0x0
655 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
660 ; SYMS-NEXT: Index: [[#INDX+40]]
661 ; SYMS-NEXT: Name: over_aligned_comm
662 ; SYMS-NEXT: Value (RelocatableAddress): 0xC0
663 ; SYMS-NEXT: Section: .bss
664 ; SYMS-NEXT: Type: 0x0
665 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
666 ; SYMS-NEXT: NumberOfAuxEntries: 1
667 ; SYMS-NEXT: CSECT Auxiliary Entry {
668 ; SYMS-NEXT: Index: [[#INDX+41]]
669 ; SYMS-NEXT: SectionLen: 8
670 ; SYMS-NEXT: ParameterHashIndex: 0x0
671 ; SYMS-NEXT: TypeChkSectNum: 0x0
672 ; SYMS-NEXT: SymbolAlignmentLog2: 5
673 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
674 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
675 ; SYMS32-NEXT: StabInfoIndex: 0x0
676 ; SYMS32-NEXT: StabSectNum: 0x0
677 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
682 ; SYMS-NEXT: Index: [[#INDX+42]]
683 ; SYMS-NEXT: Name: array
684 ; SYMS-NEXT: Value (RelocatableAddress): 0xC8
685 ; SYMS-NEXT: Section: .bss
686 ; SYMS-NEXT: Type: 0x0
687 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
688 ; SYMS-NEXT: NumberOfAuxEntries: 1
689 ; SYMS-NEXT: CSECT Auxiliary Entry {
690 ; SYMS-NEXT: Index: [[#INDX+43]]
691 ; SYMS-NEXT: SectionLen: 33
692 ; SYMS-NEXT: ParameterHashIndex: 0x0
693 ; SYMS-NEXT: TypeChkSectNum: 0x0
694 ; SYMS-NEXT: SymbolAlignmentLog2: 0
695 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
696 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
697 ; SYMS32-NEXT: StabInfoIndex: 0x0
698 ; SYMS32-NEXT: StabSectNum: 0x0
699 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
704 ; OBJ64: Format: aix5coff64-rs6000
705 ; OBJ64-NEXT: Arch: powerpc64
706 ; OBJ64-NEXT: AddressSize: 64bit
707 ; OBJ64-NEXT: FileHeader {
708 ; OBJ64-NEXT: Magic: 0x1F7
709 ; OBJ64-NEXT: NumberOfSections: 3
710 ; OBJ64-NEXT: TimeStamp: None (0x0)
711 ; OBJ64-NEXT: SymbolTableOffset: 0x170
712 ; OBJ64-NEXT: SymbolTableEntries: 45
713 ; OBJ64-NEXT: OptionalHeaderSize: 0x0
714 ; OBJ64-NEXT: Flags: 0x0
718 ; OBJ64-NEXT: Section {
719 ; OBJ64-NEXT: Index: [[#OBJ64_INDX:]]
720 ; OBJ64-NEXT: Name: .text
721 ; OBJ64-NEXT: PhysicalAddress: 0x0
722 ; OBJ64-NEXT: VirtualAddress: 0x0
723 ; OBJ64-NEXT: Size: 0x0
724 ; OBJ64-NEXT: RawDataOffset: 0xF0
725 ; OBJ64-NEXT: RelocationPointer: 0x0
726 ; OBJ64-NEXT: LineNumberPointer: 0x0
727 ; OBJ64-NEXT: NumberOfRelocations: 0
728 ; OBJ64-NEXT: NumberOfLineNumbers: 0
729 ; OBJ64-NEXT: Type: STYP_TEXT (0x20)
731 ; OBJ64-NEXT: Section {
732 ; OBJ64-NEXT: Index: [[#OBJ64_INDX+1]]
733 ; OBJ64-NEXT: Name: .data
734 ; OBJ64-NEXT: PhysicalAddress: 0x0
735 ; OBJ64-NEXT: VirtualAddress: 0x0
736 ; OBJ64-NEXT: Size: 0x80
737 ; OBJ64-NEXT: RawDataOffset: 0xF0
738 ; OBJ64-NEXT: RelocationPointer: 0x0
739 ; OBJ64-NEXT: LineNumberPointer: 0x0
740 ; OBJ64-NEXT: NumberOfRelocations: 0
741 ; OBJ64-NEXT: NumberOfLineNumbers: 0
742 ; OBJ64-NEXT: Type: STYP_DATA (0x40)
744 ; OBJ64-NEXT: Section {
745 ; OBJ64-NEXT: Index: [[#OBJ64_INDX+2]]
746 ; OBJ64-NEXT: Name: .bss
747 ; OBJ64-NEXT: PhysicalAddress: 0x80
748 ; OBJ64-NEXT: VirtualAddress: 0x80
749 ; OBJ64-NEXT: Size: 0x6C
750 ; OBJ64-NEXT: RawDataOffset: 0x0
751 ; OBJ64-NEXT: RelocationPointer: 0x0
752 ; OBJ64-NEXT: LineNumberPointer: 0x0
753 ; OBJ64-NEXT: NumberOfRelocations: 0
754 ; OBJ64-NEXT: NumberOfLineNumbers: 0
755 ; OBJ64-NEXT: Type: STYP_BSS (0x80)