1
- ; RUN: llc -mtriple powerpc-ibm-aix-xcoff -O0 < %s | FileCheck %s --check-prefixes=CHECK,CHECK32,NOOPT
2
- ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff -O0 < %s | FileCheck %s --check-prefixes=CHECK,CHECK64,NOOPT
3
-
4
- ; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefixes=CHECK,CHECK32,OPT
5
- ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefixes=CHECK,CHECK64,OPT
1
+ ; RUN: llc -mtriple powerpc-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK
2
+ ; RUN: llc -mtriple powerpc64-ibm-aix-xcoff < %s | FileCheck %s --check-prefix CHECK
6
3
7
4
; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -o %t32.o
8
5
; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s --check-prefix=OBJ32
@@ -26,31 +23,27 @@ define ptr @retptr() {
26
23
27
24
attributes #0 = { "toc-data" }
28
25
29
- ; CHECK-LABEL: .read:
30
- ; NOOPT: la 3, i1[TD](2)
31
- ; NOOPT: lwz 3, 0(3)
32
- ; OPT: lwz 3, i1[TD](2)
26
+ ; CHECK: .read:
27
+ ; CHECK: la 3, i1[TD](2)
33
28
34
- ; CHECK-LABEL: .retptr:
35
- ; CHECK: la 3, i2[TD](2)
36
- ; CHECK-NEXT: blr
29
+ ; CHECK: .retptr:
30
+ ; CHECK: la 3, i2[TD](2)
37
31
38
32
; CHECK-DAG: .toc
39
33
; CHECK: .extern i1[TD]
40
- ; CHECK32: .csect i2[TD],2
41
- ; CHECK64: .csect i2[TD],3
34
+ ; CHECK: .csect i2[TD]
42
35
43
36
; OBJ32: Relocations [
44
37
; OBJ32-NEXT: Section (index: 1) .text {
45
38
; OBJ32-NEXT: 0x2 R_TOC i1(1) 0xF
46
- ; OBJ32-NEXT: 0x22 R_TOC i2(15) 0xF
39
+ ; OBJ32-NEXT: 0x26 R_TOC i2(15) 0xF
47
40
; OBJ32-NEXT: }
48
41
; OBJ32-NEXT: Section (index: 2) .data {
49
- ; OBJ32-NEXT: 0x40 R_POS .read(5) 0x1F
50
- ; OBJ32-NEXT: 0x44 R_POS TOC(13) 0x1F
51
- ; OBJ32-NEXT: 0x4C R_POS .retptr(7) 0x1F
52
- ; OBJ32-NEXT: 0x50 R_POS TOC(13) 0x1F
53
- ; OBJ32-NEXT: 0x58 R_POS i1(1) 0x1F
42
+ ; OBJ32-NEXT: 0x44 R_POS .read(5) 0x1F
43
+ ; OBJ32-NEXT: 0x48 R_POS TOC(13) 0x1F
44
+ ; OBJ32-NEXT: 0x50 R_POS .retptr(7) 0x1F
45
+ ; OBJ32-NEXT: 0x54 R_POS TOC(13) 0x1F
46
+ ; OBJ32-NEXT: 0x5C R_POS i1(1) 0x1F
54
47
; OBJ32-NEXT: }
55
48
; OBJ32-NEXT: ]
56
49
@@ -77,7 +70,7 @@ attributes #0 = { "toc-data" }
77
70
; OBJ32: Symbol {
78
71
; OBJ32: Index: 13
79
72
; OBJ32-NEXT: Name: TOC
80
- ; OBJ32-NEXT: Value (RelocatableAddress): 0x58
73
+ ; OBJ32-NEXT: Value (RelocatableAddress): 0x5C
81
74
; OBJ32-NEXT: Section: .data
82
75
; OBJ32-NEXT: Type: 0x0
83
76
; OBJ32-NEXT: StorageClass: C_HIDEXT (0x6B)
@@ -97,7 +90,7 @@ attributes #0 = { "toc-data" }
97
90
; OBJ32: Symbol {
98
91
; OBJ32: Index: 15
99
92
; OBJ32-NEXT: Name: i2
100
- ; OBJ32-NEXT: Value (RelocatableAddress): 0x58
93
+ ; OBJ32-NEXT: Value (RelocatableAddress): 0x5C
101
94
; OBJ32-NEXT: Section: .data
102
95
; OBJ32-NEXT: Type: 0x0
103
96
; OBJ32-NEXT: StorageClass: C_EXT (0x2)
@@ -118,14 +111,14 @@ attributes #0 = { "toc-data" }
118
111
; OBJ64: Relocations [
119
112
; OBJ64-NEXT: Section (index: 1) .text {
120
113
; OBJ64-NEXT: 0x2 R_TOC i1(1) 0xF
121
- ; OBJ64-NEXT: 0x22 R_TOC i2(15) 0xF
114
+ ; OBJ64-NEXT: 0x26 R_TOC i2(15) 0xF
122
115
; OBJ64-NEXT: }
123
116
; OBJ64-NEXT: Section (index: 2) .data {
124
- ; OBJ64-NEXT: 0x40 R_POS .read(5) 0x3F
125
- ; OBJ64-NEXT: 0x48 R_POS TOC(13) 0x3F
126
- ; OBJ64-NEXT: 0x58 R_POS .retptr(7) 0x3F
127
- ; OBJ64-NEXT: 0x60 R_POS TOC(13) 0x3F
128
- ; OBJ64-NEXT: 0x70 R_POS i1(1) 0x3F
117
+ ; OBJ64-NEXT: 0x48 R_POS .read(5) 0x3F
118
+ ; OBJ64-NEXT: 0x50 R_POS TOC(13) 0x3F
119
+ ; OBJ64-NEXT: 0x60 R_POS .retptr(7) 0x3F
120
+ ; OBJ64-NEXT: 0x68 R_POS TOC(13) 0x3F
121
+ ; OBJ64-NEXT: 0x78 R_POS i1(1) 0x3F
129
122
; OBJ64-NEXT: }
130
123
; OBJ64-NEXT: ]
131
124
@@ -151,7 +144,7 @@ attributes #0 = { "toc-data" }
151
144
; OBJ64: Symbol {
152
145
; OBJ64: Index: 13
153
146
; OBJ64-NEXT: Name: TOC
154
- ; OBJ64-NEXT: Value (RelocatableAddress): 0x70
147
+ ; OBJ64-NEXT: Value (RelocatableAddress): 0x78
155
148
; OBJ64-NEXT: Section: .data
156
149
; OBJ64-NEXT: Type: 0x0
157
150
; OBJ64-NEXT: StorageClass: C_HIDEXT (0x6B)
@@ -170,7 +163,7 @@ attributes #0 = { "toc-data" }
170
163
; OBJ64: Symbol {
171
164
; OBJ64: Index: 15
172
165
; OBJ64-NEXT: Name: i2
173
- ; OBJ64-NEXT: Value (RelocatableAddress): 0x70
166
+ ; OBJ64-NEXT: Value (RelocatableAddress): 0x78
174
167
; OBJ64-NEXT: Section: .data
175
168
; OBJ64-NEXT: Type: 0x0
176
169
; OBJ64-NEXT: StorageClass: C_EXT (0x2)
@@ -188,15 +181,15 @@ attributes #0 = { "toc-data" }
188
181
; OBJ64-NEXT: }
189
182
190
183
; DIS32: 00000000 <.read>:
191
- ; DIS32-NEXT: 0: 80 62 00 00 lwz 3, 0(2)
184
+ ; DIS32-NEXT: 0: 38 62 00 00 addi 3, 2, 0
192
185
; DIS32-NEXT: 00000002: R_TOC i1
193
- ; DIS32: 00000020 <.retptr>:
194
- ; DIS32-NEXT: 20 : 38 62 00 00 addi 3, 2, 0
195
- ; DIS32-NEXT: 00000022 : R_TOC i2
186
+ ; DIS32: 00000024 <.retptr>:
187
+ ; DIS32-NEXT: 24 : 38 62 00 00 addi 3, 2, 0
188
+ ; DIS32-NEXT: 00000026 : R_TOC i2
196
189
197
190
; DIS64: 0000000000000000 <.read>:
198
- ; DIS64-NEXT: 0: 80 62 00 00 lwz 3, 0(2)
191
+ ; DIS64-NEXT: 0: 38 62 00 00 addi 3, 2, 0
199
192
; DIS64-NEXT: 0000000000000002: R_TOC i1
200
- ; DIS64: 0000000000000020 <.retptr>:
201
- ; DIS64-NEXT: 20 : 38 62 00 00 addi 3, 2, 0
202
- ; DIS64-NEXT: 0000000000000022 : R_TOC i2
193
+ ; DIS64: 0000000000000024 <.retptr>:
194
+ ; DIS64-NEXT: 24 : 38 62 00 00 addi 3, 2, 0
195
+ ; DIS64-NEXT: 0000000000000026 : R_TOC i2
0 commit comments