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
63
74; RUN: llc -filetype=obj -mtriple powerpc-ibm-aix-xcoff -verify-machineinstrs < %s -o %t32.o
85; RUN: llvm-readobj %t32.o --syms --relocs | FileCheck %s --check-prefix=OBJ32
@@ -26,31 +23,27 @@ define ptr @retptr() {
2623
2724attributes #0 = { "toc-data" }
2825
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)
3328
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)
3731
3832; CHECK-DAG: .toc
3933; CHECK: .extern i1[TD]
40- ; CHECK32: .csect i2[TD],2
41- ; CHECK64: .csect i2[TD],3
34+ ; CHECK: .csect i2[TD]
4235
4336; OBJ32: Relocations [
4437; OBJ32-NEXT: Section (index: 1) .text {
4538; 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
4740; OBJ32-NEXT: }
4841; 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
5447; OBJ32-NEXT: }
5548; OBJ32-NEXT: ]
5649
@@ -77,7 +70,7 @@ attributes #0 = { "toc-data" }
7770; OBJ32: Symbol {
7871; OBJ32: Index: 13
7972; OBJ32-NEXT: Name: TOC
80- ; OBJ32-NEXT: Value (RelocatableAddress): 0x58
73+ ; OBJ32-NEXT: Value (RelocatableAddress): 0x5C
8174; OBJ32-NEXT: Section: .data
8275; OBJ32-NEXT: Type: 0x0
8376; OBJ32-NEXT: StorageClass: C_HIDEXT (0x6B)
@@ -97,7 +90,7 @@ attributes #0 = { "toc-data" }
9790; OBJ32: Symbol {
9891; OBJ32: Index: 15
9992; OBJ32-NEXT: Name: i2
100- ; OBJ32-NEXT: Value (RelocatableAddress): 0x58
93+ ; OBJ32-NEXT: Value (RelocatableAddress): 0x5C
10194; OBJ32-NEXT: Section: .data
10295; OBJ32-NEXT: Type: 0x0
10396; OBJ32-NEXT: StorageClass: C_EXT (0x2)
@@ -118,14 +111,14 @@ attributes #0 = { "toc-data" }
118111; OBJ64: Relocations [
119112; OBJ64-NEXT: Section (index: 1) .text {
120113; 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
122115; OBJ64-NEXT: }
123116; 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
129122; OBJ64-NEXT: }
130123; OBJ64-NEXT: ]
131124
@@ -151,7 +144,7 @@ attributes #0 = { "toc-data" }
151144; OBJ64: Symbol {
152145; OBJ64: Index: 13
153146; OBJ64-NEXT: Name: TOC
154- ; OBJ64-NEXT: Value (RelocatableAddress): 0x70
147+ ; OBJ64-NEXT: Value (RelocatableAddress): 0x78
155148; OBJ64-NEXT: Section: .data
156149; OBJ64-NEXT: Type: 0x0
157150; OBJ64-NEXT: StorageClass: C_HIDEXT (0x6B)
@@ -170,7 +163,7 @@ attributes #0 = { "toc-data" }
170163; OBJ64: Symbol {
171164; OBJ64: Index: 15
172165; OBJ64-NEXT: Name: i2
173- ; OBJ64-NEXT: Value (RelocatableAddress): 0x70
166+ ; OBJ64-NEXT: Value (RelocatableAddress): 0x78
174167; OBJ64-NEXT: Section: .data
175168; OBJ64-NEXT: Type: 0x0
176169; OBJ64-NEXT: StorageClass: C_EXT (0x2)
@@ -188,15 +181,15 @@ attributes #0 = { "toc-data" }
188181; OBJ64-NEXT: }
189182
190183; 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
192185; 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
196189
197190; 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
199192; 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