1# RUN: llvm-mc -filetype=obj -triple mips -mcpu=mips2 %s -o - \
2# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS32
3# RUN: llvm-mc -filetype=obj -triple mips -mcpu=mips32 %s -o - \
4# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS32
5# RUN: llvm-mc -filetype=obj -triple mips -mcpu=mips32r2 %s -o - \
6# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS32
7# RUN: llvm-mc -filetype=obj -triple mipsn32 -mcpu=mips3 %s -o - \
8# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPSN32
9# RUN: llvm-mc -filetype=obj -triple mipsn32 -mcpu=mips64r6 %s -o - \
10# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPSN32R6
11# RUN: llvm-mc -filetype=obj -triple mips64 -mcpu=mips64 %s -o - \
12# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS64
13# RUN: llvm-mc -filetype=obj -triple mips64 -mcpu=mips64r2 %s -o - \
14# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS64
15# RUN: llvm-mc -filetype=obj -triple mips -mcpu=mips32r6 %s -o - \
16# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS32R6
17# RUN: llvm-mc -filetype=obj -triple mips64 -mcpu=mips64r6 %s -o - \
18# RUN:   | llvm-objdump -d -r - | FileCheck %s --check-prefix=MIPS64R6
19
20ll $2, 128($sp)
21# MIPS32:         c3 a2 00 80  ll     $2, 128($sp)
22# MIPS32R6:       7f a2 40 36  ll     $2, 128($sp)
23# MIPSN32:        c3 a2 00 80  ll     $2, 128($sp)
24# MIPSN32R6:      7f a2 40 36  ll     $2, 128($sp)
25# MIPS64:         c3 a2 00 80  ll     $2, 128($sp)
26# MIPS64R6:       7f a2 40 36  ll     $2, 128($sp)
27
28ll $2, -128($sp)
29# MIPS32:         c3 a2 ff 80  ll     $2, -128($sp)
30# MIPS32R6:       7f a2 c0 36  ll     $2, -128($sp)
31# MIPSN32:        c3 a2 ff 80  ll     $2, -128($sp)
32# MIPSN32R6:      7f a2 c0 36  ll     $2, -128($sp)
33# MIPS64:         c3 a2 ff 80  ll     $2, -128($sp)
34# MIPS64R6:       7f a2 c0 36  ll     $2, -128($sp)
35
36ll $2, 256($sp)
37# MIPS32:         c3 a2 01 00  ll     $2, 256($sp)
38
39# MIPS32R6:       27 a2 01 00  addiu  $2, $sp, 256
40# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
41
42# MIPSN32:        c3 a2 01 00  ll     $2, 256($sp)
43
44# MIPSN32R6:      27 a2 01 00  addiu  $2, $sp, 256
45# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
46
47# MIPS64:         c3 a2 01 00  ll     $2, 256($sp)
48
49# MIPS64R6:       67 a2 01 00  daddiu $2, $sp, 256
50# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
51
52ll $2, -257($sp)
53# MIPS32:         c3 a2 fe ff  ll     $2, -257($sp)
54
55# MIPS32R6:       27 a2 fe ff  addiu  $2, $sp, -257
56# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
57
58# MIPSN32:        c3 a2 fe ff  ll     $2, -257($sp)
59
60# MIPSN32R6:      27 a2 fe ff  addiu  $2, $sp, -257
61# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
62
63# MIPS64:         c3 a2 fe ff  ll     $2, -257($sp)
64
65# MIPS64R6:       67 a2 fe ff  daddiu $2, $sp, -257
66# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
67
68ll $2, 32767($sp)
69# MIPS32:         c3 a2 7f ff  ll     $2, 32767($sp)
70
71# MIPS32R6:       27 a2 7f ff  addiu  $2, $sp, 32767
72# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
73
74# MIPSN32:        c3 a2 7f ff  ll     $2, 32767($sp)
75
76# MIPSN32R6:      27 a2 7f ff  addiu  $2, $sp, 32767
77# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
78
79# MIPS64:         c3 a2 7f ff  ll     $2, 32767($sp)
80
81# MIPS64R6:       67 a2 7f ff  daddiu $2, $sp, 32767
82# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
83
84ll $2, 32768($sp)
85# MIPS32:         3c 02 00 01  lui    $2, 1
86# MIPS32-NEXT:    00 5d 10 21  addu   $2, $2, $sp
87# MIPS32-NEXT:    c0 42 80 00  ll     $2, -32768($2)
88
89# MIPS32R6:       34 02 80 00  ori    $2, $zero, 32768
90# MIPS32R6-NEXT:  00 5d 10 21  addu   $2, $2, $sp
91# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
92
93# MIPSN32:        3c 02 00 01  lui    $2, 1
94# MIPSN32-NEXT:   00 5d 10 21  addu   $2, $2, $sp
95# MIPSN32-NEXT:   c0 42 80 00  ll     $2, -32768($2)
96
97# MIPSN32R6:      34 02 80 00  ori    $2, $zero, 32768
98# MIPSN32R6-NEXT: 00 5d 10 21  addu   $2, $2, $sp
99# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
100
101# MIPS64:         3c 02 00 01  lui    $2, 1
102# MIPS64-NEXT:    00 5d 10 2d  daddu  $2, $2, $sp
103# MIPS64-NEXT:    c0 42 80 00  ll     $2, -32768($2)
104
105# MIPS64R6:       34 02 80 00  ori    $2, $zero, 32768
106# MIPS64R6-NEXT:  00 5d 10 2d  daddu  $2, $2, $sp
107# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
108
109ll $2, -32768($sp)
110# MIPS32:         c3 a2 80 00  ll     $2, -32768($sp)
111
112# MIPS32R6:       27 a2 80 00  addiu  $2, $sp, -32768
113# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
114
115# MIPSN32:        c3 a2 80 00  ll     $2, -32768($sp)
116
117# MIPSN32R6:      27 a2 80 00  addiu  $2, $sp, -32768
118# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
119
120# MIPS64:         c3 a2 80 00  ll     $2, -32768($sp)
121
122# MIPS64R6:       67 a2 80 00  daddiu $2, $sp, -32768
123# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
124
125ll $2, -32769($sp)
126# MIPS32:         3c 02 ff ff  lui    $2, 65535
127# MIPS32-NEXT:    00 5d 10 21  addu   $2, $2, $sp
128# MIPS32-NEXT:    c0 42 7f ff  ll     $2, 32767($2)
129
130# MIPS32R6:       3c 02 ff ff  aui    $2, $zero, 65535
131# MIPS32R6-NEXT:  34 42 7f ff  ori    $2, $2, 32767
132# MIPS32R6-NEXT:  00 5d 10 21  addu   $2, $2, $sp
133# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
134
135# MIPSN32:        3c 02 ff ff  lui    $2, 65535
136# MIPSN32-NEXT:   00 5d 10 21  addu   $2, $2, $sp
137# MIPSN32-NEXT:   c0 42 7f ff  ll     $2, 32767($2)
138
139# MIPSN32R6:      3c 02 ff ff  aui    $2, $zero, 65535
140# MIPSN32R6-NEXT: 34 42 7f ff  ori    $2, $2, 32767
141# MIPSN32R6-NEXT: 00 5d 10 21  addu   $2, $2, $sp
142# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
143
144# MIPS64:         3c 02 ff ff  lui    $2, 65535
145# MIPS64-NEXT:    00 5d 10 2d  daddu  $2, $2, $sp
146# MIPS64-NEXT:    c0 42 7f ff  ll     $2, 32767($2)
147
148# MIPS64R6:       3c 02 ff ff  aui    $2, $zero, 65535
149# MIPS64R6-NEXT:  34 42 7f ff  ori    $2, $2, 32767
150# MIPS64R6-NEXT:  00 5d 10 2d  daddu  $2, $2, $sp
151# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
152
153ll $2, 655987($sp)
154# MIPS32:         3c 02 00 0a  lui    $2, 10
155# MIPS32-NEXT:    00 5d 10 21  addu   $2, $2, $sp
156# MIPS32-NEXT:    c0 42 02 73  ll     $2, 627($2)
157
158# MIPS32R6:       3c 02 00 0a  aui    $2, $zero, 10
159# MIPS32R6-NEXT:  34 42 02 73  ori    $2, $2, 627
160# MIPS32R6-NEXT:  00 5d 10 21  addu   $2, $2, $sp
161# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
162
163# MIPSN32:        3c 02 00 0a  lui    $2, 10
164# MIPSN32-NEXT:   00 5d 10 21  addu   $2, $2, $sp
165# MIPSN32-NEXT:   c0 42 02 73  ll     $2, 627($2)
166
167# MIPSN32R6:      3c 02 00 0a  aui    $2, $zero, 10
168# MIPSN32R6-NEXT: 34 42 02 73  ori    $2, $2, 627
169# MIPSN32R6-NEXT: 00 5d 10 21  addu   $2, $2, $sp
170# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
171
172# MIPS64:         3c 02 00 0a  lui    $2, 10
173# MIPS64-NEXT:    00 5d 10 2d  daddu  $2, $2, $sp
174# MIPS64-NEXT:    c0 42 02 73  ll     $2, 627($2)
175
176# MIPS64R6:       3c 02 00 0a  aui    $2, $zero, 10
177# MIPS64R6-NEXT:  34 42 02 73  ori    $2, $2, 627
178# MIPS64R6-NEXT:  00 5d 10 2d  daddu  $2, $2, $sp
179# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
180
181ll $2, -655987($sp)
182# MIPS32:         3c 02 ff f6  lui    $2, 65526
183# MIPS32-NEXT:    00 5d 10 21  addu   $2, $2, $sp
184# MIPS32-NEXT:    c0 42 fd 8d  ll     $2, -627($2)
185
186# MIPS32R6:       3c 02 ff f5  aui    $2, $zero, 65525
187# MIPS32R6-NEXT:  34 42 fd 8d  ori    $2, $2, 64909
188# MIPS32R6-NEXT:  00 5d 10 21  addu   $2, $2, $sp
189# MIPS32R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
190
191# MIPSN32:        3c 02 ff f6  lui    $2, 65526
192# MIPSN32-NEXT:   00 5d 10 21  addu   $2, $2, $sp
193# MIPSN32-NEXT:   c0 42 fd 8d  ll     $2, -627($2)
194
195# MIPSN32R6:      3c 02 ff f5  aui    $2, $zero, 65525
196# MIPSN32R6-NEXT: 34 42 fd 8d  ori    $2, $2, 64909
197# MIPSN32R6-NEXT: 00 5d 10 21  addu   $2, $2, $sp
198# MIPSN32R6-NEXT: 7c 42 00 36  ll     $2, 0($2)
199
200# MIPS64:         3c 02 ff f6  lui    $2, 65526
201# MIPS64-NEXT:    00 5d 10 2d  daddu  $2, $2, $sp
202# MIPS64-NEXT:    c0 42 fd 8d  ll     $2, -627($2)
203
204# MIPS64R6:       3c 02 ff f5  aui    $2, $zero, 65525
205# MIPS64R6-NEXT:  34 42 fd 8d  ori    $2, $2, 64909
206# MIPS64R6-NEXT:  00 5d 10 2d  daddu  $2, $2, $sp
207# MIPS64R6-NEXT:  7c 42 00 36  ll     $2, 0($2)
208
209ll $12, symbol
210# MIPS32:         3c 0c 00 00  lui    $12, 0
211# MIPS32-NEXT:               R_MIPS_HI16  symbol
212# MIPS32-NEXT:    c1 8c 00 00  ll     $12, 0($12)
213# MIPS32-NEXT:               R_MIPS_LO16  symbol
214
215# MIPS32R6:       3c 0c 00 00  aui    $12, $zero, 0
216# MIPS32R6-NEXT:             R_MIPS_HI16 symbol
217# MIPS32R6-NEXT:  25 8c 00 00  addiu  $12, $12, 0
218# MIPS32R6-NEXT:             R_MIPS_LO16 symbol
219# MIPS32R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
220
221# MIPSN32:        3c 0c 00 00  lui    $12, 0
222# MIPSN32-NEXT:              R_MIPS_HI16  symbol
223# MIPSN32-NEXT:   c1 8c 00 00  ll     $12, 0($12)
224# MIPSN32-NEXT:              R_MIPS_LO16  symbol
225
226# MIPSN32R6:      3c 0c 00 00  aui    $12, $zero, 0
227# MIPSN32R6-NEXT:            R_MIPS_HI16 symbol
228# MIPSN32R6-NEXT: 25 8c 00 00  addiu  $12, $12, 0
229# MIPSN32R6-NEXT:            R_MIPS_LO16 symbol
230# MIPSN32R6-NEXT: 7d 8c 00 36  ll     $12, 0($12)
231
232# MIPS64:         3c 0c 00 00  lui    $12, 0
233# MIPS64-NEXT:               R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE  symbol
234# MIPS64-NEXT:    65 8c 00 00  daddiu $12, $12, 0
235# MIPS64-NEXT:               R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE  symbol
236# MIPS64-NEXT:    00 0c 64 38  dsll   $12, $12, 16
237# MIPS64-NEXT:    65 8c 00 00  daddiu $12, $12, 0
238# MIPS64-NEXT:               R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE  symbol
239# MIPS64-NEXT:    00 0c 64 38  dsll   $12, $12, 16
240# MIPS64-NEXT:    c1 8c 00 00  ll     $12, 0($12)
241# MIPS64-NEXT:               R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE  symbol
242
243# MIPS64R6:       3c 0c 00 00  aui    $12, $zero, 0
244# MIPS64R6-NEXT:             R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE  symbol
245# MIPS64R6-NEXT:  3c 01 00 00  aui    $1, $zero, 0
246# MIPS64R6-NEXT:             R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE  symbol
247# MIPS64R6-NEXT:  65 8c 00 00  daddiu $12, $12, 0
248# MIPS64R6-NEXT:             R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE  symbol
249# MIPS64R6-NEXT:  64 21 00 00  daddiu $1, $1, 0
250# MIPS64R6-NEXT:             R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE  symbol
251# MIPS64R6-NEXT:  00 0c 60 3c  dsll32 $12, $12, 0
252# MIPS64R6-NEXT:  01 81 60 2d  daddu  $12, $12, $1
253# MIPS64R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
254
255ll $12, symbol($3)
256# MIPS32:         3c 0c 00 00  lui    $12, 0
257# MIPS32-NEXT:               R_MIPS_HI16  symbol
258# MIPS32-NEXT:    01 83 60 21  addu   $12, $12, $3
259# MIPS32-NEXT:    c1 8c 00 00  ll     $12, 0($12)
260# MIPS32-NEXT:               R_MIPS_LO16  symbol
261
262# MIPS32R6:       3c 0c 00 00  aui    $12, $zero, 0
263# MIPS32R6-NEXT:             R_MIPS_HI16 symbol
264# MIPS32R6-NEXT:  25 8c 00 00  addiu  $12, $12, 0
265# MIPS32R6-NEXT:             R_MIPS_LO16 symbol
266# MIPS32R6-NEXT:  01 83 60 21  addu   $12, $12, $3
267# MIPS32R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
268
269# MIPSN32:        3c 0c 00 00  lui    $12, 0
270# MIPSN32-NEXT:              R_MIPS_HI16  symbol
271# MIPSN32-NEXT:   01 83 60 21  addu   $12, $12, $3
272# MIPSN32-NEXT:   c1 8c 00 00  ll     $12, 0($12)
273# MIPSN32-NEXT:              R_MIPS_LO16  symbol
274
275# MIPSN32R6:      3c 0c 00 00  aui    $12, $zero, 0
276# MIPSN32R6-NEXT:            R_MIPS_HI16 symbol
277# MIPSN32R6-NEXT: 25 8c 00 00  addiu  $12, $12, 0
278# MIPSN32R6-NEXT:            R_MIPS_LO16 symbol
279# MIPSN32R6-NEXT: 01 83 60 21  addu   $12, $12, $3
280# MIPSN32R6-NEXT: 7d 8c 00 36  ll     $12, 0($12)
281
282# MIPS64:         3c 0c 00 00  lui    $12, 0
283# MIPS64-NEXT:               R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE  symbol
284# MIPS64-NEXT:    65 8c 00 00  daddiu $12, $12, 0
285# MIPS64-NEXT:               R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE  symbol
286# MIPS64-NEXT:    00 0c 64 38  dsll   $12, $12, 16
287# MIPS64-NEXT:    65 8c 00 00  daddiu $12, $12, 0
288# MIPS64-NEXT:               R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE  symbol
289# MIPS64-NEXT:    00 0c 64 38  dsll   $12, $12, 16
290# MIPS64-NEXT:    01 83 60 2d  daddu  $12, $12, $3
291# MIPS64-NEXT:    c1 8c 00 00  ll     $12, 0($12)
292# MIPS64-NEXT:               R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE  symbol
293
294# MIPS64R6:       3c 0c 00 00  aui    $12, $zero, 0
295# MIPS64R6-NEXT:             R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE  symbol
296# MIPS64R6-NEXT:  3c 01 00 00  aui    $1, $zero, 0
297# MIPS64R6-NEXT:             R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE  symbol
298# MIPS64R6-NEXT:  65 8c 00 00  daddiu $12, $12, 0
299# MIPS64R6-NEXT:             R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE  symbol
300# MIPS64R6-NEXT:  64 21 00 00  daddiu $1, $1, 0
301# MIPS64R6-NEXT:             R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE  symbol
302# MIPS64R6-NEXT:  00 0c 60 3c  dsll32 $12, $12, 0
303# MIPS64R6-NEXT:  01 81 60 2d  daddu  $12, $12, $1
304# MIPS64R6-NEXT:  01 83 60 2d  daddu  $12, $12, $3
305# MIPS64R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
306
307ll $12, symbol+8
308# MIPS32:         3c 0c 00 00  lui    $12, 0
309# MIPS32-NEXT:               R_MIPS_HI16  symbol
310# MIPS32-NEXT:    c1 8c 00 08  ll     $12, 8($12)
311# MIPS32-NEXT:               R_MIPS_LO16  symbol
312
313# MIPS32R6:       3c 0c 00 00  aui    $12, $zero, 0
314# MIPS32R6-NEXT:             R_MIPS_HI16 symbol
315# MIPS32R6-NEXT:  25 8c 00 08  addiu  $12, $12, 8
316# MIPS32R6-NEXT:             R_MIPS_LO16 symbol
317# MIPS32R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
318
319# MIPSN32:        3c 0c 00 00  lui    $12, 0
320# MIPSN32-NEXT:              R_MIPS_HI16  symbol+0x8
321# MIPSN32-NEXT:   c1 8c 00 00  ll     $12, 0($12)
322# MIPSN32-NEXT:              R_MIPS_LO16  symbol+0x8
323
324# MIPSN32R6:      3c 0c 00 00  aui    $12, $zero, 0
325# MIPSN32R6-NEXT:            R_MIPS_HI16 symbol+0x8
326# MIPSN32R6-NEXT: 25 8c 00 00  addiu  $12, $12, 0
327# MIPSN32R6-NEXT:            R_MIPS_LO16 symbol+0x8
328# MIPSN32R6-NEXT: 7d 8c 00 36  ll     $12, 0($12)
329
330# MIPS64:         3c 0c 00 00  lui    $12, 0
331# MIPS64-NEXT:               R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
332# MIPS64-NEXT:    65 8c 00 00  daddiu $12, $12, 0
333# MIPS64-NEXT:               R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
334# MIPS64-NEXT:    00 0c 64 38  dsll   $12, $12, 16
335# MIPS64-NEXT:    65 8c 00 00  daddiu $12, $12, 0
336# MIPS64-NEXT:               R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
337# MIPS64-NEXT:    00 0c 64 38  dsll   $12, $12, 16
338# MIPS64-NEXT:    c1 8c 00 00  ll     $12, 0($12)
339# MIPS64-NEXT:               R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
340
341# MIPS64R6:       3c 0c 00 00  aui    $12, $zero, 0
342# MIPS64R6-NEXT:             R_MIPS_HIGHEST/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
343# MIPS64R6-NEXT:  3c 01 00 00  aui    $1, $zero, 0
344# MIPS64R6-NEXT:             R_MIPS_HI16/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
345# MIPS64R6-NEXT:  65 8c 00 00  daddiu $12, $12, 0
346# MIPS64R6-NEXT:             R_MIPS_HIGHER/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
347# MIPS64R6-NEXT:  64 21 00 00  daddiu $1, $1, 0
348# MIPS64R6-NEXT:             R_MIPS_LO16/R_MIPS_NONE/R_MIPS_NONE  symbol+0x8
349# MIPS64R6-NEXT:  00 0c 60 3c  dsll32 $12, $12, 0
350# MIPS64R6-NEXT:  01 81 60 2d  daddu  $12, $12, $1
351# MIPS64R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
352
353.option pic2
354
355ll $12, symbol
356# MIPS32:         8f 8c 00 00  lw     $12, 0($gp)
357# MIPS32-NEXT:               R_MIPS_GOT16 symbol
358# MIPS32-NEXT:    c1 8c 00 00  ll     $12, 0($12)
359
360# MIPS32R6:       8f 8c 00 00  lw     $12, 0($gp)
361# MIPS32R6-NEXT:             R_MIPS_GOT16 symbol
362# MIPS32R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
363
364# MIPSN32:        8f 8c 00 00  lw     $12, 0($gp)
365# MIPSN32-NEXT:              R_MIPS_GOT_DISP symbol
366# MIPSN32-NEXT:   c1 8c 00 00  ll     $12, 0($12)
367
368# MIPSN32R6:      8f 8c 00 00  lw     $12, 0($gp)
369# MIPSN32R6-NEXT:            R_MIPS_GOT_DISP symbol
370# MIPSN32R6-NEXT: 7d 8c 00 36  ll     $12, 0($12)
371
372# MIPS64:         df 8c 00 00  ld     $12, 0($gp)
373# MIPS64-NEXT:               R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol
374# MIPS64-NEXT:    c1 8c 00 00  ll     $12, 0($12)
375
376# MIPS64R6:       df 8c 00 00  ld     $12, 0($gp)
377# MIPS64R6-NEXT:             R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol
378# MIPS64R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
379
380ll $12, symbol+8
381# MIPS32:         8f 8c 00 00  lw     $12, 0($gp)
382# MIPS32-NEXT:               R_MIPS_GOT16 symbol
383# MIPS32-NEXT:    c1 8c 00 08  ll     $12, 8($12)
384
385# MIPS32R6:       8f 8c 00 00  lw     $12, 0($gp)
386# MIPS32R6-NEXT:             R_MIPS_GOT16 symbol
387# MIPS32R6-NEXT:  25 8c 00 08  addiu  $12, $12, 8
388# MIPS32R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
389
390# MIPSN32:        8f 8c 00 00  lw     $12, 0($gp)
391# MIPSN32-NEXT:              R_MIPS_GOT_DISP symbol
392# MIPSN32-NEXT:   c1 8c 00 08  ll     $12, 8($12)
393
394# MIPSN32R6:      8f 8c 00 00  lw     $12, 0($gp)
395# MIPSN32R6-NEXT:            R_MIPS_GOT_DISP symbol
396# MIPSN32R6-NEXT: 25 8c 00 08  addiu  $12, $12, 8
397# MIPSN32R6-NEXT: 7d 8c 00 36  ll     $12, 0($12)
398
399# MIPS64:         df 8c 00 00  ld     $12, 0($gp)
400# MIPS64-NEXT:               R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol
401# MIPS64-NEXT:    c1 8c 00 08  ll     $12, 8($12)
402
403# MIPS64R6:       df 8c 00 00  ld     $12, 0($gp)
404# MIPS64R6-NEXT:             R_MIPS_GOT_DISP/R_MIPS_NONE/R_MIPS_NONE symbol
405# MIPS64R6-NEXT:  65 8c 00 08  daddiu $12, $12, 8
406# MIPS64R6-NEXT:  7d 8c 00 36  ll     $12, 0($12)
407