xref: /llvm-project/llvm/test/CodeGen/PowerPC/aix-static-init-non-default-priority.ll (revision a51712751c184ebe056718c938d2526693a31564)
1; RUN: llc -mtriple powerpc-ibm-aix-xcoff -mcpu=ppc -verify-machineinstrs < %s | FileCheck %s
2; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -mcpu=ppc -verify-machineinstrs < %s | FileCheck %s
3
4@llvm.global_ctors = appending global [5 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 0, ptr @cf1, ptr null }, { i32, ptr, ptr } { i32 21, ptr @cf2, ptr null }, { i32, ptr, ptr } { i32 81, ptr @cf3, ptr null }, { i32, ptr, ptr } { i32 1125, ptr @cf4, ptr null }, { i32, ptr, ptr } { i32 64512, ptr @cf5, ptr null }]
5@llvm.global_dtors = appending global [5 x { i32, ptr, ptr }] [{ i32, ptr, ptr } { i32 20, ptr @df1, ptr null }, { i32, ptr, ptr } { i32 80, ptr @df2, ptr null }, { i32, ptr, ptr } { i32 1124, ptr @df3, ptr null }, { i32, ptr, ptr } { i32 64511, ptr @df4, ptr null }, { i32, ptr, ptr } { i32 65535, ptr @df5, ptr null }]
6
7define i32 @cf1(i32 %a) {
8  ret i32 %a
9}
10
11define void @cf2() {
12  ret void
13}
14
15define void @cf3() {
16  ret void
17}
18
19define void @cf4() {
20  ret void
21}
22
23define void @cf5() {
24  ret void
25}
26
27define i32 @df1(i32 %a) {
28  ret i32 %a
29}
30
31define void @df2() {
32  ret void
33}
34
35define void @df3() {
36  ret void
37}
38
39define void @df4() {
40  ret void
41}
42
43define void @df5() {
44  ret void
45}
46
47; CHECK:   .globl  cf1[DS]
48; CHECK:   .globl  .cf1
49; CHECK:   .align  2
50; CHECK:   .csect cf1[DS]
51; CHECK: __sinit00000000_clang_f6a1bc9396775a64c6249effda300afe_0: # @cf1
52; CHECK: .cf1:
53; CHECK: .__sinit00000000_clang_f6a1bc9396775a64c6249effda300afe_0:
54
55; CHECK:   .globl  cf2[DS]
56; CHECK:   .globl  .cf2
57; CHECK:   .align  2
58; CHECK:   .csect cf2[DS]
59; CHECK: __sinit00000024_clang_f6a1bc9396775a64c6249effda300afe_1: # @cf2
60; CHECK: .cf2:
61; CHECK: .__sinit00000024_clang_f6a1bc9396775a64c6249effda300afe_1:
62
63; CHECK:   .globl  cf3[DS]
64; CHECK:   .globl  .cf3
65; CHECK:   .align  2
66; CHECK:   .csect cf3[DS]
67; CHECK: __sinit000003ec_clang_f6a1bc9396775a64c6249effda300afe_2: # @cf3
68; CHECK: .cf3:
69; CHECK: .__sinit000003ec_clang_f6a1bc9396775a64c6249effda300afe_2:
70
71; CHECK:   .globl  cf4[DS]
72; CHECK:   .globl  .cf4
73; CHECK:   .align  2
74; CHECK:   .csect cf4[DS]
75; CHECK: __sinit00008c55_clang_f6a1bc9396775a64c6249effda300afe_3: # @cf4
76; CHECK: .cf4:
77; CHECK: .__sinit00008c55_clang_f6a1bc9396775a64c6249effda300afe_3:
78
79; CHECK:   .globl  cf5[DS]
80; CHECK:   .globl  .cf5
81; CHECK:   .align  2
82; CHECK:   .csect cf5[DS]
83; CHECK: __sinit7ffffc01_clang_f6a1bc9396775a64c6249effda300afe_4: # @cf5
84; CHECK: .cf5:
85; CHECK: .__sinit7ffffc01_clang_f6a1bc9396775a64c6249effda300afe_4:
86
87; CHECK:   .globl  df1[DS]
88; CHECK:   .globl  .df1
89; CHECK:   .align  2
90; CHECK:   .csect df1[DS]
91; CHECK: __sterm00000014_clang_f6a1bc9396775a64c6249effda300afe_0: # @df1
92; CHECK: .df1:
93; CHECK: .__sterm00000014_clang_f6a1bc9396775a64c6249effda300afe_0:
94
95; CHECK:   .globl  df2[DS]
96; CHECK:   .globl  .df2
97; CHECK:   .align  2
98; CHECK:   .csect df2[DS]
99; CHECK: __sterm000003d4_clang_f6a1bc9396775a64c6249effda300afe_1: # @df2
100; CHECK: .df2:
101; CHECK: .__sterm000003d4_clang_f6a1bc9396775a64c6249effda300afe_1:
102
103; CHECK:   .globl  df3[DS]
104; CHECK:   .globl  .df3
105; CHECK:   .align  2
106; CHECK:   .csect df3[DS]
107; CHECK: __sterm000007ff_clang_f6a1bc9396775a64c6249effda300afe_2: # @df3
108; CHECK: .df3:
109; CHECK: .__sterm000007ff_clang_f6a1bc9396775a64c6249effda300afe_2:
110
111; CHECK:   .globl  df4[DS]
112; CHECK:   .globl  .df4
113; CHECK:   .align  2
114; CHECK:   .csect df4[DS]
115; CHECK: __sterm7fff2211_clang_f6a1bc9396775a64c6249effda300afe_3: # @df4
116; CHECK: .df4:
117; CHECK: .__sterm7fff2211_clang_f6a1bc9396775a64c6249effda300afe_3:
118
119; CHECK:   .globl  df5[DS]
120; CHECK:   .globl  .df5
121; CHECK:   .align  2
122; CHECK:   .csect df5[DS]
123; CHECK: __sterm80000000_clang_f6a1bc9396775a64c6249effda300afe_4: # @df5
124; CHECK: .df5:
125; CHECK: .__sterm80000000_clang_f6a1bc9396775a64c6249effda300afe_4:
126
127; CHECK:   .globl  __sinit00000000_clang_f6a1bc9396775a64c6249effda300afe_0
128; CHECK:   .globl  .__sinit00000000_clang_f6a1bc9396775a64c6249effda300afe_0
129; CHECK:   .globl  __sinit00000024_clang_f6a1bc9396775a64c6249effda300afe_1
130; CHECK:   .globl  .__sinit00000024_clang_f6a1bc9396775a64c6249effda300afe_1
131; CHECK:   .globl  __sinit000003ec_clang_f6a1bc9396775a64c6249effda300afe_2
132; CHECK:   .globl  .__sinit000003ec_clang_f6a1bc9396775a64c6249effda300afe_2
133; CHECK:   .globl  __sinit00008c55_clang_f6a1bc9396775a64c6249effda300afe_3
134; CHECK:   .globl  .__sinit00008c55_clang_f6a1bc9396775a64c6249effda300afe_3
135; CHECK:   .globl  __sinit7ffffc01_clang_f6a1bc9396775a64c6249effda300afe_4
136; CHECK:   .globl  .__sinit7ffffc01_clang_f6a1bc9396775a64c6249effda300afe_4
137; CHECK:   .globl  __sterm00000014_clang_f6a1bc9396775a64c6249effda300afe_0
138; CHECK:   .globl  .__sterm00000014_clang_f6a1bc9396775a64c6249effda300afe_0
139; CHECK:   .globl  __sterm000003d4_clang_f6a1bc9396775a64c6249effda300afe_1
140; CHECK:   .globl  .__sterm000003d4_clang_f6a1bc9396775a64c6249effda300afe_1
141; CHECK:   .globl  __sterm000007ff_clang_f6a1bc9396775a64c6249effda300afe_2
142; CHECK:   .globl  .__sterm000007ff_clang_f6a1bc9396775a64c6249effda300afe_2
143; CHECK:   .globl  __sterm7fff2211_clang_f6a1bc9396775a64c6249effda300afe_3
144; CHECK:   .globl  .__sterm7fff2211_clang_f6a1bc9396775a64c6249effda300afe_3
145; CHECK:   .globl  __sterm80000000_clang_f6a1bc9396775a64c6249effda300afe_4
146; CHECK:   .globl  .__sterm80000000_clang_f6a1bc9396775a64c6249effda300afe_4
147