1
- ; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefixes CHECK,CHECK32 %s
2
- ; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff < %s 2>&1 | FileCheck --check-prefixes CHECK,CHECK64 %s
1
+ ; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefixes CHECK,CHECK32 %s
2
+ ; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff < %s 2>&1 | FileCheck --check-prefixes CHECK,CHECK64 %s
3
3
4
- ; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
4
+ ; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -filetype=obj -o %t.o < %s
5
5
; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYM %s
6
6
7
- ; RUN: not llc -verify-machineinstrs -mcpu=pwr7 -mtriple powerpc64-ibm-aix-xcoff -filetype=obj -o %t.o 2>&1 \
7
+ ; RUN: not llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -filetype=obj -o %t.o 2>&1 \
8
8
; RUN: < %s | FileCheck --check-prefix=XCOFF64 %s
9
9
; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
10
10
@@ -70,14 +70,92 @@ define void @foobar() {
70
70
; CHECK-NEXT: .tc foobar[TC],foobar[DS]
71
71
72
72
; SYM: File: {{.*}}aix-xcoff-toc.ll.tmp.o
73
- ; SYM: Symbol {{[{][[:space:]] *}}Index: [[#INDX:]]{{[[:space:]] *}}Name: TOC
73
+ ; SYM: Symbol {{[{][[:space:]] *}}Index: [[#UNDEF_INDX:]]{{[[:space:]] *}}Name: a
74
+ ; SYM-NEXT: Value (RelocatableAddress): 0x0
75
+ ; SYM-NEXT: Section: N_UNDEF
76
+ ; SYM-NEXT: Type: 0x0
77
+ ; SYM-NEXT: StorageClass: C_EXT (0x2)
78
+ ; SYM-NEXT: NumberOfAuxEntries: 1
79
+ ; SYM-NEXT: CSECT Auxiliary Entry {
80
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+1]]
81
+ ; SYM-NEXT: SectionLen: 0
82
+ ; SYM-NEXT: ParameterHashIndex: 0x0
83
+ ; SYM-NEXT: TypeChkSectNum: 0x0
84
+ ; SYM-NEXT: SymbolAlignmentLog2: 0
85
+ ; SYM-NEXT: SymbolType: XTY_ER (0x0)
86
+ ; SYM-NEXT: StorageMappingClass: XMC_UA (0x4)
87
+ ; SYM-NEXT: StabInfoIndex: 0x0
88
+ ; SYM-NEXT: StabSectNum: 0x0
89
+ ; SYM-NEXT: }
90
+ ; SYM-NEXT: }
91
+ ; SYM-NEXT: Symbol {
92
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+2]]
93
+ ; SYM-NEXT: Name: b
94
+ ; SYM-NEXT: Value (RelocatableAddress): 0x0
95
+ ; SYM-NEXT: Section: N_UNDEF
96
+ ; SYM-NEXT: Type: 0x0
97
+ ; SYM-NEXT: StorageClass: C_EXT (0x2)
98
+ ; SYM-NEXT: NumberOfAuxEntries: 1
99
+ ; SYM-NEXT: CSECT Auxiliary Entry {
100
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+3]]
101
+ ; SYM-NEXT: SectionLen: 0
102
+ ; SYM-NEXT: ParameterHashIndex: 0x0
103
+ ; SYM-NEXT: TypeChkSectNum: 0x0
104
+ ; SYM-NEXT: SymbolAlignmentLog2: 0
105
+ ; SYM-NEXT: SymbolType: XTY_ER (0x0)
106
+ ; SYM-NEXT: StorageMappingClass: XMC_UA (0x4)
107
+ ; SYM-NEXT: StabInfoIndex: 0x0
108
+ ; SYM-NEXT: StabSectNum: 0x0
109
+ ; SYM-NEXT: }
110
+ ; SYM-NEXT: }
111
+ ; SYM-NEXT: Symbol {
112
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+4]]
113
+ ; SYM-NEXT: Name: c
114
+ ; SYM-NEXT: Value (RelocatableAddress): 0x0
115
+ ; SYM-NEXT: Section: N_UNDEF
116
+ ; SYM-NEXT: Type: 0x0
117
+ ; SYM-NEXT: StorageClass: C_EXT (0x2)
118
+ ; SYM-NEXT: NumberOfAuxEntries: 1
119
+ ; SYM-NEXT: CSECT Auxiliary Entry {
120
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+5]]
121
+ ; SYM-NEXT: SectionLen: 0
122
+ ; SYM-NEXT: ParameterHashIndex: 0x0
123
+ ; SYM-NEXT: TypeChkSectNum: 0x0
124
+ ; SYM-NEXT: SymbolAlignmentLog2: 0
125
+ ; SYM-NEXT: SymbolType: XTY_ER (0x0)
126
+ ; SYM-NEXT: StorageMappingClass: XMC_UA (0x4)
127
+ ; SYM-NEXT: StabInfoIndex: 0x0
128
+ ; SYM-NEXT: StabSectNum: 0x0
129
+ ; SYM-NEXT: }
130
+ ; SYM-NEXT: }
131
+ ; SYM-NEXT: Symbol {
132
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+6]]
133
+ ; SYM-NEXT: Name: foo
134
+ ; SYM-NEXT: Value (RelocatableAddress): 0x0
135
+ ; SYM-NEXT: Section: N_UNDEF
136
+ ; SYM-NEXT: Type: 0x0
137
+ ; SYM-NEXT: StorageClass: C_EXT (0x2)
138
+ ; SYM-NEXT: NumberOfAuxEntries: 1
139
+ ; SYM-NEXT: CSECT Auxiliary Entry {
140
+ ; SYM-NEXT: Index: [[#UNDEF_INDX+7]]
141
+ ; SYM-NEXT: SectionLen: 0
142
+ ; SYM-NEXT: ParameterHashIndex: 0x0
143
+ ; SYM-NEXT: TypeChkSectNum: 0x0
144
+ ; SYM-NEXT: SymbolAlignmentLog2: 0
145
+ ; SYM-NEXT: SymbolType: XTY_ER (0x0)
146
+ ; SYM-NEXT: StorageMappingClass: XMC_DS (0xA)
147
+ ; SYM-NEXT: StabInfoIndex: 0x0
148
+ ; SYM-NEXT: StabSectNum: 0x0
149
+ ; SYM-NEXT: }
150
+ ; SYM-NEXT: }
151
+ ; SYM: Symbol {{[{][[:space:]] *}}Index: [[#TOC_INDX:]]{{[[:space:]] *}}Name: TOC
74
152
; SYM-NEXT: Value (RelocatableAddress): 0xA8
75
153
; SYM-NEXT: Section: .data
76
154
; SYM-NEXT: Type: 0x0
77
155
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
78
156
; SYM-NEXT: NumberOfAuxEntries: 1
79
157
; SYM-NEXT: CSECT Auxiliary Entry {
80
- ; SYM-NEXT: Index: [[#INDX +1]]
158
+ ; SYM-NEXT: Index: [[#TOC_INDX +1]]
81
159
; SYM-NEXT: SectionLen: 0
82
160
; SYM-NEXT: ParameterHashIndex: 0x0
83
161
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -89,15 +167,15 @@ define void @foobar() {
89
167
; SYM-NEXT: }
90
168
; SYM-NEXT: }
91
169
; SYM-NEXT: Symbol {
92
- ; SYM-NEXT: Index: [[#INDX +2]]
170
+ ; SYM-NEXT: Index: [[#TOC_INDX +2]]
93
171
; SYM-NEXT: Name: a
94
172
; SYM-NEXT: Value (RelocatableAddress): 0xA8
95
173
; SYM-NEXT: Section: .data
96
174
; SYM-NEXT: Type: 0x0
97
175
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
98
176
; SYM-NEXT: NumberOfAuxEntries: 1
99
177
; SYM-NEXT: CSECT Auxiliary Entry {
100
- ; SYM-NEXT: Index: [[#INDX +3]]
178
+ ; SYM-NEXT: Index: [[#TOC_INDX +3]]
101
179
; SYM-NEXT: SectionLen: 4
102
180
; SYM-NEXT: ParameterHashIndex: 0x0
103
181
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -109,15 +187,15 @@ define void @foobar() {
109
187
; SYM-NEXT: }
110
188
; SYM-NEXT: }
111
189
; SYM-NEXT: Symbol {
112
- ; SYM-NEXT: Index: [[#INDX +4]]
190
+ ; SYM-NEXT: Index: [[#TOC_INDX +4]]
113
191
; SYM-NEXT: Name: b
114
192
; SYM-NEXT: Value (RelocatableAddress): 0xAC
115
193
; SYM-NEXT: Section: .data
116
194
; SYM-NEXT: Type: 0x0
117
195
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
118
196
; SYM-NEXT: NumberOfAuxEntries: 1
119
197
; SYM-NEXT: CSECT Auxiliary Entry {
120
- ; SYM-NEXT: Index: [[#INDX +5]]
198
+ ; SYM-NEXT: Index: [[#TOC_INDX +5]]
121
199
; SYM-NEXT: SectionLen: 4
122
200
; SYM-NEXT: ParameterHashIndex: 0x0
123
201
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -129,15 +207,15 @@ define void @foobar() {
129
207
; SYM-NEXT: }
130
208
; SYM-NEXT: }
131
209
; SYM-NEXT: Symbol {
132
- ; SYM-NEXT: Index: [[#INDX +6]]
210
+ ; SYM-NEXT: Index: [[#TOC_INDX +6]]
133
211
; SYM-NEXT: Name: c
134
212
; SYM-NEXT: Value (RelocatableAddress): 0xB0
135
213
; SYM-NEXT: Section: .data
136
214
; SYM-NEXT: Type: 0x0
137
215
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
138
216
; SYM-NEXT: NumberOfAuxEntries: 1
139
217
; SYM-NEXT: CSECT Auxiliary Entry {
140
- ; SYM-NEXT: Index: [[#INDX +7]]
218
+ ; SYM-NEXT: Index: [[#TOC_INDX +7]]
141
219
; SYM-NEXT: SectionLen: 4
142
220
; SYM-NEXT: ParameterHashIndex: 0x0
143
221
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -149,15 +227,15 @@ define void @foobar() {
149
227
; SYM-NEXT: }
150
228
; SYM-NEXT: }
151
229
; SYM-NEXT: Symbol {
152
- ; SYM-NEXT: Index: [[#INDX +8]]
230
+ ; SYM-NEXT: Index: [[#TOC_INDX +8]]
153
231
; SYM-NEXT: Name: globa
154
232
; SYM-NEXT: Value (RelocatableAddress): 0xB4
155
233
; SYM-NEXT: Section: .data
156
234
; SYM-NEXT: Type: 0x0
157
235
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
158
236
; SYM-NEXT: NumberOfAuxEntries: 1
159
237
; SYM-NEXT: CSECT Auxiliary Entry {
160
- ; SYM-NEXT: Index: [[#INDX +9]]
238
+ ; SYM-NEXT: Index: [[#TOC_INDX +9]]
161
239
; SYM-NEXT: SectionLen: 4
162
240
; SYM-NEXT: ParameterHashIndex: 0x0
163
241
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -169,15 +247,15 @@ define void @foobar() {
169
247
; SYM-NEXT: }
170
248
; SYM-NEXT: }
171
249
; SYM-NEXT: Symbol {
172
- ; SYM-NEXT: Index: [[#INDX +10]]
250
+ ; SYM-NEXT: Index: [[#TOC_INDX +10]]
173
251
; SYM-NEXT: Name: ptr
174
252
; SYM-NEXT: Value (RelocatableAddress): 0xB8
175
253
; SYM-NEXT: Section: .data
176
254
; SYM-NEXT: Type: 0x0
177
255
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
178
256
; SYM-NEXT: NumberOfAuxEntries: 1
179
257
; SYM-NEXT: CSECT Auxiliary Entry {
180
- ; SYM-NEXT: Index: [[#INDX +11]]
258
+ ; SYM-NEXT: Index: [[#TOC_INDX +11]]
181
259
; SYM-NEXT: SectionLen: 4
182
260
; SYM-NEXT: ParameterHashIndex: 0x0
183
261
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -189,15 +267,15 @@ define void @foobar() {
189
267
; SYM-NEXT: }
190
268
; SYM-NEXT: }
191
269
; SYM-NEXT: Symbol {
192
- ; SYM-NEXT: Index: [[#INDX +12]]
270
+ ; SYM-NEXT: Index: [[#TOC_INDX +12]]
193
271
; SYM-NEXT: Name: bar
194
272
; SYM-NEXT: Value (RelocatableAddress): 0xBC
195
273
; SYM-NEXT: Section: .data
196
274
; SYM-NEXT: Type: 0x0
197
275
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
198
276
; SYM-NEXT: NumberOfAuxEntries: 1
199
277
; SYM-NEXT: CSECT Auxiliary Entry {
200
- ; SYM-NEXT: Index: [[#INDX +13]]
278
+ ; SYM-NEXT: Index: [[#TOC_INDX +13]]
201
279
; SYM-NEXT: SectionLen: 4
202
280
; SYM-NEXT: ParameterHashIndex: 0x0
203
281
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -209,15 +287,15 @@ define void @foobar() {
209
287
; SYM-NEXT: }
210
288
; SYM-NEXT: }
211
289
; SYM-NEXT: Symbol {
212
- ; SYM-NEXT: Index: [[#INDX +14]]
290
+ ; SYM-NEXT: Index: [[#TOC_INDX +14]]
213
291
; SYM-NEXT: Name: foo
214
292
; SYM-NEXT: Value (RelocatableAddress): 0xC0
215
293
; SYM-NEXT: Section: .data
216
294
; SYM-NEXT: Type: 0x0
217
295
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
218
296
; SYM-NEXT: NumberOfAuxEntries: 1
219
297
; SYM-NEXT: CSECT Auxiliary Entry {
220
- ; SYM-NEXT: Index: [[#INDX +15]]
298
+ ; SYM-NEXT: Index: [[#TOC_INDX +15]]
221
299
; SYM-NEXT: SectionLen: 4
222
300
; SYM-NEXT: ParameterHashIndex: 0x0
223
301
; SYM-NEXT: TypeChkSectNum: 0x0
@@ -229,15 +307,15 @@ define void @foobar() {
229
307
; SYM-NEXT: }
230
308
; SYM-NEXT: }
231
309
; SYM-NEXT: Symbol {
232
- ; SYM-NEXT: Index: [[#INDX +16]]
310
+ ; SYM-NEXT: Index: [[#TOC_INDX +16]]
233
311
; SYM-NEXT: Name: foobar
234
312
; SYM-NEXT: Value (RelocatableAddress): 0xC4
235
313
; SYM-NEXT: Section: .data
236
314
; SYM-NEXT: Type: 0x0
237
315
; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
238
316
; SYM-NEXT: NumberOfAuxEntries: 1
239
317
; SYM-NEXT: CSECT Auxiliary Entry {
240
- ; SYM-NEXT: Index: [[#INDX +17]]
318
+ ; SYM-NEXT: Index: [[#TOC_INDX +17]]
241
319
; SYM-NEXT: SectionLen: 4
242
320
; SYM-NEXT: ParameterHashIndex: 0x0
243
321
; SYM-NEXT: TypeChkSectNum: 0x0
0 commit comments