xref: /llvm-project/llvm/test/CodeGen/PowerPC/aix-func-dsc-gen.ll (revision f31099ce581d33fdb64e35fee4b56d0a1145cab1)
1; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \
2; RUN:     -xcoff-traceback-table=false -filetype=obj -o %t.o < %s
3; RUN: llvm-readobj  --symbols %t.o | FileCheck %s
4
5define void @foo() {
6entry:
7  ret void
8}
9
10; CHECK:      File: {{.*}}aix-func-dsc-gen.ll.tmp.o
11; CHECK-NEXT: Format: aixcoff-rs6000
12; CHECK-NEXT: Arch: powerpc
13; CHECK-NEXT: AddressSize: 32bit
14; CHECK:        Symbol {
15; CHECK-NEXT:     Index: 0
16; CHECK-NEXT:     Name: .file
17; CHECK-NEXT:     Value (SymbolTableIndex): 0x0
18; CHECK-NEXT:     Section: N_DEBUG
19; CHECK-NEXT:     Source Language ID: TB_CPLUSPLUS (0x9)
20; CHECK-NEXT:     CPU Version ID: TCPU_PWR7 (0x18)
21; CHECK-NEXT:     StorageClass: C_FILE (0x67)
22; CHECK-NEXT:     NumberOfAuxEntries: 2
23; CHECK-NEXT:     File Auxiliary Entry {
24; CHECK-NEXT:       Index: 1
25; CHECK-NEXT:       Name:
26; CHECK-NEXT:       Type: XFT_FN (0x0)
27; CHECK-NEXT:     }
28; CHECK-NEXT:     File Auxiliary Entry {
29; CHECK-NEXT:       Index: 2
30; CHECK-NEXT:       Name: LLVM
31; CHECK-NEXT:       Type: XFT_CV (0x2)
32; CHECK-NEXT:     }
33; CHECK-NEXT:   }
34; CHECK-NEXT:   Symbol {
35; CHECK-NEXT:     Index: [[#Index:]]
36; CHECK-NEXT:     Name:
37; CHECK-NEXT:     Value (RelocatableAddress): 0x0
38; CHECK-NEXT:     Section: .text
39; CHECK-NEXT:     Type: 0x0
40; CHECK-NEXT:     StorageClass: C_HIDEXT (0x6B)
41; CHECK-NEXT:     NumberOfAuxEntries: 1
42; CHECK-NEXT:     CSECT Auxiliary Entry {
43; CHECK-NEXT:       Index: [[#Index+1]]
44; CHECK-NEXT:       SectionLen: 4
45; CHECK-NEXT:       ParameterHashIndex: 0x0
46; CHECK-NEXT:       TypeChkSectNum: 0x0
47; CHECK-NEXT:       SymbolAlignmentLog2: 5
48; CHECK-NEXT:       SymbolType: XTY_SD (0x1)
49; CHECK-NEXT:       StorageMappingClass: XMC_PR (0x0)
50; CHECK-NEXT:       StabInfoIndex: 0x0
51; CHECK-NEXT:       StabSectNum: 0x0
52; CHECK-NEXT:     }
53; CHECK-NEXT:   }
54; CHECK-NEXT:   Symbol {
55; CHECK-NEXT:     Index: [[#Index+2]]
56; CHECK-NEXT:     Name: .foo
57; CHECK-NEXT:     Value (RelocatableAddress): 0x0
58; CHECK-NEXT:     Section: .text
59; CHECK-NEXT:     Type: 0x0
60; CHECK-NEXT:     StorageClass: C_EXT (0x2)
61; CHECK-NEXT:     NumberOfAuxEntries: 1
62; CHECK-NEXT:     CSECT Auxiliary Entry {
63; CHECK-NEXT:       Index: [[#Index+3]]
64; CHECK-NEXT:       ContainingCsectSymbolIndex: [[#Index]]
65; CHECK-NEXT:       ParameterHashIndex: 0x0
66; CHECK-NEXT:       TypeChkSectNum: 0x0
67; CHECK-NEXT:       SymbolAlignmentLog2: 0
68; CHECK-NEXT:       SymbolType: XTY_LD (0x2)
69; CHECK-NEXT:       StorageMappingClass: XMC_PR (0x0)
70; CHECK-NEXT:       StabInfoIndex: 0x0
71; CHECK-NEXT:       StabSectNum: 0x0
72; CHECK-NEXT:     }
73; CHECK-NEXT:   }
74; CHECK-NEXT:   Symbol {
75; CHECK-NEXT:     Index: [[#Index+4]]
76; CHECK-NEXT:     Name: foo
77; CHECK-NEXT:     Value (RelocatableAddress): 0x4
78; CHECK-NEXT:     Section: .data
79; CHECK-NEXT:     Type: 0x0
80; CHECK-NEXT:     StorageClass: C_EXT (0x2)
81; CHECK-NEXT:     NumberOfAuxEntries: 1
82; CHECK-NEXT:     CSECT Auxiliary Entry {
83; CHECK-NEXT:       Index: [[#Index+5]]
84; CHECK-NEXT:       SectionLen: 12
85; CHECK-NEXT:       ParameterHashIndex: 0x0
86; CHECK-NEXT:       TypeChkSectNum: 0x0
87; CHECK-NEXT:       SymbolAlignmentLog2: 2
88; CHECK-NEXT:       SymbolType: XTY_SD (0x1)
89; CHECK-NEXT:       StorageMappingClass: XMC_DS (0xA)
90; CHECK-NEXT:       StabInfoIndex: 0x0
91; CHECK-NEXT:       StabSectNum: 0x0
92; CHECK-NEXT:     }
93; CHECK-NEXT:   }
94; CHECK-NEXT:   Symbol {
95; CHECK-NEXT:     Index: [[#Index+6]]
96; CHECK-NEXT:     Name: TOC
97; CHECK-NEXT:     Value (RelocatableAddress): 0x10
98; CHECK-NEXT:     Section: .data
99; CHECK-NEXT:     Type: 0x0
100; CHECK-NEXT:     StorageClass: C_HIDEXT (0x6B)
101; CHECK-NEXT:     NumberOfAuxEntries: 1
102; CHECK-NEXT:     CSECT Auxiliary Entry {
103; CHECK-NEXT:       Index: [[#Index+7]]
104; CHECK-NEXT:       SectionLen: 0
105; CHECK-NEXT:       ParameterHashIndex: 0x0
106; CHECK-NEXT:       TypeChkSectNum: 0x0
107; CHECK-NEXT:       SymbolAlignmentLog2: 2
108; CHECK-NEXT:       SymbolType: XTY_SD (0x1)
109; CHECK-NEXT:       StorageMappingClass: XMC_TC0 (0xF)
110; CHECK-NEXT:       StabInfoIndex: 0x0
111; CHECK-NEXT:       StabSectNum: 0x0
112; CHECK-NEXT:     }
113; CHECK-NEXT:   }
114