[NFC][RemoveDIs] Prefer iterators over inst-pointers in InstCombine
[llvm-project.git] / llvm / test / CodeGen / PowerPC / aix-weak.ll
blobbc098b83e372f2e5536ae1de3d01edcae3a62daa
1 ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
2 ; RUN:   -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT32 %s
4 ; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
5 ; RUN:   -mattr=-altivec -data-sections=false < %s | FileCheck --check-prefixes=COMMON,BIT64 %s
7 ; RUN: llc -verify-machineinstrs -mtriple powerpc-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
8 ; RUN:   -mattr=-altivec -data-sections=false -filetype=obj -o %t.o < %s
9 ; RUN: llvm-readobj --symbols %t.o | FileCheck --check-prefixes=CHECKSYM,CHECKSYM32 %s
11 ; RUN: llc -verify-machineinstrs -mtriple powerpc64-ibm-aix-xcoff -xcoff-traceback-table=false -mcpu=pwr4 \
12 ; RUN:   -mattr=-altivec -data-sections=false -filetype=obj -o %t64.o < %s
13 ; RUN: llvm-readobj --symbols %t64.o | FileCheck --check-prefixes=CHECKSYM,CHECKSYM64 %s
15 @foo_weak_p = global ptr @foo_ref_weak, align 4
16 @b = weak global i32 0, align 4
18 define weak void @foo_weak(ptr %p)  {
19 entry:
20   %p.addr = alloca ptr, align 4
21   store ptr %p, ptr %p.addr, align 4
22   %0 = load ptr, ptr %p.addr, align 4
23   %1 = load i32, ptr %0, align 4
24   %inc = add nsw i32 %1, 1
25   store i32 %inc, ptr %0, align 4
26   ret void
29 define weak void @foo_ref_weak()  {
30 entry:
31   ret void
34 define i32 @main()  {
35 entry:
36   %0 = load ptr, ptr @foo_weak_p, align 4
37   call void %0()
38   call void @foo_weak(ptr @b)
39   call void @foo_ref_weak()
40   ret i32 0
43 ; COMMON:               .weak   foo_weak[DS]            # -- Begin function foo_weak
44 ; COMMON-NEXT:          .weak   .foo_weak
45 ; COMMON-NEXT:          .align  4
46 ; COMMON-NEXT:          .csect foo_weak[DS]
47 ; BIT32-NEXT:           .vbyte  4, .foo_weak               # @foo_weak
48 ; BIT32-NEXT:           .vbyte  4, TOC[TC0]
49 ; BIT32-NEXT:           .vbyte  4, 0
50 ; BIT64-NEXT:           .vbyte  8, .foo_weak               # @foo_weak
51 ; BIT64-NEXT:           .vbyte  8, TOC[TC0]
52 ; BIT64-NEXT:           .vbyte  8, 0
53 ; COMMON-NEXT:          .csect [PR]
54 ; COMMON-NEXT:  .foo_weak:
56 ; COMMON:               .weak   foo_ref_weak[DS]        # -- Begin function foo_ref_weak
57 ; COMMON-NEXT:          .weak   .foo_ref_weak
58 ; COMMON-NEXT:          .align  4
59 ; COMMON-NEXT:          .csect foo_ref_weak[DS]
60 ; BIT32-NEXT:           .vbyte  4, .foo_ref_weak           # @foo_ref_weak
61 ; BIT32-NEXT:           .vbyte  4, TOC[TC0]
62 ; BIT32-NEXT:           .vbyte  4, 0
63 ; BIT64-NEXT:           .vbyte  8, .foo_ref_weak           # @foo_ref_weak
64 ; BIT64-NEXT:           .vbyte  8, TOC[TC0]
65 ; BIT64-NEXT:           .vbyte  8, 0
66 ; COMMON-NEXT:          .csect [PR]
67 ; COMMON-NEXT:  .foo_ref_weak:
69 ; COMMON:               .globl  main[DS]                # -- Begin function main
70 ; COMMON-NEXT:          .globl  .main
71 ; COMMON-NEXT:          .align  4
72 ; COMMON-NEXT:          .csect main[DS]
73 ; BIT32-NEXT:           .vbyte  4, .main                   # @main
74 ; BIT32-NEXT:           .vbyte  4, TOC[TC0]
75 ; BIT32-NEXT:           .vbyte  4, 0
76 ; BIT64-NEXT:           .vbyte  8, .main                   # @main
77 ; BIT64-NEXT:           .vbyte  8, TOC[TC0]
78 ; BIT64-NEXT:           .vbyte  8, 0
79 ; COMMON-NEXT:          .csect [PR]
80 ; COMMON-NEXT:  .main:
82 ; COMMON:               .csect .data[RW]
83 ; COMMON-NEXT:          .globl  foo_weak_p
84 ; BIT32-NEXT:           .align  2
85 ; BIT64-NEXT:           .align  3
86 ; COMMON-NEXT:  foo_weak_p:
87 ; BIT32-NEXT:           .vbyte  4, foo_ref_weak[DS]
88 ; BIT64-NEXT:           .vbyte  8, foo_ref_weak[DS]
89 ; COMMON-NEXT:          .weak   b
90 ; COMMON-NEXT:          .align  2
91 ; COMMON-NEXT:  b:
92 ; COMMON-NEXT:          .vbyte  4, 0                       # 0x0
93 ; COMMON-NEXT:          .toc
94 ; COMMON-NEXT:  L..C0:
95 ; COMMON-NEXT:          .tc foo_weak_p[TC],foo_weak_p
96 ; COMMON-NEXT:  L..C1:
97 ; COMMON-NEXT:          .tc b[TC],b
100 ; CHECKSYM:      Symbols [
101 ; CHECKSYM-NEXT:   Symbol {
102 ; CHECKSYM-NEXT:     Index: 0
103 ; CHECKSYM-NEXT:     Name: <stdin>
104 ; CHECKSYM-NEXT:     Value (SymbolTableIndex): 0x0
105 ; CHECKSYM-NEXT:     Section: N_DEBUG
106 ; CHECKSYM-NEXT:     Source Language ID: TB_CPLUSPLUS (0x9)
107 ; CHECKSYM32-NEXT:   CPU Version ID: TCPU_COM (0x3)
108 ; CHECKSYM64-NEXT:   CPU Version ID: TCPU_PPC64 (0x2)
109 ; CHECKSYM-NEXT:     StorageClass: C_FILE (0x67)
110 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 0
111 ; CHECKSYM-NEXT:   }
112 ; CHECKSYM-NEXT:   Symbol {
113 ; CHECKSYM-NEXT:     Index: [[#Index:]]
114 ; CHECKSYM-NEXT:     Name: 
115 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x0
116 ; CHECKSYM-NEXT:     Section: .text
117 ; CHECKSYM-NEXT:     Type: 0x0
118 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
119 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
120 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
121 ; CHECKSYM-NEXT:       Index: [[#Index+1]]
122 ; CHECKSYM-NEXT:       SectionLen: 136
123 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
124 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
125 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 5
126 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
127 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
128 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
129 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
130 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
131 ; CHECKSYM-NEXT:     }
132 ; CHECKSYM-NEXT:   }
133 ; CHECKSYM-NEXT:   Symbol {
134 ; CHECKSYM-NEXT:     Index: [[#Index+2]]
135 ; CHECKSYM-NEXT:     Name: .foo_weak
136 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x0
137 ; CHECKSYM-NEXT:     Section: .text
138 ; CHECKSYM-NEXT:     Type: 0x0
139 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
140 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
141 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
142 ; CHECKSYM-NEXT:       Index: [[#Index+3]]
143 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
144 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
145 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
146 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
147 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
148 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
149 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
150 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
151 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
152 ; CHECKSYM-NEXT:     }
153 ; CHECKSYM-NEXT:   }
154 ; CHECKSYM-NEXT:   Symbol {
155 ; CHECKSYM-NEXT:     Index: [[#Index+4]]
156 ; CHECKSYM-NEXT:     Name: .foo_ref_weak
157 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x20
158 ; CHECKSYM-NEXT:     Section: .text
159 ; CHECKSYM-NEXT:     Type: 0x0
160 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
161 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
162 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
163 ; CHECKSYM-NEXT:       Index: [[#Index+5]]
164 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
165 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
166 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
167 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
168 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
169 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
170 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
171 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
172 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
173 ; CHECKSYM-NEXT:     }
174 ; CHECKSYM-NEXT:   }
175 ; CHECKSYM-NEXT:   Symbol {
176 ; CHECKSYM-NEXT:     Index: [[#Index+6]]
177 ; CHECKSYM-NEXT:     Name: .main
178 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x30
179 ; CHECKSYM-NEXT:     Section: .text
180 ; CHECKSYM-NEXT:     Type: 0x0
181 ; CHECKSYM-NEXT:     StorageClass: C_EXT (0x2)
182 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
183 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
184 ; CHECKSYM-NEXT:       Index: [[#Index+7]]
185 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
186 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
187 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
188 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
189 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
190 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_PR (0x0)
191 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
192 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
193 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
194 ; CHECKSYM-NEXT:     }
195 ; CHECKSYM-NEXT:   }
196 ; CHECKSYM-NEXT:   Symbol {
197 ; CHECKSYM-NEXT:     Index: [[#Index+8]]
198 ; CHECKSYM-NEXT:     Name: .data
199 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x88
200 ; CHECKSYM-NEXT:     Section: .data
201 ; CHECKSYM-NEXT:     Type: 0x0
202 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
203 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
204 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
205 ; CHECKSYM-NEXT:       Index: [[#Index+9]]
206 ; CHECKSYM32-NEXT:     SectionLen: 8
207 ; CHECKSYM64-NEXT:     SectionLen: 12
208 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
209 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
210 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
211 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
212 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
213 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
214 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
215 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
216 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
217 ; CHECKSYM-NEXT:     }
218 ; CHECKSYM-NEXT:   }
219 ; CHECKSYM-NEXT:   Symbol {
220 ; CHECKSYM-NEXT:     Index: [[#Index+10]]
221 ; CHECKSYM-NEXT:     Name: foo_weak_p
222 ; CHECKSYM-NEXT:     Value (RelocatableAddress): 0x88
223 ; CHECKSYM-NEXT:     Section: .data
224 ; CHECKSYM-NEXT:     Type: 0x0
225 ; CHECKSYM-NEXT:     StorageClass: C_EXT (0x2)
226 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
227 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
228 ; CHECKSYM-NEXT:       Index: [[#Index+11]]
229 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index+8]]
230 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
231 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
232 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
233 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
234 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
235 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
236 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
237 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
238 ; CHECKSYM-NEXT:     }
239 ; CHECKSYM-NEXT:   }
240 ; CHECKSYM-NEXT:   Symbol {
241 ; CHECKSYM-NEXT:     Index: [[#Index+12]]
242 ; CHECKSYM-NEXT:     Name: b
243 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0x8C
244 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0x90
245 ; CHECKSYM-NEXT:     Section: .data
246 ; CHECKSYM-NEXT:     Type: 0x0
247 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
248 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
249 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
250 ; CHECKSYM-NEXT:       Index: [[#Index+13]]
251 ; CHECKSYM-NEXT:       ContainingCsectSymbolIndex: [[#Index+8]]
252 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
253 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
254 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 0
255 ; CHECKSYM-NEXT:       SymbolType: XTY_LD (0x2)
256 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_RW (0x5)
257 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
258 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
259 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
260 ; CHECKSYM-NEXT:     }
261 ; CHECKSYM-NEXT:   }
262 ; CHECKSYM-NEXT:   Symbol {
263 ; CHECKSYM-NEXT:     Index: [[#Index+14]]
264 ; CHECKSYM-NEXT:     Name: foo_weak
265 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0x90
266 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0x98
267 ; CHECKSYM-NEXT:     Section: .data
268 ; CHECKSYM-NEXT:     Type: 0x0
269 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
270 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
271 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
272 ; CHECKSYM-NEXT:       Index: [[#Index+15]]
273 ; CHECKSYM32-NEXT:     SectionLen: 12
274 ; CHECKSYM64-NEXT:     SectionLen: 24
275 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
276 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
277 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
278 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
279 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
280 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
281 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
282 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
283 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
284 ; CHECKSYM-NEXT:     }
285 ; CHECKSYM-NEXT:   }
286 ; CHECKSYM-NEXT:   Symbol {
287 ; CHECKSYM-NEXT:     Index: [[#Index+16]]
288 ; CHECKSYM-NEXT:     Name: foo_ref_weak
289 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0x9C
290 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xB0
291 ; CHECKSYM-NEXT:     Section: .data
292 ; CHECKSYM-NEXT:     Type: 0x0
293 ; CHECKSYM-NEXT:     StorageClass: C_WEAKEXT (0x6F)
294 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
295 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
296 ; CHECKSYM-NEXT:       Index: [[#Index+17]]
297 ; CHECKSYM32-NEXT:     SectionLen: 12
298 ; CHECKSYM64-NEXT:     SectionLen: 24
299 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
300 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
301 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
302 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
303 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
304 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
305 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
306 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
307 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
308 ; CHECKSYM-NEXT:     }
309 ; CHECKSYM-NEXT:   }
310 ; CHECKSYM-NEXT:   Symbol {
311 ; CHECKSYM-NEXT:     Index: [[#Index+18]]
312 ; CHECKSYM-NEXT:     Name: main
313 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xA8
314 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xC8
315 ; CHECKSYM-NEXT:     Section: .data
316 ; CHECKSYM-NEXT:     Type: 0x0
317 ; CHECKSYM-NEXT:     StorageClass: C_EXT (0x2)
318 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
319 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
320 ; CHECKSYM-NEXT:       Index: [[#Index+19]]
321 ; CHECKSYM32-NEXT:     SectionLen: 12
322 ; CHECKSYM64-NEXT:     SectionLen: 24
323 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
324 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
325 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
326 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
327 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
328 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_DS (0xA)
329 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
330 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
331 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
332 ; CHECKSYM-NEXT:     }
333 ; CHECKSYM-NEXT:   }
334 ; CHECKSYM-NEXT:   Symbol {
335 ; CHECKSYM-NEXT:     Index: [[#Index+20]]
336 ; CHECKSYM-NEXT:     Name: TOC
337 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xB4
338 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xE0
339 ; CHECKSYM-NEXT:     Section: .data
340 ; CHECKSYM-NEXT:     Type: 0x0
341 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
342 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
343 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
344 ; CHECKSYM-NEXT:       Index: [[#Index+21]]
345 ; CHECKSYM-NEXT:       SectionLen: 0
346 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
347 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
348 ; CHECKSYM-NEXT:       SymbolAlignmentLog2: 2
349 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
350 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_TC0 (0xF)
351 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
352 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
353 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
354 ; CHECKSYM-NEXT:     }
355 ; CHECKSYM-NEXT:   }
356 ; CHECKSYM-NEXT:   Symbol {
357 ; CHECKSYM-NEXT:     Index: [[#Index+22]]
358 ; CHECKSYM-NEXT:     Name: foo_weak_p
359 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xB4
360 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xE0
361 ; CHECKSYM-NEXT:     Section: .data
362 ; CHECKSYM-NEXT:     Type: 0x0
363 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
364 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
365 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
366 ; CHECKSYM-NEXT:       Index: [[#Index+23]]
367 ; CHECKSYM32-NEXT:     SectionLen: 4
368 ; CHECKSYM64-NEXT:     SectionLen: 8
369 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
370 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
371 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
372 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
373 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
374 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
375 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
376 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
377 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
378 ; CHECKSYM-NEXT:     }
379 ; CHECKSYM-NEXT:   }
380 ; CHECKSYM-NEXT:   Symbol {
381 ; CHECKSYM-NEXT:     Index: [[#Index+24]]
382 ; CHECKSYM-NEXT:     Name: b
383 ; CHECKSYM32-NEXT:   Value (RelocatableAddress): 0xB8
384 ; CHECKSYM64-NEXT:   Value (RelocatableAddress): 0xE8
385 ; CHECKSYM-NEXT:     Section: .data
386 ; CHECKSYM-NEXT:     Type: 0x0
387 ; CHECKSYM-NEXT:     StorageClass: C_HIDEXT (0x6B)
388 ; CHECKSYM-NEXT:     NumberOfAuxEntries: 1
389 ; CHECKSYM-NEXT:     CSECT Auxiliary Entry {
390 ; CHECKSYM-NEXT:       Index: [[#Index+25]]
391 ; CHECKSYM32-NEXT:     SectionLen: 4
392 ; CHECKSYM64-NEXT:     SectionLen: 8
393 ; CHECKSYM-NEXT:       ParameterHashIndex: 0x0
394 ; CHECKSYM-NEXT:       TypeChkSectNum: 0x0
395 ; CHECKSYM32-NEXT:     SymbolAlignmentLog2: 2
396 ; CHECKSYM64-NEXT:     SymbolAlignmentLog2: 3
397 ; CHECKSYM-NEXT:       SymbolType: XTY_SD (0x1)
398 ; CHECKSYM-NEXT:       StorageMappingClass: XMC_TC (0x3)
399 ; CHECKSYM32-NEXT:     StabInfoIndex: 0x0
400 ; CHECKSYM32-NEXT:     StabSectNum: 0x0
401 ; CHECKSYM64-NEXT:     Auxiliary Type: AUX_CSECT (0xFB)
402 ; CHECKSYM-NEXT:     }
403 ; CHECKSYM-NEXT:   }
404 ; CHECKSYM-NEXT: ]