xref: /aosp_15_r20/external/llvm/test/MC/PowerPC/ppc64-fixups.s (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker
2*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s
3*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s
4*9880d681SAndroid Build Coastguard Worker
5*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64-unknown-unknown -filetype=obj %s | \
6*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -r | FileCheck %s -check-prefix=CHECK-BE-REL
7*9880d681SAndroid Build Coastguard Worker# RUN: llvm-mc -triple powerpc64le-unknown-unknown -filetype=obj %s | \
8*9880d681SAndroid Build Coastguard Worker# RUN: llvm-readobj -r | FileCheck %s -check-prefix=CHECK-LE-REL
9*9880d681SAndroid Build Coastguard Worker
10*9880d681SAndroid Build Coastguard Worker# CHECK-BE: b target                        # encoding: [0b010010AA,A,A,0bAAAAAA00]
11*9880d681SAndroid Build Coastguard Worker# CHECK-LE: b target                        # encoding: [0bAAAAAA00,A,A,0b010010AA]
12*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_br24
13*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_br24
14*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 target 0x0
15*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 target 0x0
16*9880d681SAndroid Build Coastguard Worker            b target
17*9880d681SAndroid Build Coastguard Worker
18*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ba target                       # encoding: [0b010010AA,A,A,0bAAAAAA10]
19*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ba target                       # encoding: [0bAAAAAA10,A,A,0b010010AA]
20*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs
21*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_br24abs
22*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR24 target 0x0
23*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR24 target 0x0
24*9880d681SAndroid Build Coastguard Worker            ba target
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker# CHECK-BE: beq 0, target                   # encoding: [0x41,0x82,A,0bAAAAAA00]
27*9880d681SAndroid Build Coastguard Worker# CHECK-LE: beq 0, target                   # encoding: [0bAAAAAA00,A,0x82,0x41]
28*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
29*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14
30*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL14 target 0x0
31*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL14 target 0x0
32*9880d681SAndroid Build Coastguard Worker            beq target
33*9880d681SAndroid Build Coastguard Worker
34*9880d681SAndroid Build Coastguard Worker# CHECK-BE: beqa 0, target                  # encoding: [0x41,0x82,A,0bAAAAAA10]
35*9880d681SAndroid Build Coastguard Worker# CHECK-LE: beqa 0, target                  # encoding: [0bAAAAAA10,A,0x82,0x41]
36*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
37*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_brcond14abs
38*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR14 target 0x0
39*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR14 target 0x0
40*9880d681SAndroid Build Coastguard Worker            beqa target
41*9880d681SAndroid Build Coastguard Worker
42*9880d681SAndroid Build Coastguard Worker
43*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@l                  # encoding: [0x38,0x60,A,A]
44*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@l                  # encoding: [A,A,0x60,0x38]
45*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16
46*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16
47*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0
48*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0
49*9880d681SAndroid Build Coastguard Worker            li 3, target@l
50*9880d681SAndroid Build Coastguard Worker
51*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 3, target@ha           # encoding: [0x3c,0x63,A,A]
52*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 3, target@ha           # encoding: [A,A,0x63,0x3c]
53*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@ha, kind: fixup_ppc_half16
54*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@ha, kind: fixup_ppc_half16
55*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HA target 0x0
56*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HA target 0x0
57*9880d681SAndroid Build Coastguard Worker            addis 3, 3, target@ha
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@ha                # encoding: [0x3c,0x60,A,A]
60*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@ha                # encoding: [A,A,0x60,0x3c]
61*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@ha, kind: fixup_ppc_half16
62*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@ha, kind: fixup_ppc_half16
63*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HA target 0x0
64*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HA target 0x0
65*9880d681SAndroid Build Coastguard Worker            lis 3, target@ha
66*9880d681SAndroid Build Coastguard Worker
67*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@l             # encoding: [0x38,0x83,A,A]
68*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@l             # encoding: [A,A,0x83,0x38]
69*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16
70*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16
71*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0
72*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0
73*9880d681SAndroid Build Coastguard Worker            addi 4, 3, target@l
74*9880d681SAndroid Build Coastguard Worker
75*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@ha                 # encoding: [0x38,0x60,A,A]
76*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@ha                 # encoding: [A,A,0x60,0x38]
77*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@ha, kind: fixup_ppc_half16
78*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@ha, kind: fixup_ppc_half16
79*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HA target 0x0
80*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HA target 0x0
81*9880d681SAndroid Build Coastguard Worker            li 3, target@ha
82*9880d681SAndroid Build Coastguard Worker
83*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@l                 # encoding: [0x3c,0x60,A,A]
84*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@l                 # encoding: [A,A,0x60,0x3c]
85*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16
86*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16
87*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0
88*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0
89*9880d681SAndroid Build Coastguard Worker            lis 3, target@l
90*9880d681SAndroid Build Coastguard Worker
91*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@h                  # encoding: [0x38,0x60,A,A]
92*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@h                  # encoding: [A,A,0x60,0x38]
93*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@h, kind: fixup_ppc_half16
94*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@h, kind: fixup_ppc_half16
95*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HI target 0x0
96*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HI target 0x0
97*9880d681SAndroid Build Coastguard Worker            li 3, target@h
98*9880d681SAndroid Build Coastguard Worker
99*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@h                  # encoding: [0x3c,0x60,A,A]
100*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@h                  # encoding: [A,A,0x60,0x3c]
101*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@h, kind: fixup_ppc_half16
102*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@h, kind: fixup_ppc_half16
103*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HI target 0x0
104*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HI target 0x0
105*9880d681SAndroid Build Coastguard Worker            lis 3, target@h
106*9880d681SAndroid Build Coastguard Worker
107*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@higher             # encoding: [0x38,0x60,A,A]
108*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@higher             # encoding: [A,A,0x60,0x38]
109*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@higher, kind: fixup_ppc_half16
110*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@higher, kind: fixup_ppc_half16
111*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHER target 0x0
112*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHER target 0x0
113*9880d681SAndroid Build Coastguard Worker            li 3, target@higher
114*9880d681SAndroid Build Coastguard Worker
115*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@highest           # encoding: [0x3c,0x60,A,A]
116*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@highest           # encoding: [A,A,0x60,0x3c]
117*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@highest, kind: fixup_ppc_half16
118*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@highest, kind: fixup_ppc_half16
119*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHEST target 0x0
120*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHEST target 0x0
121*9880d681SAndroid Build Coastguard Worker            lis 3, target@highest
122*9880d681SAndroid Build Coastguard Worker
123*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target@highera            # encoding: [0x38,0x60,A,A]
124*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target@highera            # encoding: [A,A,0x60,0x38]
125*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@highera, kind: fixup_ppc_half16
126*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@highera, kind: fixup_ppc_half16
127*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHERA target 0x0
128*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHERA target 0x0
129*9880d681SAndroid Build Coastguard Worker            li 3, target@highera
130*9880d681SAndroid Build Coastguard Worker
131*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lis 3, target@highesta          # encoding: [0x3c,0x60,A,A]
132*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lis 3, target@highesta          # encoding: [A,A,0x60,0x3c]
133*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@highesta, kind: fixup_ppc_half16
134*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@highesta, kind: fixup_ppc_half16
135*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HIGHESTA target 0x0
136*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HIGHESTA target 0x0
137*9880d681SAndroid Build Coastguard Worker            lis 3, target@highesta
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target@l(3)              # encoding: [0x80,0x23,A,A]
140*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target@l(3)              # encoding: [A,A,0x23,0x80]
141*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16
142*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16
143*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0
144*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0
145*9880d681SAndroid Build Coastguard Worker            lwz 1, target@l(3)
146*9880d681SAndroid Build Coastguard Worker
147*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target(3)                # encoding: [0x80,0x23,A,A]
148*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target(3)                # encoding: [A,A,0x23,0x80]
149*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target, kind: fixup_ppc_half16
150*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_half16
151*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16 target 0x0
152*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16 target 0x0
153*9880d681SAndroid Build Coastguard Worker            lwz 1, target(3)
154*9880d681SAndroid Build Coastguard Worker
155*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@l(3)               # encoding: [0xe8,0x23,A,0bAAAAAA00]
156*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@l(3)               # encoding: [0bAAAAAA00,A,0x23,0xe8]
157*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16ds
158*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16ds
159*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO_DS target 0x0
160*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO_DS target 0x0
161*9880d681SAndroid Build Coastguard Worker            ld 1, target@l(3)
162*9880d681SAndroid Build Coastguard Worker
163*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target(3)                 # encoding: [0xe8,0x23,A,0bAAAAAA00]
164*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target(3)                 # encoding: [0bAAAAAA00,A,0x23,0xe8]
165*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target, kind: fixup_ppc_half16ds
166*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target, kind: fixup_ppc_half16ds
167*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_DS target 0x0
168*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_DS target 0x0
169*9880d681SAndroid Build Coastguard Worker            ld 1, target(3)
170*9880d681SAndroid Build Coastguard Worker
171*9880d681SAndroid Build Coastguard Workerbase:
172*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target-base(3)           # encoding: [0x80,0x23,A,A]
173*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target-base(3)           # encoding: [A,A,0x23,0x80]
174*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target-base, kind: fixup_ppc_half16
175*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target-base, kind: fixup_ppc_half16
176*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16 target 0x2
177*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL16 target 0x0
178*9880d681SAndroid Build Coastguard Worker            lwz 1, target-base(3)
179*9880d681SAndroid Build Coastguard Worker
180*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target-base@h             # encoding: [0x38,0x60,A,A]
181*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target-base@h             # encoding: [A,A,0x60,0x38]
182*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target-base@h, kind: fixup_ppc_half16
183*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target-base@h, kind: fixup_ppc_half16
184*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16_HI target 0x6
185*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL16_HI target 0x4
186*9880d681SAndroid Build Coastguard Worker            li 3, target-base@h
187*9880d681SAndroid Build Coastguard Worker
188*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target-base@l             # encoding: [0x38,0x60,A,A]
189*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target-base@l             # encoding: [A,A,0x60,0x38]
190*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target-base@l, kind: fixup_ppc_half16
191*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target-base@l, kind: fixup_ppc_half16
192*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16_LO target 0xA
193*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL16_LO target 0x8
194*9880d681SAndroid Build Coastguard Worker            li 3, target-base@l
195*9880d681SAndroid Build Coastguard Worker
196*9880d681SAndroid Build Coastguard Worker# CHECK-BE: li 3, target-base@ha            # encoding: [0x38,0x60,A,A]
197*9880d681SAndroid Build Coastguard Worker# CHECK-LE: li 3, target-base@ha            # encoding: [A,A,0x60,0x38]
198*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target-base@ha, kind: fixup_ppc_half16
199*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target-base@ha, kind: fixup_ppc_half16
200*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_REL16_HA target 0xE
201*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_REL16_HA target 0xC
202*9880d681SAndroid Build Coastguard Worker            li 3, target-base@ha
203*9880d681SAndroid Build Coastguard Worker
204*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 3, 3, target@l              # encoding: [0x60,0x63,A,A]
205*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 3, 3, target@l              # encoding: [A,A,0x63,0x60]
206*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@l, kind: fixup_ppc_half16
207*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@l, kind: fixup_ppc_half16
208*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_LO target 0x0
209*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_LO target 0x0
210*9880d681SAndroid Build Coastguard Worker            ori 3, 3, target@l
211*9880d681SAndroid Build Coastguard Worker
212*9880d681SAndroid Build Coastguard Worker# CHECK-BE: oris 3, 3, target@h             # encoding: [0x64,0x63,A,A]
213*9880d681SAndroid Build Coastguard Worker# CHECK-LE: oris 3, 3, target@h             # encoding: [A,A,0x63,0x64]
214*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@h, kind: fixup_ppc_half16
215*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@h, kind: fixup_ppc_half16
216*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_ADDR16_HI target 0x0
217*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_ADDR16_HI target 0x0
218*9880d681SAndroid Build Coastguard Worker            oris 3, 3, target@h
219*9880d681SAndroid Build Coastguard Worker
220*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@toc(2)             # encoding: [0xe8,0x22,A,0bAAAAAA00]
221*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@toc(2)             # encoding: [0bAAAAAA00,A,0x22,0xe8]
222*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@toc, kind: fixup_ppc_half16ds
223*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@toc, kind: fixup_ppc_half16ds
224*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_DS target 0x0
225*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_DS target 0x0
226*9880d681SAndroid Build Coastguard Worker            ld 1, target@toc(2)
227*9880d681SAndroid Build Coastguard Worker
228*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@toc@ha       # encoding: [0x3c,0x62,A,A]
229*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@toc@ha       # encoding: [A,A,0x62,0x3c]
230*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@toc@ha, kind: fixup_ppc_half16
231*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@toc@ha, kind: fixup_ppc_half16
232*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_HA target 0x0
233*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_HA target 0x0
234*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@toc@ha
235*9880d681SAndroid Build Coastguard Worker
236*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@toc@l         # encoding: [0x38,0x83,A,A]
237*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@toc@l         # encoding: [A,A,0x83,0x38]
238*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@toc@l, kind: fixup_ppc_half16
239*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@toc@l, kind: fixup_ppc_half16
240*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_LO target 0x0
241*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_LO target 0x0
242*9880d681SAndroid Build Coastguard Worker            addi 4, 3, target@toc@l
243*9880d681SAndroid Build Coastguard Worker
244*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@toc@h        # encoding: [0x3c,0x62,A,A]
245*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@toc@h        # encoding: [A,A,0x62,0x3c]
246*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@toc@h, kind: fixup_ppc_half16
247*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@toc@h, kind: fixup_ppc_half16
248*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_HI target 0x0
249*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_HI target 0x0
250*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@toc@h
251*9880d681SAndroid Build Coastguard Worker
252*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target@toc@l(3)          # encoding: [0x80,0x23,A,A]
253*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target@toc@l(3)          # encoding: [A,A,0x23,0x80]
254*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@toc@l, kind: fixup_ppc_half16
255*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@toc@l, kind: fixup_ppc_half16
256*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_LO target 0x0
257*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_LO target 0x0
258*9880d681SAndroid Build Coastguard Worker            lwz 1, target@toc@l(3)
259*9880d681SAndroid Build Coastguard Worker
260*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@toc@l(3)           # encoding: [0xe8,0x23,A,0bAAAAAA00]
261*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@toc@l(3)           # encoding: [0bAAAAAA00,A,0x23,0xe8]
262*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@toc@l, kind: fixup_ppc_half16ds
263*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@toc@l, kind: fixup_ppc_half16ds
264*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TOC16_LO_DS target 0x0
265*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TOC16_LO_DS target 0x0
266*9880d681SAndroid Build Coastguard Worker            ld 1, target@toc@l(3)
267*9880d681SAndroid Build Coastguard Worker
268*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@GOT           # encoding: [0x38,0x83,A,A]
269*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@GOT           # encoding: [A,A,0x83,0x38]
270*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@GOT, kind: fixup_ppc_half16
271*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@GOT, kind: fixup_ppc_half16
272*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16 target 0x0
273*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16 target 0x0
274*9880d681SAndroid Build Coastguard Worker            addi 4, 3, target@got
275*9880d681SAndroid Build Coastguard Worker
276*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@GOT(2)             # encoding: [0xe8,0x22,A,0bAAAAAA00]
277*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@GOT(2)             # encoding: [0bAAAAAA00,A,0x22,0xe8]
278*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@GOT, kind: fixup_ppc_half16ds
279*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@GOT, kind: fixup_ppc_half16ds
280*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_DS target 0x0
281*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_DS target 0x0
282*9880d681SAndroid Build Coastguard Worker            ld 1, target@got(2)
283*9880d681SAndroid Build Coastguard Worker
284*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@ha       # encoding: [0x3c,0x62,A,A]
285*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@ha       # encoding: [A,A,0x62,0x3c]
286*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@ha, kind: fixup_ppc_half16
287*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@ha, kind: fixup_ppc_half16
288*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_HA target 0x0
289*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_HA target 0x0
290*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@ha
291*9880d681SAndroid Build Coastguard Worker
292*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 4, 3, target@got@l         # encoding: [0x38,0x83,A,A]
293*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 4, 3, target@got@l         # encoding: [A,A,0x83,0x38]
294*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@l, kind: fixup_ppc_half16
295*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@l, kind: fixup_ppc_half16
296*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_LO target 0x0
297*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_LO target 0x0
298*9880d681SAndroid Build Coastguard Worker            addi 4, 3, target@got@l
299*9880d681SAndroid Build Coastguard Worker
300*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@h        # encoding: [0x3c,0x62,A,A]
301*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@h        # encoding: [A,A,0x62,0x3c]
302*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@h, kind: fixup_ppc_half16
303*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@h, kind: fixup_ppc_half16
304*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_HI target 0x0
305*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_HI target 0x0
306*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@h
307*9880d681SAndroid Build Coastguard Worker
308*9880d681SAndroid Build Coastguard Worker# CHECK-BE: lwz 1, target@got@l(3)          # encoding: [0x80,0x23,A,A]
309*9880d681SAndroid Build Coastguard Worker# CHECK-LE: lwz 1, target@got@l(3)          # encoding: [A,A,0x23,0x80]
310*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@l, kind: fixup_ppc_half16
311*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@l, kind: fixup_ppc_half16
312*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_LO target 0x0
313*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_LO target 0x0
314*9880d681SAndroid Build Coastguard Worker            lwz 1, target@got@l(3)
315*9880d681SAndroid Build Coastguard Worker
316*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@l(3)           # encoding: [0xe8,0x23,A,0bAAAAAA00]
317*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@l(3)           # encoding: [0bAAAAAA00,A,0x23,0xe8]
318*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@l, kind: fixup_ppc_half16ds
319*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@l, kind: fixup_ppc_half16ds
320*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT16_LO_DS target 0x0
321*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT16_LO_DS target 0x0
322*9880d681SAndroid Build Coastguard Worker            ld 1, target@got@l(3)
323*9880d681SAndroid Build Coastguard Worker
324*9880d681SAndroid Build Coastguard Worker
325*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@tprel@ha     # encoding: [0x3c,0x62,A,A]
326*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@tprel@ha     # encoding: [A,A,0x62,0x3c]
327*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@ha, kind: fixup_ppc_half16
328*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@ha, kind: fixup_ppc_half16
329*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HA target 0x0
330*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HA target 0x0
331*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@tprel@ha
332*9880d681SAndroid Build Coastguard Worker
333*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@l       # encoding: [0x38,0x63,A,A]
334*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@l       # encoding: [A,A,0x63,0x38]
335*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@l, kind: fixup_ppc_half16
336*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@l, kind: fixup_ppc_half16
337*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_LO target 0x0
338*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_LO target 0x0
339*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@tprel@l
340*9880d681SAndroid Build Coastguard Worker
341*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@TPREL         # encoding: [0x38,0x63,A,A]
342*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@TPREL         # encoding: [A,A,0x63,0x38]
343*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@TPREL, kind: fixup_ppc_half16
344*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@TPREL, kind: fixup_ppc_half16
345*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16 target 0x0
346*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16 target 0x0
347*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@tprel
348*9880d681SAndroid Build Coastguard Worker
349*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@h       # encoding: [0x38,0x63,A,A]
350*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@h       # encoding: [A,A,0x63,0x38]
351*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@h, kind: fixup_ppc_half16
352*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@h, kind: fixup_ppc_half16
353*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HI target 0x0
354*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HI target 0x0
355*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@tprel@h
356*9880d681SAndroid Build Coastguard Worker
357*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@higher  # encoding: [0x38,0x63,A,A]
358*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@higher  # encoding: [A,A,0x63,0x38]
359*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@higher, kind: fixup_ppc_half16
360*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@higher, kind: fixup_ppc_half16
361*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHER target 0x0
362*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHER target 0x0
363*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@tprel@higher
364*9880d681SAndroid Build Coastguard Worker
365*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@tprel@highest # encoding: [0x3c,0x62,A,A]
366*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@tprel@highest # encoding: [A,A,0x62,0x3c]
367*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@highest, kind: fixup_ppc_half16
368*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@highest, kind: fixup_ppc_half16
369*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHEST target 0x0
370*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHEST target 0x0
371*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@tprel@highest
372*9880d681SAndroid Build Coastguard Worker
373*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@tprel@highera  # encoding: [0x38,0x63,A,A]
374*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@tprel@highera  # encoding: [A,A,0x63,0x38]
375*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@highera, kind: fixup_ppc_half16
376*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@highera, kind: fixup_ppc_half16
377*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHERA target 0x0
378*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHERA target 0x0
379*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@tprel@highera
380*9880d681SAndroid Build Coastguard Worker
381*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@tprel@highesta # encoding: [0x3c,0x62,A,A]
382*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@tprel@highesta # encoding: [A,A,0x62,0x3c]
383*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@highesta, kind: fixup_ppc_half16
384*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@highesta, kind: fixup_ppc_half16
385*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_HIGHESTA target 0x0
386*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_HIGHESTA target 0x0
387*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@tprel@highesta
388*9880d681SAndroid Build Coastguard Worker
389*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@tprel@l(3)         # encoding: [0xe8,0x23,A,0bAAAAAA00]
390*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@tprel@l(3)         # encoding: [0bAAAAAA00,A,0x23,0xe8]
391*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@tprel@l, kind: fixup_ppc_half16ds
392*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tprel@l, kind: fixup_ppc_half16ds
393*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_LO_DS target 0x0
394*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_LO_DS target 0x0
395*9880d681SAndroid Build Coastguard Worker            ld 1, target@tprel@l(3)
396*9880d681SAndroid Build Coastguard Worker
397*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@TPREL(3)           # encoding: [0xe8,0x23,A,0bAAAAAA00]
398*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@TPREL(3)           # encoding: [0bAAAAAA00,A,0x23,0xe8]
399*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@TPREL, kind: fixup_ppc_half16ds
400*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@TPREL, kind: fixup_ppc_half16ds
401*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_TPREL16_DS target 0x0
402*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TPREL16_DS target 0x0
403*9880d681SAndroid Build Coastguard Worker            ld 1, target@tprel(3)
404*9880d681SAndroid Build Coastguard Worker
405*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@dtprel@ha    # encoding: [0x3c,0x62,A,A]
406*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@dtprel@ha    # encoding: [A,A,0x62,0x3c]
407*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@ha, kind: fixup_ppc_half16
408*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@ha, kind: fixup_ppc_half16
409*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HA target 0x0
410*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HA target 0x0
411*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@dtprel@ha
412*9880d681SAndroid Build Coastguard Worker
413*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@l      # encoding: [0x38,0x63,A,A]
414*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@l      # encoding: [A,A,0x63,0x38]
415*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@l, kind: fixup_ppc_half16
416*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@l, kind: fixup_ppc_half16
417*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_LO target 0x0
418*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_LO target 0x0
419*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@dtprel@l
420*9880d681SAndroid Build Coastguard Worker
421*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@DTPREL         # encoding: [0x38,0x63,A,A]
422*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@DTPREL         # encoding: [A,A,0x63,0x38]
423*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@DTPREL, kind: fixup_ppc_half16
424*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@DTPREL, kind: fixup_ppc_half16
425*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16 target 0x0
426*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16 target 0x0
427*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@dtprel
428*9880d681SAndroid Build Coastguard Worker
429*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@h       # encoding: [0x38,0x63,A,A]
430*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@h       # encoding: [A,A,0x63,0x38]
431*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@h, kind: fixup_ppc_half16
432*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@h, kind: fixup_ppc_half16
433*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HI target 0x0
434*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HI target 0x0
435*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@dtprel@h
436*9880d681SAndroid Build Coastguard Worker
437*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@higher  # encoding: [0x38,0x63,A,A]
438*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@higher  # encoding: [A,A,0x63,0x38]
439*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@higher, kind: fixup_ppc_half16
440*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@higher, kind: fixup_ppc_half16
441*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHER target 0x0
442*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHER target 0x0
443*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@dtprel@higher
444*9880d681SAndroid Build Coastguard Worker
445*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@dtprel@highest # encoding: [0x3c,0x62,A,A]
446*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@dtprel@highest # encoding: [A,A,0x62,0x3c]
447*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@highest, kind: fixup_ppc_half16
448*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@highest, kind: fixup_ppc_half16
449*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHEST target 0x0
450*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHEST target 0x0
451*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@dtprel@highest
452*9880d681SAndroid Build Coastguard Worker
453*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@dtprel@highera  # encoding: [0x38,0x63,A,A]
454*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@dtprel@highera  # encoding: [A,A,0x63,0x38]
455*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@highera, kind: fixup_ppc_half16
456*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@highera, kind: fixup_ppc_half16
457*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHERA target 0x0
458*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHERA target 0x0
459*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@dtprel@highera
460*9880d681SAndroid Build Coastguard Worker
461*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@dtprel@highesta # encoding: [0x3c,0x62,A,A]
462*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@dtprel@highesta # encoding: [A,A,0x62,0x3c]
463*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@highesta, kind: fixup_ppc_half16
464*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@highesta, kind: fixup_ppc_half16
465*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_HIGHESTA target 0x0
466*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_HIGHESTA target 0x0
467*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@dtprel@highesta
468*9880d681SAndroid Build Coastguard Worker
469*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@dtprel@l(3)        # encoding: [0xe8,0x23,A,0bAAAAAA00]
470*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@dtprel@l(3)        # encoding: [0bAAAAAA00,A,0x23,0xe8]
471*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@dtprel@l, kind: fixup_ppc_half16ds
472*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@dtprel@l, kind: fixup_ppc_half16ds
473*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_LO_DS target 0x0
474*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_LO_DS target 0x0
475*9880d681SAndroid Build Coastguard Worker            ld 1, target@dtprel@l(3)
476*9880d681SAndroid Build Coastguard Worker
477*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@DTPREL(3)          # encoding: [0xe8,0x23,A,0bAAAAAA00]
478*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@DTPREL(3)          # encoding: [0bAAAAAA00,A,0x23,0xe8]
479*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@DTPREL, kind: fixup_ppc_half16ds
480*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@DTPREL, kind: fixup_ppc_half16ds
481*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_DTPREL16_DS target 0x0
482*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_DTPREL16_DS target 0x0
483*9880d681SAndroid Build Coastguard Worker            ld 1, target@dtprel(3)
484*9880d681SAndroid Build Coastguard Worker
485*9880d681SAndroid Build Coastguard Worker
486*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel@ha # encoding: [0x3c,0x62,A,A]
487*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel@ha # encoding: [A,A,0x62,0x3c]
488*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tprel@ha, kind: fixup_ppc_half16
489*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tprel@ha, kind: fixup_ppc_half16
490*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_HA target 0x0
491*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_HA target 0x0
492*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@tprel@ha
493*9880d681SAndroid Build Coastguard Worker
494*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@tprel@l(3)     # encoding: [0xe8,0x23,A,0bAAAAAA00]
495*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@tprel@l(3)     # encoding: [0bAAAAAA00,A,0x23,0xe8]
496*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tprel@l, kind: fixup_ppc_half16ds
497*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tprel@l, kind: fixup_ppc_half16ds
498*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0
499*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0
500*9880d681SAndroid Build Coastguard Worker            ld 1, target@got@tprel@l(3)
501*9880d681SAndroid Build Coastguard Worker
502*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel@h  # encoding: [0x3c,0x62,A,A]
503*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel@h  # encoding: [A,A,0x62,0x3c]
504*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tprel@h, kind: fixup_ppc_half16
505*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tprel@h, kind: fixup_ppc_half16
506*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_HI target 0x0
507*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_HI target 0x0
508*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@tprel@h
509*9880d681SAndroid Build Coastguard Worker
510*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel@l  # encoding: [0x3c,0x62,A,A]
511*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel@l  # encoding: [A,A,0x62,0x3c]
512*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tprel@l, kind: fixup_ppc_half16
513*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tprel@l, kind: fixup_ppc_half16
514*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0
515*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_LO_DS target 0x0
516*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@tprel@l
517*9880d681SAndroid Build Coastguard Worker
518*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tprel    # encoding: [0x3c,0x62,A,A]
519*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tprel    # encoding: [A,A,0x62,0x3c]
520*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tprel, kind: fixup_ppc_half16
521*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tprel, kind: fixup_ppc_half16
522*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_DS target 0x0
523*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_DS target 0x0
524*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@tprel
525*9880d681SAndroid Build Coastguard Worker
526*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@tprel(3)       # encoding: [0xe8,0x23,A,0bAAAAAA00]
527*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@tprel(3)       # encoding: [0bAAAAAA00,A,0x23,0xe8]
528*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tprel, kind: fixup_ppc_half16ds
529*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tprel, kind: fixup_ppc_half16ds
530*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TPREL16_DS target 0x0
531*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TPREL16_DS target 0x0
532*9880d681SAndroid Build Coastguard Worker            ld 1, target@got@tprel(3)
533*9880d681SAndroid Build Coastguard Worker
534*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel@ha # encoding: [0x3c,0x62,A,A]
535*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel@ha # encoding: [A,A,0x62,0x3c]
536*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@dtprel@ha, kind: fixup_ppc_half16
537*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@dtprel@ha, kind: fixup_ppc_half16
538*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_HA target 0x0
539*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_HA target 0x0
540*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@dtprel@ha
541*9880d681SAndroid Build Coastguard Worker
542*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@dtprel@l(3)    # encoding: [0xe8,0x23,A,0bAAAAAA00]
543*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@dtprel@l(3)    # encoding: [0bAAAAAA00,A,0x23,0xe8]
544*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@dtprel@l, kind: fixup_ppc_half16ds
545*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@dtprel@l, kind: fixup_ppc_half16ds
546*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0
547*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0
548*9880d681SAndroid Build Coastguard Worker            ld 1, target@got@dtprel@l(3)
549*9880d681SAndroid Build Coastguard Worker
550*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel@h # encoding: [0x3c,0x62,A,A]
551*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel@h # encoding: [A,A,0x62,0x3c]
552*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@dtprel@h, kind: fixup_ppc_half16
553*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@dtprel@h, kind: fixup_ppc_half16
554*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_HI target 0x0
555*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_HI target 0x0
556*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@dtprel@h
557*9880d681SAndroid Build Coastguard Worker
558*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel@l # encoding: [0x3c,0x62,A,A]
559*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel@l # encoding: [A,A,0x62,0x3c]
560*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@dtprel@l, kind: fixup_ppc_half16
561*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@dtprel@l, kind: fixup_ppc_half16
562*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0
563*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_LO_DS target 0x0
564*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@dtprel@l
565*9880d681SAndroid Build Coastguard Worker
566*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@dtprel   # encoding: [0x3c,0x62,A,A]
567*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@dtprel   # encoding: [A,A,0x62,0x3c]
568*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@dtprel, kind: fixup_ppc_half16
569*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@dtprel, kind: fixup_ppc_half16
570*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_DS target 0x0
571*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_DS target 0x0
572*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@dtprel
573*9880d681SAndroid Build Coastguard Worker
574*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ld 1, target@got@dtprel(3)      # encoding: [0xe8,0x23,A,0bAAAAAA00]
575*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ld 1, target@got@dtprel(3)      # encoding: [0bAAAAAA00,A,0x23,0xe8]
576*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@dtprel, kind: fixup_ppc_half16ds
577*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@dtprel, kind: fixup_ppc_half16ds
578*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_DTPREL16_DS target 0x0
579*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_DTPREL16_DS target 0x0
580*9880d681SAndroid Build Coastguard Worker            ld 1, target@got@dtprel(3)
581*9880d681SAndroid Build Coastguard Worker
582*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tlsgd@ha # encoding: [0x3c,0x62,A,A]
583*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tlsgd@ha # encoding: [A,A,0x62,0x3c]
584*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsgd@ha, kind: fixup_ppc_half16
585*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsgd@ha, kind: fixup_ppc_half16
586*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16_HA target 0x0
587*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16_HA target 0x0
588*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@tlsgd@ha
589*9880d681SAndroid Build Coastguard Worker
590*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsgd@l   # encoding: [0x38,0x63,A,A]
591*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsgd@l   # encoding: [A,A,0x63,0x38]
592*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsgd@l, kind: fixup_ppc_half16
593*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsgd@l, kind: fixup_ppc_half16
594*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16_LO target 0x0
595*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16_LO target 0x0
596*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@got@tlsgd@l
597*9880d681SAndroid Build Coastguard Worker
598*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsgd@h   # encoding: [0x38,0x63,A,A]
599*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsgd@h   # encoding: [A,A,0x63,0x38]
600*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsgd@h, kind: fixup_ppc_half16
601*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsgd@h, kind: fixup_ppc_half16
602*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16_HI target 0x0
603*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16_HI target 0x0
604*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@got@tlsgd@h
605*9880d681SAndroid Build Coastguard Worker
606*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsgd     # encoding: [0x38,0x63,A,A]
607*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsgd     # encoding: [A,A,0x63,0x38]
608*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsgd, kind: fixup_ppc_half16
609*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsgd, kind: fixup_ppc_half16
610*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSGD16 target 0x0
611*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSGD16 target 0x0
612*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@got@tlsgd
613*9880d681SAndroid Build Coastguard Worker
614*9880d681SAndroid Build Coastguard Worker
615*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 3, 2, target@got@tlsld@ha # encoding: [0x3c,0x62,A,A]
616*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 3, 2, target@got@tlsld@ha # encoding: [A,A,0x62,0x3c]
617*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsld@ha, kind: fixup_ppc_half16
618*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsld@ha, kind: fixup_ppc_half16
619*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16_HA target 0x0
620*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16_HA target 0x0
621*9880d681SAndroid Build Coastguard Worker            addis 3, 2, target@got@tlsld@ha
622*9880d681SAndroid Build Coastguard Worker
623*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsld@l   # encoding: [0x38,0x63,A,A]
624*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsld@l   # encoding: [A,A,0x63,0x38]
625*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsld@l, kind: fixup_ppc_half16
626*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsld@l, kind: fixup_ppc_half16
627*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16_LO target 0x0
628*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16_LO target 0x0
629*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@got@tlsld@l
630*9880d681SAndroid Build Coastguard Worker
631*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsld@h   # encoding: [0x38,0x63,A,A]
632*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsld@h   # encoding: [A,A,0x63,0x38]
633*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsld@h, kind: fixup_ppc_half16
634*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsld@h, kind: fixup_ppc_half16
635*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16_HI target 0x0
636*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16_HI target 0x0
637*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@got@tlsld@h
638*9880d681SAndroid Build Coastguard Worker
639*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 3, 3, target@got@tlsld     # encoding: [0x38,0x63,A,A]
640*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 3, 3, target@got@tlsld     # encoding: [A,A,0x63,0x38]
641*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 2, value: target@got@tlsld, kind: fixup_ppc_half16
642*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@got@tlsld, kind: fixup_ppc_half16
643*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[26AE]}} R_PPC64_GOT_TLSLD16 target 0x0
644*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_GOT_TLSLD16 target 0x0
645*9880d681SAndroid Build Coastguard Worker            addi 3, 3, target@got@tlsld
646*9880d681SAndroid Build Coastguard Worker
647*9880d681SAndroid Build Coastguard Worker# CHECK-BE: bl __tls_get_addr(target@tlsgd) # encoding: [0b010010BB,B,B,0bBBBBBB01]
648*9880d681SAndroid Build Coastguard Worker# CHECK-LE: bl __tls_get_addr(target@tlsgd) # encoding: [0bBBBBBB01,B,B,0b010010BB]
649*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target@tlsgd, kind: fixup_ppc_nofixup
650*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tlsgd, kind: fixup_ppc_nofixup
651*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24
652*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24
653*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TLSGD target 0x0
654*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TLSGD target 0x0
655*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL-NEXT:                        0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0
656*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL-NEXT:                        0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0
657*9880d681SAndroid Build Coastguard Worker            bl __tls_get_addr(target@tlsgd)
658*9880d681SAndroid Build Coastguard Worker
659*9880d681SAndroid Build Coastguard Worker# CHECK-BE: bl __tls_get_addr(target@tlsld) # encoding: [0b010010BB,B,B,0bBBBBBB01]
660*9880d681SAndroid Build Coastguard Worker# CHECK-LE: bl __tls_get_addr(target@tlsld) # encoding: [0bBBBBBB01,B,B,0b010010BB]
661*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target@tlsld, kind: fixup_ppc_nofixup
662*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tlsld, kind: fixup_ppc_nofixup
663*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24
664*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup B - offset: 0, value: __tls_get_addr, kind: fixup_ppc_br24
665*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TLSLD target 0x0
666*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TLSLD target 0x0
667*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL-NEXT:                        0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0
668*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL-NEXT:                        0x{{[0-9A-F]*[048C]}} R_PPC64_REL24 __tls_get_addr 0x0
669*9880d681SAndroid Build Coastguard Worker            bl __tls_get_addr(target@tlsld)
670*9880d681SAndroid Build Coastguard Worker
671*9880d681SAndroid Build Coastguard Worker# CHECK-BE: add 3, 4, target@tls            # encoding: [0x7c,0x64,0x6a,0x14]
672*9880d681SAndroid Build Coastguard Worker# CHECK-LE: add 3, 4, target@tls            # encoding: [0x14,0x6a,0x64,0x7c]
673*9880d681SAndroid Build Coastguard Worker# CHECK-BE-NEXT:                            #   fixup A - offset: 0, value: target@tls, kind: fixup_ppc_nofixup
674*9880d681SAndroid Build Coastguard Worker# CHECK-LE-NEXT:                            #   fixup A - offset: 0, value: target@tls, kind: fixup_ppc_nofixup
675*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TLS target 0x0
676*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL:                             0x{{[0-9A-F]*[048C]}} R_PPC64_TLS target 0x0
677*9880d681SAndroid Build Coastguard Worker            add 3, 4, target@tls
678*9880d681SAndroid Build Coastguard Worker
679*9880d681SAndroid Build Coastguard Worker# Verify that fixups on constants are resolved at assemble time
680*9880d681SAndroid Build Coastguard Worker
681*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 1, 2, 65535              # encoding: [0x60,0x41,0xff,0xff]
682*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 1, 2, 65535              # encoding: [0xff,0xff,0x41,0x60]
683*9880d681SAndroid Build Coastguard Worker            ori 1, 2, 131071@l
684*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 1, 2, 1                  # encoding: [0x60,0x41,0x00,0x01]
685*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 1, 2, 1                  # encoding: [0x01,0x00,0x41,0x60]
686*9880d681SAndroid Build Coastguard Worker            ori 1, 2, 131071@h
687*9880d681SAndroid Build Coastguard Worker# CHECK-BE: ori 1, 2, 2                  # encoding: [0x60,0x41,0x00,0x02]
688*9880d681SAndroid Build Coastguard Worker# CHECK-LE: ori 1, 2, 2                  # encoding: [0x02,0x00,0x41,0x60]
689*9880d681SAndroid Build Coastguard Worker            ori 1, 2, 131071@ha
690*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 1, 2, -1                # encoding: [0x38,0x22,0xff,0xff]
691*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 1, 2, -1                # encoding: [0xff,0xff,0x22,0x38]
692*9880d681SAndroid Build Coastguard Worker            addi 1, 2, 131071@l
693*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 1, 2, 1                 # encoding: [0x38,0x22,0x00,0x01]
694*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 1, 2, 1                 # encoding: [0x01,0x00,0x22,0x38]
695*9880d681SAndroid Build Coastguard Worker            addi 1, 2, 131071@h
696*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addi 1, 2, 2                 # encoding: [0x38,0x22,0x00,0x02]
697*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addi 1, 2, 2                 # encoding: [0x02,0x00,0x22,0x38]
698*9880d681SAndroid Build Coastguard Worker            addi 1, 2, 131071@ha
699*9880d681SAndroid Build Coastguard Worker# CHECK-BE: addis 1, 2, -4096            # encoding: [0x3c,0x22,0xf0,0x00]
700*9880d681SAndroid Build Coastguard Worker# CHECK-LE: addis 1, 2, -4096            # encoding: [0x00,0xf0,0x22,0x3c]
701*9880d681SAndroid Build Coastguard Worker            addis 1, 2, 0xf0000000@h
702*9880d681SAndroid Build Coastguard Worker
703*9880d681SAndroid Build Coastguard Worker# Data relocs
704*9880d681SAndroid Build Coastguard Worker# llvm-mc does not show any "encoding" string for data, so we just check the relocs
705*9880d681SAndroid Build Coastguard Worker
706*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: .rela.data
707*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: .rela.data
708*9880d681SAndroid Build Coastguard Worker	.data
709*9880d681SAndroid Build Coastguard Worker
710*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TOC - 0x0
711*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TOC - 0x0
712*9880d681SAndroid Build Coastguard Worker	.quad .TOC.@tocbase
713*9880d681SAndroid Build Coastguard Worker
714*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPMOD64 target 0x0
715*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPMOD64 target 0x0
716*9880d681SAndroid Build Coastguard Worker	.quad target@dtpmod
717*9880d681SAndroid Build Coastguard Worker
718*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TPREL64 target 0x0
719*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_TPREL64 target 0x0
720*9880d681SAndroid Build Coastguard Worker	.quad target@tprel
721*9880d681SAndroid Build Coastguard Worker
722*9880d681SAndroid Build Coastguard Worker# CHECK-BE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPREL64 target 0x0
723*9880d681SAndroid Build Coastguard Worker# CHECK-LE-REL: 0x{{[0-9A-F]*[08]}} R_PPC64_DTPREL64 target 0x0
724*9880d681SAndroid Build Coastguard Worker	.quad target@dtprel
725*9880d681SAndroid Build Coastguard Worker
726