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 [PR],5
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: <stdin>
212 ; SYMS-NEXT: Value (SymbolTableIndex): 0x0
213 ; SYMS-NEXT: Section: N_DEBUG
214 ; SYMS-NEXT: Source Language ID: TB_CPLUSPLUS (0x9)
215 ; SYMS32-NEXT: CPU Version ID: TCPU_COM (0x3)
216 ; SYMS64-NEXT: CPU Version ID: TCPU_PPC64 (0x2)
217 ; SYMS-NEXT: StorageClass: C_FILE (0x67)
218 ; SYMS-NEXT: NumberOfAuxEntries: 0
220 ; SYMS-NEXT: Symbol {
221 ; SYMS-NEXT: Index: [[#INDX:]]
223 ; SYMS-NEXT: Value (RelocatableAddress): 0x0
224 ; SYMS-NEXT: Section: .text
225 ; SYMS-NEXT: Type: 0x0
226 ; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B)
227 ; SYMS-NEXT: NumberOfAuxEntries: 1
228 ; SYMS-NEXT: CSECT Auxiliary Entry {
229 ; SYMS-NEXT: Index: [[#INDX+1]]
230 ; SYMS-NEXT: SectionLen: 0
231 ; SYMS-NEXT: ParameterHashIndex: 0x0
232 ; SYMS-NEXT: TypeChkSectNum: 0x0
233 ; SYMS-NEXT: SymbolAlignmentLog2: 5
234 ; SYMS-NEXT: SymbolType: XTY_SD (0x1)
235 ; SYMS-NEXT: StorageMappingClass: XMC_PR (0x0)
236 ; SYMS32-NEXT: StabInfoIndex: 0x0
237 ; SYMS32-NEXT: StabSectNum: 0x0
238 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
243 ; SYMS-NEXT: Index: [[#INDX+2]]
244 ; SYMS-NEXT: Name: .data
245 ; SYMS-NEXT: Value (RelocatableAddress): 0x0
246 ; SYMS-NEXT: Section: .data
247 ; SYMS-NEXT: Type: 0x0
248 ; SYMS-NEXT: StorageClass: C_HIDEXT (0x6B)
249 ; SYMS-NEXT: NumberOfAuxEntries: 1
250 ; SYMS-NEXT: CSECT Auxiliary Entry {
251 ; SYMS-NEXT: Index: [[#INDX+3]]
252 ; SYMS-NEXT: SectionLen: 128
253 ; SYMS-NEXT: ParameterHashIndex: 0x0
254 ; SYMS-NEXT: TypeChkSectNum: 0x0
255 ; SYMS-NEXT: SymbolAlignmentLog2: 5
256 ; SYMS-NEXT: SymbolType: XTY_SD (0x1)
257 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
258 ; SYMS32-NEXT: StabInfoIndex: 0x0
259 ; SYMS32-NEXT: StabSectNum: 0x0
260 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
265 ; SYMS-NEXT: Index: [[#INDX+4]]
266 ; SYMS-NEXT: Name: ivar
267 ; SYMS-NEXT: Value (RelocatableAddress): 0x0
268 ; SYMS-NEXT: Section: .data
269 ; SYMS-NEXT: Type: 0x0
270 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
271 ; SYMS-NEXT: NumberOfAuxEntries: 1
272 ; SYMS-NEXT: CSECT Auxiliary Entry {
273 ; SYMS-NEXT: Index: [[#INDX+5]]
274 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
275 ; SYMS-NEXT: ParameterHashIndex: 0x0
276 ; SYMS-NEXT: TypeChkSectNum: 0x0
277 ; SYMS-NEXT: SymbolAlignmentLog2: 0
278 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
279 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
280 ; SYMS32-NEXT: StabInfoIndex: 0x0
281 ; SYMS32-NEXT: StabSectNum: 0x0
282 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
287 ; SYMS-NEXT: Index: [[#INDX+6]]
288 ; SYMS-NEXT: Name: llvar
289 ; SYMS-NEXT: Value (RelocatableAddress): 0x8
290 ; SYMS-NEXT: Section: .data
291 ; SYMS-NEXT: Type: 0x0
292 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
293 ; SYMS-NEXT: NumberOfAuxEntries: 1
294 ; SYMS-NEXT: CSECT Auxiliary Entry {
295 ; SYMS-NEXT: Index: [[#INDX+7]]
296 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
297 ; SYMS-NEXT: ParameterHashIndex: 0x0
298 ; SYMS-NEXT: TypeChkSectNum: 0x0
299 ; SYMS-NEXT: SymbolAlignmentLog2: 0
300 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
301 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
302 ; SYMS32-NEXT: StabInfoIndex: 0x0
303 ; SYMS32-NEXT: StabSectNum: 0x0
304 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
309 ; SYMS-NEXT: Index: [[#INDX+8]]
310 ; SYMS-NEXT: Name: svar
311 ; SYMS-NEXT: Value (RelocatableAddress): 0x10
312 ; SYMS-NEXT: Section: .data
313 ; SYMS-NEXT: Type: 0x0
314 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
315 ; SYMS-NEXT: NumberOfAuxEntries: 1
316 ; SYMS-NEXT: CSECT Auxiliary Entry {
317 ; SYMS-NEXT: Index: [[#INDX+9]]
318 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
319 ; SYMS-NEXT: ParameterHashIndex: 0x0
320 ; SYMS-NEXT: TypeChkSectNum: 0x0
321 ; SYMS-NEXT: SymbolAlignmentLog2: 0
322 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
323 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
324 ; SYMS32-NEXT: StabInfoIndex: 0x0
325 ; SYMS32-NEXT: StabSectNum: 0x0
326 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
331 ; SYMS-NEXT: Index: [[#INDX+10]]
332 ; SYMS-NEXT: Name: fvar
333 ; SYMS-NEXT: Value (RelocatableAddress): 0x14
334 ; SYMS-NEXT: Section: .data
335 ; SYMS-NEXT: Type: 0x0
336 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
337 ; SYMS-NEXT: NumberOfAuxEntries: 1
338 ; SYMS-NEXT: CSECT Auxiliary Entry {
339 ; SYMS-NEXT: Index: [[#INDX+11]]
340 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
341 ; SYMS-NEXT: ParameterHashIndex: 0x0
342 ; SYMS-NEXT: TypeChkSectNum: 0x0
343 ; SYMS-NEXT: SymbolAlignmentLog2: 0
344 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
345 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
346 ; SYMS32-NEXT: StabInfoIndex: 0x0
347 ; SYMS32-NEXT: StabSectNum: 0x0
348 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
353 ; SYMS-NEXT: Index: [[#INDX+12]]
354 ; SYMS-NEXT: Name: dvar
355 ; SYMS-NEXT: Value (RelocatableAddress): 0x18
356 ; SYMS-NEXT: Section: .data
357 ; SYMS-NEXT: Type: 0x0
358 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
359 ; SYMS-NEXT: NumberOfAuxEntries: 1
360 ; SYMS-NEXT: CSECT Auxiliary Entry {
361 ; SYMS-NEXT: Index: [[#INDX+13]]
362 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
363 ; SYMS-NEXT: ParameterHashIndex: 0x0
364 ; SYMS-NEXT: TypeChkSectNum: 0x0
365 ; SYMS-NEXT: SymbolAlignmentLog2: 0
366 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
367 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
368 ; SYMS32-NEXT: StabInfoIndex: 0x0
369 ; SYMS32-NEXT: StabSectNum: 0x0
370 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
375 ; SYMS-NEXT: Index: [[#INDX+14]]
376 ; SYMS-NEXT: Name: over_aligned
377 ; SYMS-NEXT: Value (RelocatableAddress): 0x20
378 ; SYMS-NEXT: Section: .data
379 ; SYMS-NEXT: Type: 0x0
380 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
381 ; SYMS-NEXT: NumberOfAuxEntries: 1
382 ; SYMS-NEXT: CSECT Auxiliary Entry {
383 ; SYMS-NEXT: Index: [[#INDX+15]]
384 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
385 ; SYMS-NEXT: ParameterHashIndex: 0x0
386 ; SYMS-NEXT: TypeChkSectNum: 0x0
387 ; SYMS-NEXT: SymbolAlignmentLog2: 0
388 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
389 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
390 ; SYMS32-NEXT: StabInfoIndex: 0x0
391 ; SYMS32-NEXT: StabSectNum: 0x0
392 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
397 ; SYMS-NEXT: Index: [[#INDX+16]]
398 ; SYMS-NEXT: Name: chrarray
399 ; SYMS-NEXT: Value (RelocatableAddress): 0x28
400 ; SYMS-NEXT: Section: .data
401 ; SYMS-NEXT: Type: 0x0
402 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
403 ; SYMS-NEXT: NumberOfAuxEntries: 1
404 ; SYMS-NEXT: CSECT Auxiliary Entry {
405 ; SYMS-NEXT: Index: [[#INDX+17]]
406 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
407 ; SYMS-NEXT: ParameterHashIndex: 0x0
408 ; SYMS-NEXT: TypeChkSectNum: 0x0
409 ; SYMS-NEXT: SymbolAlignmentLog2: 0
410 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
411 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
412 ; SYMS32-NEXT: StabInfoIndex: 0x0
413 ; SYMS32-NEXT: StabSectNum: 0x0
414 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
419 ; SYMS-NEXT: Index: [[#INDX+18]]
420 ; SYMS-NEXT: Name: dblarr
421 ; SYMS-NEXT: Value (RelocatableAddress): 0x30
422 ; SYMS-NEXT: Section: .data
423 ; SYMS-NEXT: Type: 0x0
424 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
425 ; SYMS-NEXT: NumberOfAuxEntries: 1
426 ; SYMS-NEXT: CSECT Auxiliary Entry {
427 ; SYMS-NEXT: Index: [[#INDX+19]]
428 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
429 ; SYMS-NEXT: ParameterHashIndex: 0x0
430 ; SYMS-NEXT: TypeChkSectNum: 0x0
431 ; SYMS-NEXT: SymbolAlignmentLog2: 0
432 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
433 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
434 ; SYMS32-NEXT: StabInfoIndex: 0x0
435 ; SYMS32-NEXT: StabSectNum: 0x0
436 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
441 ; SYMS-NEXT: Index: [[#INDX+20]]
442 ; SYMS-NEXT: Name: d_0
443 ; SYMS-NEXT: Value (RelocatableAddress): 0x50
444 ; SYMS-NEXT: Section: .data
445 ; SYMS-NEXT: Type: 0x0
446 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
447 ; SYMS-NEXT: NumberOfAuxEntries: 1
448 ; SYMS-NEXT: CSECT Auxiliary Entry {
449 ; SYMS-NEXT: Index: [[#INDX+21]]
450 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
451 ; SYMS-NEXT: ParameterHashIndex: 0x0
452 ; SYMS-NEXT: TypeChkSectNum: 0x0
453 ; SYMS-NEXT: SymbolAlignmentLog2: 0
454 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
455 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
456 ; SYMS32-NEXT: StabInfoIndex: 0x0
457 ; SYMS32-NEXT: StabSectNum: 0x0
458 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
463 ; SYMS-NEXT: Index: [[#INDX+22]]
464 ; SYMS-NEXT: Name: s_0
465 ; SYMS-NEXT: Value (RelocatableAddress): 0x58
466 ; SYMS-NEXT: Section: .data
467 ; SYMS-NEXT: Type: 0x0
468 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
469 ; SYMS-NEXT: NumberOfAuxEntries: 1
470 ; SYMS-NEXT: CSECT Auxiliary Entry {
471 ; SYMS-NEXT: Index: [[#INDX+23]]
472 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
473 ; SYMS-NEXT: ParameterHashIndex: 0x0
474 ; SYMS-NEXT: TypeChkSectNum: 0x0
475 ; SYMS-NEXT: SymbolAlignmentLog2: 0
476 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
477 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
478 ; SYMS32-NEXT: StabInfoIndex: 0x0
479 ; SYMS32-NEXT: StabSectNum: 0x0
480 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
485 ; SYMS-NEXT: Index: [[#INDX+24]]
486 ; SYMS-NEXT: Name: f_0
487 ; SYMS-NEXT: Value (RelocatableAddress): 0x5C
488 ; SYMS-NEXT: Section: .data
489 ; SYMS-NEXT: Type: 0x0
490 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
491 ; SYMS-NEXT: NumberOfAuxEntries: 1
492 ; SYMS-NEXT: CSECT Auxiliary Entry {
493 ; SYMS-NEXT: Index: [[#INDX+25]]
494 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
495 ; SYMS-NEXT: ParameterHashIndex: 0x0
496 ; SYMS-NEXT: TypeChkSectNum: 0x0
497 ; SYMS-NEXT: SymbolAlignmentLog2: 0
498 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
499 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
500 ; SYMS32-NEXT: StabInfoIndex: 0x0
501 ; SYMS32-NEXT: StabSectNum: 0x0
502 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
507 ; SYMS-NEXT: Index: [[#INDX+26]]
508 ; SYMS-NEXT: Name: astruct
509 ; SYMS-NEXT: Value (RelocatableAddress): 0x60
510 ; SYMS-NEXT: Section: .data
511 ; SYMS-NEXT: Type: 0x0
512 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
513 ; SYMS-NEXT: NumberOfAuxEntries: 1
514 ; SYMS-NEXT: CSECT Auxiliary Entry {
515 ; SYMS-NEXT: Index: [[#INDX+27]]
516 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
517 ; SYMS-NEXT: ParameterHashIndex: 0x0
518 ; SYMS-NEXT: TypeChkSectNum: 0x0
519 ; SYMS-NEXT: SymbolAlignmentLog2: 0
520 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
521 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
522 ; SYMS32-NEXT: StabInfoIndex: 0x0
523 ; SYMS32-NEXT: StabSectNum: 0x0
524 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
529 ; SYMS-NEXT: Index: [[#INDX+28]]
530 ; SYMS-NEXT: Name: bstruct
531 ; SYMS-NEXT: Value (RelocatableAddress): 0x70
532 ; SYMS-NEXT: Section: .data
533 ; SYMS-NEXT: Type: 0x0
534 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
535 ; SYMS-NEXT: NumberOfAuxEntries: 1
536 ; SYMS-NEXT: CSECT Auxiliary Entry {
537 ; SYMS-NEXT: Index: [[#INDX+29]]
538 ; SYMS-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]]
539 ; SYMS-NEXT: ParameterHashIndex: 0x0
540 ; SYMS-NEXT: TypeChkSectNum: 0x0
541 ; SYMS-NEXT: SymbolAlignmentLog2: 0
542 ; SYMS-NEXT: SymbolType: XTY_LD (0x2)
543 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
544 ; SYMS32-NEXT: StabInfoIndex: 0x0
545 ; SYMS32-NEXT: StabSectNum: 0x0
546 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
551 ; SYMS-NEXT: Index: [[#INDX+30]]
553 ; SYMS-NEXT: Value (RelocatableAddress): 0x80
554 ; SYMS-NEXT: Section: .bss
555 ; SYMS-NEXT: Type: 0x0
556 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
557 ; SYMS-NEXT: NumberOfAuxEntries: 1
558 ; SYMS-NEXT: CSECT Auxiliary Entry {
559 ; SYMS-NEXT: Index: [[#INDX+31]]
560 ; SYMS-NEXT: SectionLen: 4
561 ; SYMS-NEXT: ParameterHashIndex: 0x0
562 ; SYMS-NEXT: TypeChkSectNum: 0x0
563 ; SYMS-NEXT: SymbolAlignmentLog2: 2
564 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
565 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
566 ; SYMS32-NEXT: StabInfoIndex: 0x0
567 ; SYMS32-NEXT: StabSectNum: 0x0
568 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
573 ; SYMS-NEXT: Index: [[#INDX+32]]
575 ; SYMS-NEXT: Value (RelocatableAddress): 0x88
576 ; SYMS-NEXT: Section: .bss
577 ; SYMS-NEXT: Type: 0x0
578 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
579 ; SYMS-NEXT: NumberOfAuxEntries: 1
580 ; SYMS-NEXT: CSECT Auxiliary Entry {
581 ; SYMS-NEXT: Index: [[#INDX+33]]
582 ; SYMS-NEXT: SectionLen: 8
583 ; SYMS-NEXT: ParameterHashIndex: 0x0
584 ; SYMS-NEXT: TypeChkSectNum: 0x0
585 ; SYMS-NEXT: SymbolAlignmentLog2: 3
586 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
587 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
588 ; SYMS32-NEXT: StabInfoIndex: 0x0
589 ; SYMS32-NEXT: StabSectNum: 0x0
590 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
595 ; SYMS-NEXT: Index: [[#INDX+34]]
597 ; SYMS-NEXT: Value (RelocatableAddress): 0x90
598 ; SYMS-NEXT: Section: .bss
599 ; SYMS-NEXT: Type: 0x0
600 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
601 ; SYMS-NEXT: NumberOfAuxEntries: 1
602 ; SYMS-NEXT: CSECT Auxiliary Entry {
603 ; SYMS-NEXT: Index: [[#INDX+35]]
604 ; SYMS-NEXT: SectionLen: 2
605 ; SYMS-NEXT: ParameterHashIndex: 0x0
606 ; SYMS-NEXT: TypeChkSectNum: 0x0
607 ; SYMS-NEXT: SymbolAlignmentLog2: 1
608 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
609 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
610 ; SYMS32-NEXT: StabInfoIndex: 0x0
611 ; SYMS32-NEXT: StabSectNum: 0x0
612 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
617 ; SYMS-NEXT: Index: [[#INDX+36]]
619 ; SYMS-NEXT: Value (RelocatableAddress): 0x98
620 ; SYMS-NEXT: Section: .bss
621 ; SYMS-NEXT: Type: 0x0
622 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
623 ; SYMS-NEXT: NumberOfAuxEntries: 1
624 ; SYMS-NEXT: CSECT Auxiliary Entry {
625 ; SYMS-NEXT: Index: [[#INDX+37]]
626 ; SYMS-NEXT: SectionLen: 8
627 ; SYMS-NEXT: ParameterHashIndex: 0x0
628 ; SYMS-NEXT: TypeChkSectNum: 0x0
629 ; SYMS-NEXT: SymbolAlignmentLog2: 3
630 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
631 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
632 ; SYMS32-NEXT: StabInfoIndex: 0x0
633 ; SYMS32-NEXT: StabSectNum: 0x0
634 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
639 ; SYMS-NEXT: Index: [[#INDX+38]]
641 ; SYMS-NEXT: Value (RelocatableAddress): 0xA0
642 ; SYMS-NEXT: Section: .bss
643 ; SYMS-NEXT: Type: 0x0
644 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
645 ; SYMS-NEXT: NumberOfAuxEntries: 1
646 ; SYMS-NEXT: CSECT Auxiliary Entry {
647 ; SYMS-NEXT: Index: [[#INDX+39]]
648 ; SYMS-NEXT: SectionLen: 4
649 ; SYMS-NEXT: ParameterHashIndex: 0x0
650 ; SYMS-NEXT: TypeChkSectNum: 0x0
651 ; SYMS-NEXT: SymbolAlignmentLog2: 2
652 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
653 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
654 ; SYMS32-NEXT: StabInfoIndex: 0x0
655 ; SYMS32-NEXT: StabSectNum: 0x0
656 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
661 ; SYMS-NEXT: Index: [[#INDX+40]]
662 ; SYMS-NEXT: Name: over_aligned_comm
663 ; SYMS-NEXT: Value (RelocatableAddress): 0xC0
664 ; SYMS-NEXT: Section: .bss
665 ; SYMS-NEXT: Type: 0x0
666 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
667 ; SYMS-NEXT: NumberOfAuxEntries: 1
668 ; SYMS-NEXT: CSECT Auxiliary Entry {
669 ; SYMS-NEXT: Index: [[#INDX+41]]
670 ; SYMS-NEXT: SectionLen: 8
671 ; SYMS-NEXT: ParameterHashIndex: 0x0
672 ; SYMS-NEXT: TypeChkSectNum: 0x0
673 ; SYMS-NEXT: SymbolAlignmentLog2: 5
674 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
675 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
676 ; SYMS32-NEXT: StabInfoIndex: 0x0
677 ; SYMS32-NEXT: StabSectNum: 0x0
678 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
683 ; SYMS-NEXT: Index: [[#INDX+42]]
684 ; SYMS-NEXT: Name: array
685 ; SYMS-NEXT: Value (RelocatableAddress): 0xC8
686 ; SYMS-NEXT: Section: .bss
687 ; SYMS-NEXT: Type: 0x0
688 ; SYMS-NEXT: StorageClass: C_EXT (0x2)
689 ; SYMS-NEXT: NumberOfAuxEntries: 1
690 ; SYMS-NEXT: CSECT Auxiliary Entry {
691 ; SYMS-NEXT: Index: [[#INDX+43]]
692 ; SYMS-NEXT: SectionLen: 33
693 ; SYMS-NEXT: ParameterHashIndex: 0x0
694 ; SYMS-NEXT: TypeChkSectNum: 0x0
695 ; SYMS-NEXT: SymbolAlignmentLog2: 0
696 ; SYMS-NEXT: SymbolType: XTY_CM (0x3)
697 ; SYMS-NEXT: StorageMappingClass: XMC_RW (0x5)
698 ; SYMS32-NEXT: StabInfoIndex: 0x0
699 ; SYMS32-NEXT: StabSectNum: 0x0
700 ; SYMS64-NEXT: Auxiliary Type: AUX_CSECT (0xFB)
705 ; OBJ64: Format: aix5coff64-rs6000
706 ; OBJ64-NEXT: Arch: powerpc64
707 ; OBJ64-NEXT: AddressSize: 64bit
708 ; OBJ64-NEXT: FileHeader {
709 ; OBJ64-NEXT: Magic: 0x1F7
710 ; OBJ64-NEXT: NumberOfSections: 3
711 ; OBJ64-NEXT: TimeStamp: None (0x0)
712 ; OBJ64-NEXT: SymbolTableOffset: 0x170
713 ; OBJ64-NEXT: SymbolTableEntries: 45
714 ; OBJ64-NEXT: OptionalHeaderSize: 0x0
715 ; OBJ64-NEXT: Flags: 0x0
719 ; OBJ64-NEXT: Section {
720 ; OBJ64-NEXT: Index: [[#OBJ64_INDX:]]
721 ; OBJ64-NEXT: Name: .text
722 ; OBJ64-NEXT: PhysicalAddress: 0x0
723 ; OBJ64-NEXT: VirtualAddress: 0x0
724 ; OBJ64-NEXT: Size: 0x0
725 ; OBJ64-NEXT: RawDataOffset: 0xF0
726 ; OBJ64-NEXT: RelocationPointer: 0x0
727 ; OBJ64-NEXT: LineNumberPointer: 0x0
728 ; OBJ64-NEXT: NumberOfRelocations: 0
729 ; OBJ64-NEXT: NumberOfLineNumbers: 0
730 ; OBJ64-NEXT: Type: STYP_TEXT (0x20)
732 ; OBJ64-NEXT: Section {
733 ; OBJ64-NEXT: Index: [[#OBJ64_INDX+1]]
734 ; OBJ64-NEXT: Name: .data
735 ; OBJ64-NEXT: PhysicalAddress: 0x0
736 ; OBJ64-NEXT: VirtualAddress: 0x0
737 ; OBJ64-NEXT: Size: 0x80
738 ; OBJ64-NEXT: RawDataOffset: 0xF0
739 ; OBJ64-NEXT: RelocationPointer: 0x0
740 ; OBJ64-NEXT: LineNumberPointer: 0x0
741 ; OBJ64-NEXT: NumberOfRelocations: 0
742 ; OBJ64-NEXT: NumberOfLineNumbers: 0
743 ; OBJ64-NEXT: Type: STYP_DATA (0x40)
745 ; OBJ64-NEXT: Section {
746 ; OBJ64-NEXT: Index: [[#OBJ64_INDX+2]]
747 ; OBJ64-NEXT: Name: .bss
748 ; OBJ64-NEXT: PhysicalAddress: 0x80
749 ; OBJ64-NEXT: VirtualAddress: 0x80
750 ; OBJ64-NEXT: Size: 0x6C
751 ; OBJ64-NEXT: RawDataOffset: 0x0
752 ; OBJ64-NEXT: RelocationPointer: 0x0
753 ; OBJ64-NEXT: LineNumberPointer: 0x0
754 ; OBJ64-NEXT: NumberOfRelocations: 0
755 ; OBJ64-NEXT: NumberOfLineNumbers: 0
756 ; OBJ64-NEXT: Type: STYP_BSS (0x80)