1 ; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \
2 ; RUN: -xcoff-traceback-table=false -filetype=obj -function-sections -o %t.o < %s
3 ; RUN: llvm-readobj -s %t.o | FileCheck %s
5 define dso_local signext i32 @foo1() section "sect" {
10 define dso_local signext i32 @foo2() section "sect2" {
15 define dso_local signext i32 @foo3() section "sect2" {
20 define dso_local signext i32 @foo4() {
25 ; CHECK: Symbol {{[{][[:space:]] *}}Index: [[#INDX:]]{{[[:space:]] *}}Name: sect
26 ; CHECK-NEXT: Value (RelocatableAddress): 0x0
27 ; CHECK-NEXT: Section: .text
28 ; CHECK-NEXT: Type: 0x0
29 ; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B)
30 ; CHECK-NEXT: NumberOfAuxEntries: 1
31 ; CHECK-NEXT: CSECT Auxiliary Entry {
32 ; CHECK-NEXT: Index: [[#INDX+1]]
33 ; CHECK-NEXT: SectionLen: 8
34 ; CHECK-NEXT: ParameterHashIndex: 0x0
35 ; CHECK-NEXT: TypeChkSectNum: 0x0
36 ; CHECK-NEXT: SymbolAlignmentLog2: 5
37 ; CHECK-NEXT: SymbolType: XTY_SD (0x1)
38 ; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
39 ; CHECK-NEXT: StabInfoIndex: 0x0
40 ; CHECK-NEXT: StabSectNum: 0x0
43 ; CHECK-NEXT: Symbol {
44 ; CHECK-NEXT: Index: [[#INDX+2]]
45 ; CHECK-NEXT: Name: .foo1
46 ; CHECK-NEXT: Value (RelocatableAddress): 0x0
47 ; CHECK-NEXT: Section: .text
48 ; CHECK-NEXT: Type: 0x0
49 ; CHECK-NEXT: StorageClass: C_EXT (0x2)
50 ; CHECK-NEXT: NumberOfAuxEntries: 1
51 ; CHECK-NEXT: CSECT Auxiliary Entry {
52 ; CHECK-NEXT: Index: [[#INDX+3]]
53 ; CHECK-NEXT: ContainingCsectSymbolIndex: [[#INDX]]
54 ; CHECK-NEXT: ParameterHashIndex: 0x0
55 ; CHECK-NEXT: TypeChkSectNum: 0x0
56 ; CHECK-NEXT: SymbolAlignmentLog2: 0
57 ; CHECK-NEXT: SymbolType: XTY_LD (0x2)
58 ; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
59 ; CHECK-NEXT: StabInfoIndex: 0x0
60 ; CHECK-NEXT: StabSectNum: 0x0
63 ; CHECK-NEXT: Symbol {
64 ; CHECK-NEXT: Index: [[#INDX+4]]
65 ; CHECK-NEXT: Name: sect2
66 ; CHECK-NEXT: Value (RelocatableAddress): 0x20
67 ; CHECK-NEXT: Section: .text
68 ; CHECK-NEXT: Type: 0x0
69 ; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B)
70 ; CHECK-NEXT: NumberOfAuxEntries: 1
71 ; CHECK-NEXT: CSECT Auxiliary Entry {
72 ; CHECK-NEXT: Index: [[#INDX+5]]
73 ; CHECK-NEXT: SectionLen: 24
74 ; CHECK-NEXT: ParameterHashIndex: 0x0
75 ; CHECK-NEXT: TypeChkSectNum: 0x0
76 ; CHECK-NEXT: SymbolAlignmentLog2: 5
77 ; CHECK-NEXT: SymbolType: XTY_SD (0x1)
78 ; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
79 ; CHECK-NEXT: StabInfoIndex: 0x0
80 ; CHECK-NEXT: StabSectNum: 0x0
83 ; CHECK-NEXT: Symbol {
84 ; CHECK-NEXT: Index: [[#INDX+6]]
85 ; CHECK-NEXT: Name: .foo2
86 ; CHECK-NEXT: Value (RelocatableAddress): 0x20
87 ; CHECK-NEXT: Section: .text
88 ; CHECK-NEXT: Type: 0x0
89 ; CHECK-NEXT: StorageClass: C_EXT (0x2)
90 ; CHECK-NEXT: NumberOfAuxEntries: 1
91 ; CHECK-NEXT: CSECT Auxiliary Entry {
92 ; CHECK-NEXT: Index: [[#INDX+7]]
93 ; CHECK-NEXT: ContainingCsectSymbolIndex: [[#INDX+4]]
94 ; CHECK-NEXT: ParameterHashIndex: 0x0
95 ; CHECK-NEXT: TypeChkSectNum: 0x0
96 ; CHECK-NEXT: SymbolAlignmentLog2: 0
97 ; CHECK-NEXT: SymbolType: XTY_LD (0x2)
98 ; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
99 ; CHECK-NEXT: StabInfoIndex: 0x0
100 ; CHECK-NEXT: StabSectNum: 0x0
103 ; CHECK-NEXT: Symbol {
104 ; CHECK-NEXT: Index: [[#INDX+8]]
105 ; CHECK-NEXT: Name: .foo3
106 ; CHECK-NEXT: Value (RelocatableAddress): 0x30
107 ; CHECK-NEXT: Section: .text
108 ; CHECK-NEXT: Type: 0x0
109 ; CHECK-NEXT: StorageClass: C_EXT (0x2)
110 ; CHECK-NEXT: NumberOfAuxEntries: 1
111 ; CHECK-NEXT: CSECT Auxiliary Entry {
112 ; CHECK-NEXT: Index: [[#INDX+9]]
113 ; CHECK-NEXT: ContainingCsectSymbolIndex: [[#INDX+4]]
114 ; CHECK-NEXT: ParameterHashIndex: 0x0
115 ; CHECK-NEXT: TypeChkSectNum: 0x0
116 ; CHECK-NEXT: SymbolAlignmentLog2: 0
117 ; CHECK-NEXT: SymbolType: XTY_LD (0x2)
118 ; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
119 ; CHECK-NEXT: StabInfoIndex: 0x0
120 ; CHECK-NEXT: StabSectNum: 0x0
123 ; CHECK-NEXT: Symbol {
124 ; CHECK-NEXT: Index: [[#INDX+10]]
125 ; CHECK-NEXT: Name: .foo4
126 ; CHECK-NEXT: Value (RelocatableAddress): 0x40
127 ; CHECK-NEXT: Section: .text
128 ; CHECK-NEXT: Type: 0x0
129 ; CHECK-NEXT: StorageClass: C_EXT (0x2)
130 ; CHECK-NEXT: NumberOfAuxEntries: 1
131 ; CHECK-NEXT: CSECT Auxiliary Entry {
132 ; CHECK-NEXT: Index: 16
133 ; CHECK-NEXT: SectionLen: 8
134 ; CHECK-NEXT: ParameterHashIndex: 0x0
135 ; CHECK-NEXT: TypeChkSectNum: 0x0
136 ; CHECK-NEXT: SymbolAlignmentLog2: 5
137 ; CHECK-NEXT: SymbolType: XTY_SD (0x1)
138 ; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0)
139 ; CHECK-NEXT: StabInfoIndex: 0x0
140 ; CHECK-NEXT: StabSectNum: 0x0