1 #as: -KPIC -mips3 -32 -relax-branch
2 #objdump: -dr --prefix-addresses -mmips:4000
3 #name: MIPS relax
4 #stderr: relax.l
5 
6 # Test relaxation.
7 
8 .*: +file format .*mips.*
9 
10 Disassembly of section \.text:
11 00000000 <foo> lw	at,2\(gp\)
12 			0: R_MIPS_GOT16	\.text
13 00000004 <foo\+0x4> addiu	at,at,592
14 			4: R_MIPS_LO16	\.text
15 00000008 <foo\+0x8> jr	at
16 0000000c <foo\+0xc> nop
17 00000010 <foo\+0x10> lw	at,2\(gp\)
18 			10: R_MIPS_GOT16	\.text
19 00000014 <foo\+0x14> addiu	at,at,592
20 			14: R_MIPS_LO16	\.text
21 00000018 <foo\+0x18> jalr	at
22 0000001c <foo\+0x1c> nop
23 00000020 <foo\+0x20> bne	v0,v1,00000034 <foo\+0x34>
24 00000024 <foo\+0x24> nop
25 00000028 <foo\+0x28> lw	at,2\(gp\)
26 			28: R_MIPS_GOT16	\.text
27 0000002c <foo\+0x2c> addiu	at,at,592
28 			2c: R_MIPS_LO16	\.text
29 00000030 <foo\+0x30> jr	at
30 00000034 <foo\+0x34> nop
31 00000038 <foo\+0x38> beq	a0,a1,0000004c <foo\+0x4c>
32 0000003c <foo\+0x3c> nop
33 00000040 <foo\+0x40> lw	at,2\(gp\)
34 			40: R_MIPS_GOT16	\.text
35 00000044 <foo\+0x44> addiu	at,at,592
36 			44: R_MIPS_LO16	\.text
37 00000048 <foo\+0x48> jr	at
38 0000004c <foo\+0x4c> nop
39 00000050 <foo\+0x50> bgtz	v0,00000064 <foo\+0x64>
40 00000054 <foo\+0x54> nop
41 00000058 <foo\+0x58> lw	at,2\(gp\)
42 			58: R_MIPS_GOT16	\.text
43 0000005c <foo\+0x5c> addiu	at,at,592
44 			5c: R_MIPS_LO16	\.text
45 00000060 <foo\+0x60> jr	at
46 00000064 <foo\+0x64> nop
47 00000068 <foo\+0x68> blez	v1,0000007c <foo\+0x7c>
48 0000006c <foo\+0x6c> nop
49 00000070 <foo\+0x70> lw	at,2\(gp\)
50 			70: R_MIPS_GOT16	\.text
51 00000074 <foo\+0x74> addiu	at,at,592
52 			74: R_MIPS_LO16	\.text
53 00000078 <foo\+0x78> jr	at
54 0000007c <foo\+0x7c> nop
55 00000080 <foo\+0x80> bgez	a0,00000094 <foo\+0x94>
56 00000084 <foo\+0x84> nop
57 00000088 <foo\+0x88> lw	at,2\(gp\)
58 			88: R_MIPS_GOT16	\.text
59 0000008c <foo\+0x8c> addiu	at,at,592
60 			8c: R_MIPS_LO16	\.text
61 00000090 <foo\+0x90> jr	at
62 00000094 <foo\+0x94> nop
63 00000098 <foo\+0x98> bltz	a1,000000ac <foo\+0xac>
64 0000009c <foo\+0x9c> nop
65 000000a0 <foo\+0xa0> lw	at,2\(gp\)
66 			a0: R_MIPS_GOT16	\.text
67 000000a4 <foo\+0xa4> addiu	at,at,592
68 			a4: R_MIPS_LO16	\.text
69 000000a8 <foo\+0xa8> jr	at
70 000000ac <foo\+0xac> nop
71 000000b0 <foo\+0xb0> bc1t	000000c4 <foo\+0xc4>
72 000000b4 <foo\+0xb4> nop
73 000000b8 <foo\+0xb8> lw	at,2\(gp\)
74 			b8: R_MIPS_GOT16	\.text
75 000000bc <foo\+0xbc> addiu	at,at,592
76 			bc: R_MIPS_LO16	\.text
77 000000c0 <foo\+0xc0> jr	at
78 000000c4 <foo\+0xc4> nop
79 000000c8 <foo\+0xc8> bc1f	000000dc <foo\+0xdc>
80 000000cc <foo\+0xcc> nop
81 000000d0 <foo\+0xd0> lw	at,2\(gp\)
82 			d0: R_MIPS_GOT16	\.text
83 000000d4 <foo\+0xd4> addiu	at,at,592
84 			d4: R_MIPS_LO16	\.text
85 000000d8 <foo\+0xd8> jr	at
86 000000dc <foo\+0xdc> nop
87 000000e0 <foo\+0xe0> bgez	v0,000000f4 <foo\+0xf4>
88 000000e4 <foo\+0xe4> nop
89 000000e8 <foo\+0xe8> lw	at,2\(gp\)
90 			e8: R_MIPS_GOT16	\.text
91 000000ec <foo\+0xec> addiu	at,at,592
92 			ec: R_MIPS_LO16	\.text
93 000000f0 <foo\+0xf0> jalr	at
94 000000f4 <foo\+0xf4> nop
95 000000f8 <foo\+0xf8> bltz	v1,0000010c <foo\+0x10c>
96 000000fc <foo\+0xfc> nop
97 00000100 <foo\+0x100> lw	at,2\(gp\)
98 			100: R_MIPS_GOT16	\.text
99 00000104 <foo\+0x104> addiu	at,at,592
100 			104: R_MIPS_LO16	\.text
101 00000108 <foo\+0x108> jalr	at
102 0000010c <foo\+0x10c> nop
103 00000110 <foo\+0x110> beql	v0,v1,00000120 <foo\+0x120>
104 00000114 <foo\+0x114> nop
105 00000118 <foo\+0x118> beqzl	zero,00000130 <foo\+0x130>
106 0000011c <foo\+0x11c> nop
107 00000120 <foo\+0x120> lw	at,2\(gp\)
108 			120: R_MIPS_GOT16	\.text
109 00000124 <foo\+0x124> addiu	at,at,592
110 			124: R_MIPS_LO16	\.text
111 00000128 <foo\+0x128> jr	at
112 0000012c <foo\+0x12c> nop
113 00000130 <foo\+0x130> bnel	a0,a1,00000140 <foo\+0x140>
114 00000134 <foo\+0x134> nop
115 00000138 <foo\+0x138> beqzl	zero,00000150 <foo\+0x150>
116 0000013c <foo\+0x13c> nop
117 00000140 <foo\+0x140> lw	at,2\(gp\)
118 			140: R_MIPS_GOT16	\.text
119 00000144 <foo\+0x144> addiu	at,at,592
120 			144: R_MIPS_LO16	\.text
121 00000148 <foo\+0x148> jr	at
122 0000014c <foo\+0x14c> nop
123 00000150 <foo\+0x150> blezl	v0,00000160 <foo\+0x160>
124 00000154 <foo\+0x154> nop
125 00000158 <foo\+0x158> beqzl	zero,00000170 <foo\+0x170>
126 0000015c <foo\+0x15c> nop
127 00000160 <foo\+0x160> lw	at,2\(gp\)
128 			160: R_MIPS_GOT16	\.text
129 00000164 <foo\+0x164> addiu	at,at,592
130 			164: R_MIPS_LO16	\.text
131 00000168 <foo\+0x168> jr	at
132 0000016c <foo\+0x16c> nop
133 00000170 <foo\+0x170> bgtzl	v1,00000180 <foo\+0x180>
134 00000174 <foo\+0x174> nop
135 00000178 <foo\+0x178> beqzl	zero,00000190 <foo\+0x190>
136 0000017c <foo\+0x17c> nop
137 00000180 <foo\+0x180> lw	at,2\(gp\)
138 			180: R_MIPS_GOT16	\.text
139 00000184 <foo\+0x184> addiu	at,at,592
140 			184: R_MIPS_LO16	\.text
141 00000188 <foo\+0x188> jr	at
142 0000018c <foo\+0x18c> nop
143 00000190 <foo\+0x190> bltzl	a0,000001a0 <foo\+0x1a0>
144 00000194 <foo\+0x194> nop
145 00000198 <foo\+0x198> beqzl	zero,000001b0 <foo\+0x1b0>
146 0000019c <foo\+0x19c> nop
147 000001a0 <foo\+0x1a0> lw	at,2\(gp\)
148 			1a0: R_MIPS_GOT16	\.text
149 000001a4 <foo\+0x1a4> addiu	at,at,592
150 			1a4: R_MIPS_LO16	\.text
151 000001a8 <foo\+0x1a8> jr	at
152 000001ac <foo\+0x1ac> nop
153 000001b0 <foo\+0x1b0> bgezl	a1,000001c0 <foo\+0x1c0>
154 000001b4 <foo\+0x1b4> nop
155 000001b8 <foo\+0x1b8> beqzl	zero,000001d0 <foo\+0x1d0>
156 000001bc <foo\+0x1bc> nop
157 000001c0 <foo\+0x1c0> lw	at,2\(gp\)
158 			1c0: R_MIPS_GOT16	\.text
159 000001c4 <foo\+0x1c4> addiu	at,at,592
160 			1c4: R_MIPS_LO16	\.text
161 000001c8 <foo\+0x1c8> jr	at
162 000001cc <foo\+0x1cc> nop
163 000001d0 <foo\+0x1d0> bc1fl	000001e0 <foo\+0x1e0>
164 000001d4 <foo\+0x1d4> nop
165 000001d8 <foo\+0x1d8> beqzl	zero,000001f0 <foo\+0x1f0>
166 000001dc <foo\+0x1dc> nop
167 000001e0 <foo\+0x1e0> lw	at,2\(gp\)
168 			1e0: R_MIPS_GOT16	\.text
169 000001e4 <foo\+0x1e4> addiu	at,at,592
170 			1e4: R_MIPS_LO16	\.text
171 000001e8 <foo\+0x1e8> jr	at
172 000001ec <foo\+0x1ec> nop
173 000001f0 <foo\+0x1f0> bc1tl	00000200 <foo\+0x200>
174 000001f4 <foo\+0x1f4> nop
175 000001f8 <foo\+0x1f8> beqzl	zero,00000210 <foo\+0x210>
176 000001fc <foo\+0x1fc> nop
177 00000200 <foo\+0x200> lw	at,2\(gp\)
178 			200: R_MIPS_GOT16	\.text
179 00000204 <foo\+0x204> addiu	at,at,592
180 			204: R_MIPS_LO16	\.text
181 00000208 <foo\+0x208> jr	at
182 0000020c <foo\+0x20c> nop
183 00000210 <foo\+0x210> bltzl	v0,00000220 <foo\+0x220>
184 00000214 <foo\+0x214> nop
185 00000218 <foo\+0x218> beqzl	zero,00000230 <foo\+0x230>
186 0000021c <foo\+0x21c> nop
187 00000220 <foo\+0x220> lw	at,2\(gp\)
188 			220: R_MIPS_GOT16	\.text
189 00000224 <foo\+0x224> addiu	at,at,592
190 			224: R_MIPS_LO16	\.text
191 00000228 <foo\+0x228> jalr	at
192 0000022c <foo\+0x22c> nop
193 00000230 <foo\+0x230> bgezl	v1,00000240 <foo\+0x240>
194 00000234 <foo\+0x234> nop
195 00000238 <foo\+0x238> beqzl	zero,00000250 <foo\+0x250>
196 0000023c <foo\+0x23c> nop
197 00000240 <foo\+0x240> lw	at,2\(gp\)
198 			240: R_MIPS_GOT16	\.text
199 00000244 <foo\+0x244> addiu	at,at,592
200 			244: R_MIPS_LO16	\.text
201 00000248 <foo\+0x248> jalr	at
202 0000024c <foo\+0x24c> nop
203 	\.\.\.
204 00020250 <bar> lw	at,0\(gp\)
205 			20250: R_MIPS_GOT16	\.text
206 00020254 <bar\+0x4> addiu	at,at,0
207 			20254: R_MIPS_LO16	\.text
208 00020258 <bar\+0x8> jr	at
209 0002025c <bar\+0xc> nop
210 00020260 <bar\+0x10> lw	at,0\(gp\)
211 			20260: R_MIPS_GOT16	\.text
212 00020264 <bar\+0x14> addiu	at,at,0
213 			20264: R_MIPS_LO16	\.text
214 00020268 <bar\+0x18> jalr	at
215 0002026c <bar\+0x1c> nop
216 00020270 <bar\+0x20> bne	v0,v1,00020284 <bar\+0x34>
217 00020274 <bar\+0x24> nop
218 00020278 <bar\+0x28> lw	at,0\(gp\)
219 			20278: R_MIPS_GOT16	\.text
220 0002027c <bar\+0x2c> addiu	at,at,0
221 			2027c: R_MIPS_LO16	\.text
222 00020280 <bar\+0x30> jr	at
223 00020284 <bar\+0x34> nop
224 00020288 <bar\+0x38> beq	a0,a1,0002029c <bar\+0x4c>
225 0002028c <bar\+0x3c> nop
226 00020290 <bar\+0x40> lw	at,0\(gp\)
227 			20290: R_MIPS_GOT16	\.text
228 00020294 <bar\+0x44> addiu	at,at,0
229 			20294: R_MIPS_LO16	\.text
230 00020298 <bar\+0x48> jr	at
231 0002029c <bar\+0x4c> nop
232 000202a0 <bar\+0x50> bgtz	v0,000202b4 <bar\+0x64>
233 000202a4 <bar\+0x54> nop
234 000202a8 <bar\+0x58> lw	at,0\(gp\)
235 			202a8: R_MIPS_GOT16	\.text
236 000202ac <bar\+0x5c> addiu	at,at,0
237 			202ac: R_MIPS_LO16	\.text
238 000202b0 <bar\+0x60> jr	at
239 000202b4 <bar\+0x64> nop
240 000202b8 <bar\+0x68> blez	v1,000202cc <bar\+0x7c>
241 000202bc <bar\+0x6c> nop
242 000202c0 <bar\+0x70> lw	at,0\(gp\)
243 			202c0: R_MIPS_GOT16	\.text
244 000202c4 <bar\+0x74> addiu	at,at,0
245 			202c4: R_MIPS_LO16	\.text
246 000202c8 <bar\+0x78> jr	at
247 000202cc <bar\+0x7c> nop
248 000202d0 <bar\+0x80> bgez	a0,000202e4 <bar\+0x94>
249 000202d4 <bar\+0x84> nop
250 000202d8 <bar\+0x88> lw	at,0\(gp\)
251 			202d8: R_MIPS_GOT16	\.text
252 000202dc <bar\+0x8c> addiu	at,at,0
253 			202dc: R_MIPS_LO16	\.text
254 000202e0 <bar\+0x90> jr	at
255 000202e4 <bar\+0x94> nop
256 000202e8 <bar\+0x98> bltz	a1,000202fc <bar\+0xac>
257 000202ec <bar\+0x9c> nop
258 000202f0 <bar\+0xa0> lw	at,0\(gp\)
259 			202f0: R_MIPS_GOT16	\.text
260 000202f4 <bar\+0xa4> addiu	at,at,0
261 			202f4: R_MIPS_LO16	\.text
262 000202f8 <bar\+0xa8> jr	at
263 000202fc <bar\+0xac> nop
264 00020300 <bar\+0xb0> bc1t	00020314 <bar\+0xc4>
265 00020304 <bar\+0xb4> nop
266 00020308 <bar\+0xb8> lw	at,0\(gp\)
267 			20308: R_MIPS_GOT16	\.text
268 0002030c <bar\+0xbc> addiu	at,at,0
269 			2030c: R_MIPS_LO16	\.text
270 00020310 <bar\+0xc0> jr	at
271 00020314 <bar\+0xc4> nop
272 00020318 <bar\+0xc8> bc1f	0002032c <bar\+0xdc>
273 0002031c <bar\+0xcc> nop
274 00020320 <bar\+0xd0> lw	at,0\(gp\)
275 			20320: R_MIPS_GOT16	\.text
276 00020324 <bar\+0xd4> addiu	at,at,0
277 			20324: R_MIPS_LO16	\.text
278 00020328 <bar\+0xd8> jr	at
279 0002032c <bar\+0xdc> nop
280 00020330 <bar\+0xe0> bgez	v0,00020344 <bar\+0xf4>
281 00020334 <bar\+0xe4> nop
282 00020338 <bar\+0xe8> lw	at,0\(gp\)
283 			20338: R_MIPS_GOT16	\.text
284 0002033c <bar\+0xec> addiu	at,at,0
285 			2033c: R_MIPS_LO16	\.text
286 00020340 <bar\+0xf0> jalr	at
287 00020344 <bar\+0xf4> nop
288 00020348 <bar\+0xf8> bltz	v1,0002035c <bar\+0x10c>
289 0002034c <bar\+0xfc> nop
290 00020350 <bar\+0x100> lw	at,0\(gp\)
291 			20350: R_MIPS_GOT16	\.text
292 00020354 <bar\+0x104> addiu	at,at,0
293 			20354: R_MIPS_LO16	\.text
294 00020358 <bar\+0x108> jalr	at
295 0002035c <bar\+0x10c> nop
296 00020360 <bar\+0x110> beql	v0,v1,00020370 <bar\+0x120>
297 00020364 <bar\+0x114> nop
298 00020368 <bar\+0x118> beqzl	zero,00020380 <bar\+0x130>
299 0002036c <bar\+0x11c> nop
300 00020370 <bar\+0x120> lw	at,0\(gp\)
301 			20370: R_MIPS_GOT16	\.text
302 00020374 <bar\+0x124> addiu	at,at,0
303 			20374: R_MIPS_LO16	\.text
304 00020378 <bar\+0x128> jr	at
305 0002037c <bar\+0x12c> nop
306 00020380 <bar\+0x130> bnel	a0,a1,00020390 <bar\+0x140>
307 00020384 <bar\+0x134> nop
308 00020388 <bar\+0x138> beqzl	zero,000203a0 <bar\+0x150>
309 0002038c <bar\+0x13c> nop
310 00020390 <bar\+0x140> lw	at,0\(gp\)
311 			20390: R_MIPS_GOT16	\.text
312 00020394 <bar\+0x144> addiu	at,at,0
313 			20394: R_MIPS_LO16	\.text
314 00020398 <bar\+0x148> jr	at
315 0002039c <bar\+0x14c> nop
316 000203a0 <bar\+0x150> blezl	v0,000203b0 <bar\+0x160>
317 000203a4 <bar\+0x154> nop
318 000203a8 <bar\+0x158> beqzl	zero,000203c0 <bar\+0x170>
319 000203ac <bar\+0x15c> nop
320 000203b0 <bar\+0x160> lw	at,0\(gp\)
321 			203b0: R_MIPS_GOT16	\.text
322 000203b4 <bar\+0x164> addiu	at,at,0
323 			203b4: R_MIPS_LO16	\.text
324 000203b8 <bar\+0x168> jr	at
325 000203bc <bar\+0x16c> nop
326 000203c0 <bar\+0x170> bgtzl	v1,000203d0 <bar\+0x180>
327 000203c4 <bar\+0x174> nop
328 000203c8 <bar\+0x178> beqzl	zero,000203e0 <bar\+0x190>
329 000203cc <bar\+0x17c> nop
330 000203d0 <bar\+0x180> lw	at,0\(gp\)
331 			203d0: R_MIPS_GOT16	\.text
332 000203d4 <bar\+0x184> addiu	at,at,0
333 			203d4: R_MIPS_LO16	\.text
334 000203d8 <bar\+0x188> jr	at
335 000203dc <bar\+0x18c> nop
336 000203e0 <bar\+0x190> bltzl	a0,000203f0 <bar\+0x1a0>
337 000203e4 <bar\+0x194> nop
338 000203e8 <bar\+0x198> beqzl	zero,00020400 <bar\+0x1b0>
339 000203ec <bar\+0x19c> nop
340 000203f0 <bar\+0x1a0> lw	at,0\(gp\)
341 			203f0: R_MIPS_GOT16	\.text
342 000203f4 <bar\+0x1a4> addiu	at,at,0
343 			203f4: R_MIPS_LO16	\.text
344 000203f8 <bar\+0x1a8> jr	at
345 000203fc <bar\+0x1ac> nop
346 00020400 <bar\+0x1b0> bgezl	a1,00020410 <bar\+0x1c0>
347 00020404 <bar\+0x1b4> nop
348 00020408 <bar\+0x1b8> beqzl	zero,00020420 <bar\+0x1d0>
349 0002040c <bar\+0x1bc> nop
350 00020410 <bar\+0x1c0> lw	at,0\(gp\)
351 			20410: R_MIPS_GOT16	\.text
352 00020414 <bar\+0x1c4> addiu	at,at,0
353 			20414: R_MIPS_LO16	\.text
354 00020418 <bar\+0x1c8> jr	at
355 0002041c <bar\+0x1cc> nop
356 00020420 <bar\+0x1d0> bc1fl	00020430 <bar\+0x1e0>
357 00020424 <bar\+0x1d4> nop
358 00020428 <bar\+0x1d8> beqzl	zero,00020440 <bar\+0x1f0>
359 0002042c <bar\+0x1dc> nop
360 00020430 <bar\+0x1e0> lw	at,0\(gp\)
361 			20430: R_MIPS_GOT16	\.text
362 00020434 <bar\+0x1e4> addiu	at,at,0
363 			20434: R_MIPS_LO16	\.text
364 00020438 <bar\+0x1e8> jr	at
365 0002043c <bar\+0x1ec> nop
366 00020440 <bar\+0x1f0> bc1tl	00020450 <bar\+0x200>
367 00020444 <bar\+0x1f4> nop
368 00020448 <bar\+0x1f8> beqzl	zero,00020460 <bar\+0x210>
369 0002044c <bar\+0x1fc> nop
370 00020450 <bar\+0x200> lw	at,0\(gp\)
371 			20450: R_MIPS_GOT16	\.text
372 00020454 <bar\+0x204> addiu	at,at,0
373 			20454: R_MIPS_LO16	\.text
374 00020458 <bar\+0x208> jr	at
375 0002045c <bar\+0x20c> nop
376 00020460 <bar\+0x210> bltzl	v0,00020470 <bar\+0x220>
377 00020464 <bar\+0x214> nop
378 00020468 <bar\+0x218> beqzl	zero,00020480 <bar\+0x230>
379 0002046c <bar\+0x21c> nop
380 00020470 <bar\+0x220> lw	at,0\(gp\)
381 			20470: R_MIPS_GOT16	\.text
382 00020474 <bar\+0x224> addiu	at,at,0
383 			20474: R_MIPS_LO16	\.text
384 00020478 <bar\+0x228> jalr	at
385 0002047c <bar\+0x22c> nop
386 00020480 <bar\+0x230> bgezl	v1,00020490 <bar\+0x240>
387 00020484 <bar\+0x234> nop
388 00020488 <bar\+0x238> beqzl	zero,000204a0 <bar\+0x250>
389 0002048c <bar\+0x23c> nop
390 00020490 <bar\+0x240> lw	at,0\(gp\)
391 			20490: R_MIPS_GOT16	\.text
392 00020494 <bar\+0x244> addiu	at,at,0
393 			20494: R_MIPS_LO16	\.text
394 00020498 <bar\+0x248> jalr	at
395 0002049c <bar\+0x24c> nop
396