1 # Source file used to test li/addi on MIPS16
11 .extern big_external_data_label,1000
12 .extern small_external_data_label,1
13 .comm big_external_common,1000
14 .comm small_external_common,1
15 .lcomm big_local_common,1000
16 .lcomm small_local_common,1
25 addiu $
4,%lo
(data_label
)
26 li $
4,%hi
(data_label2
)
28 addiu $
4,%lo
(data_label2
)
29 li $
4,%hi
(big_external_data_label
)
31 addiu $
4,%lo
(big_external_data_label
)
32 li $
4,%hi
(small_external_data_label
)
34 addiu $
4,%lo
(small_external_data_label
)
35 li $
4,%hi
(big_external_common
)
37 addiu $
4,%lo
(big_external_common
)
38 li $
4,%hi
(small_external_common
)
40 addiu $
4,%lo
(small_external_common
)
41 li $
4,%hi
(big_local_common
)
43 addiu $
4,%lo
(big_local_common
)
44 li $
4,%hi
(small_local_common
)
46 addiu $
4,%lo
(small_local_common
)
50 li $
4,%hi
(data_label+
1)
52 addiu $
4,%lo
(data_label+
1)
53 li $
4,%hi
(data_label2+
1)
55 addiu $
4,%lo
(data_label2+
1)
56 li $
4,%hi
(big_external_data_label+
1)
58 addiu $
4,%lo
(big_external_data_label+
1)
59 li $
4,%hi
(small_external_data_label+
1)
61 addiu $
4,%lo
(small_external_data_label+
1)
62 li $
4,%hi
(big_external_common+
1)
64 addiu $
4,%lo
(big_external_common+
1)
65 li $
4,%hi
(small_external_common+
1)
67 addiu $
4,%lo
(small_external_common+
1)
68 li $
4,%hi
(big_local_common+
1)
70 addiu $
4,%lo
(big_local_common+
1)
71 li $
4,%hi
(small_local_common+
1)
73 addiu $
4,%lo
(small_local_common+
1)
77 li $
4,%hi
(data_label+
0x8000)
79 addiu $
4,%lo
(data_label+
0x8000)
80 li $
4,%hi
(data_label2+
0x8000)
82 addiu $
4,%lo
(data_label2+
0x8000)
83 li $
4,%hi
(big_external_data_label+
0x8000)
85 addiu $
4,%lo
(big_external_data_label+
0x8000)
86 li $
4,%hi
(small_external_data_label+
0x8000)
88 addiu $
4,%lo
(small_external_data_label+
0x8000)
89 li $
4,%hi
(big_external_common+
0x8000)
91 addiu $
4,%lo
(big_external_common+
0x8000)
92 li $
4,%hi
(small_external_common+
0x8000)
94 addiu $
4,%lo
(small_external_common+
0x8000)
95 li $
4,%hi
(big_local_common+
0x8000)
97 addiu $
4,%lo
(big_local_common+
0x8000)
98 li $
4,%hi
(small_local_common+
0x8000)
100 addiu $
4,%lo
(small_local_common+
0x8000)
103 addiu $
4,%lo
(-0x8000)
104 li $
4,%hi
(data_label-
0x8000)
106 addiu $
4,%lo
(data_label-
0x8000)
107 li $
4,%hi
(data_label2-
0x8000)
109 addiu $
4,%lo
(data_label2-
0x8000)
110 li $
4,%hi
(big_external_data_label-
0x8000)
112 addiu $
4,%lo
(big_external_data_label-
0x8000)
113 li $
4,%hi
(small_external_data_label-
0x8000)
115 addiu $
4,%lo
(small_external_data_label-
0x8000)
116 li $
4,%hi
(big_external_common-
0x8000)
118 addiu $
4,%lo
(big_external_common-
0x8000)
119 li $
4,%hi
(small_external_common-
0x8000)
121 addiu $
4,%lo
(small_external_common-
0x8000)
122 li $
4,%hi
(big_local_common-
0x8000)
124 addiu $
4,%lo
(big_local_common-
0x8000)
125 li $
4,%hi
(small_local_common-
0x8000)
127 addiu $
4,%lo
(small_local_common-
0x8000)
130 addiu $
4,%lo
(0x10000)
131 li $
4,%hi
(data_label+
0x10000)
133 addiu $
4,%lo
(data_label+
0x10000)
134 li $
4,%hi
(data_label2+
0x10000)
136 addiu $
4,%lo
(data_label2+
0x10000)
137 li $
4,%hi
(big_external_data_label+
0x10000)
139 addiu $
4,%lo
(big_external_data_label+
0x10000)
140 li $
4,%hi
(small_external_data_label+
0x10000)
142 addiu $
4,%lo
(small_external_data_label+
0x10000)
143 li $
4,%hi
(big_external_common+
0x10000)
145 addiu $
4,%lo
(big_external_common+
0x10000)
146 li $
4,%hi
(small_external_common+
0x10000)
148 addiu $
4,%lo
(small_external_common+
0x10000)
149 li $
4,%hi
(big_local_common+
0x10000)
151 addiu $
4,%lo
(big_local_common+
0x10000)
152 li $
4,%hi
(small_local_common+
0x10000)
154 addiu $
4,%lo
(small_local_common+
0x10000)
157 addiu $
4,%lo
(0x1a5a5)
158 li $
4,%hi
(data_label+
0x1a5a5)
160 addiu $
4,%lo
(data_label+
0x1a5a5)
161 li $
4,%hi
(data_label2+
0x1a5a5)
163 addiu $
4,%lo
(data_label2+
0x1a5a5)
164 li $
4,%hi
(big_external_data_label+
0x1a5a5)
166 addiu $
4,%lo
(big_external_data_label+
0x1a5a5)
167 li $
4,%hi
(small_external_data_label+
0x1a5a5)
169 addiu $
4,%lo
(small_external_data_label+
0x1a5a5)
170 li $
4,%hi
(big_external_common+
0x1a5a5)
172 addiu $
4,%lo
(big_external_common+
0x1a5a5)
173 li $
4,%hi
(small_external_common+
0x1a5a5)
175 addiu $
4,%lo
(small_external_common+
0x1a5a5)
176 li $
4,%hi
(big_local_common+
0x1a5a5)
178 addiu $
4,%lo
(big_local_common+
0x1a5a5)
179 li $
4,%hi
(small_local_common+
0x1a5a5)
181 addiu $
4,%lo
(small_local_common+
0x1a5a5)
185 li $
5,%hi
(data_label
)
187 lw $
4,%hi
(data_label
)($
5)
188 li $
5,%hi
(data_label2
)
190 lw $
4,%hi
(data_label2
)($
5)
191 li $
5,%hi
(big_external_data_label
)
193 lw $
4,%lo
(big_external_data_label
)($
5)
194 li $
5,%hi
(small_external_data_label
)
196 lw $
4,%lo
(small_external_data_label
)($
5)
197 li $
5,%hi
(big_external_common
)
199 lw $
4,%lo
(big_external_common
)($
5)
200 li $
5,%hi
(small_external_common
)
202 lw $
4,%lo
(small_external_common
)($
5)
203 li $
5,%hi
(big_local_common
)
205 lw $
4,%lo
(big_local_common
)($
5)
206 li $
5,%hi
(small_local_common
)
208 lw $
4,%lo
(small_local_common
)($
5)
212 li $
5,%hi
(data_label+
1)
214 lw $
4,%lo
(data_label+
1)($
5)
215 li $
5,%hi
(data_label2+
1)
217 lw $
4,%lo
(data_label2+
1)($
5)
218 li $
5,%hi
(big_external_data_label+
1)
220 lw $
4,%lo
(big_external_data_label+
1)($
5)
221 li $
5,%hi
(small_external_data_label+
1)
223 lw $
4,%lo
(small_external_data_label+
1)($
5)
224 li $
5,%hi
(big_external_common+
1)
226 lw $
4,%lo
(big_external_common+
1)($
5)
227 li $
5,%hi
(small_external_common+
1)
229 lw $
4,%lo
(small_external_common+
1)($
5)
230 li $
5,%hi
(big_local_common+
1)
232 lw $
4,%lo
(big_local_common+
1)($
5)
233 li $
5,%hi
(small_local_common+
1)
235 lw $
4,%lo
(small_local_common+
1)($
5)
238 lw $
4,%lo
(0x8000)($
5)
239 li $
5,%hi
(data_label+
0x8000)
241 lw $
4,%lo
(data_label+
0x8000)($
5)
242 li $
5,%hi
(data_label2+
0x8000)
244 lw $
4,%lo
(data_label2+
0x8000)($
5)
245 li $
5,%hi
(big_external_data_label+
0x8000)
247 lw $
4,%lo
(big_external_data_label+
0x8000)($
5)
248 li $
5,%hi
(small_external_data_label+
0x8000)
250 lw $
4,%lo
(small_external_data_label+
0x8000)($
5)
251 li $
5,%hi
(big_external_common+
0x8000)
253 lw $
4,%lo
(big_external_common+
0x8000)($
5)
254 li $
5,%hi
(small_external_common+
0x8000)
256 lw $
4,%lo
(small_external_common+
0x8000)($
5)
257 li $
5,%hi
(big_local_common+
0x8000)
259 lw $
4,%lo
(big_local_common+
0x8000)($
5)
260 li $
5,%hi
(small_local_common+
0x8000)
262 lw $
4,%lo
(small_local_common+
0x8000)($
5)
265 lw $
4,%lo
(-0x8000)($
5)
266 li $
5,%hi
(data_label-
0x8000)
268 lw $
4,%lo
(data_label-
0x8000)($
5)
269 li $
5,%hi
(data_label2-
0x8000)
271 lw $
4,%lo
(data_label2-
0x8000)($
5)
272 li $
5,%hi
(big_external_data_label-
0x8000)
274 lw $
4,%lo
(big_external_data_label-
0x8000)($
5)
275 li $
5,%hi
(small_external_data_label-
0x8000)
277 lw $
4,%lo
(small_external_data_label-
0x8000)($
5)
278 li $
5,%hi
(big_external_common-
0x8000)
280 lw $
4,%lo
(big_external_common-
0x8000)($
5)
281 li $
5,%hi
(small_external_common-
0x8000)
283 lw $
4,%lo
(small_external_common-
0x8000)($
5)
284 li $
5,%hi
(big_local_common-
0x8000)
286 lw $
4,%lo
(big_local_common-
0x8000)($
5)
287 li $
5,%hi
(small_local_common-
0x8000)
289 lw $
4,%lo
(small_local_common-
0x8000)($
5)
292 lw $
4,%lo
(0x10000)($
5)
293 li $
5,%hi
(data_label+
0x10000)
295 lw $
4,%lo
(data_label+
0x10000)($
5)
296 li $
5,%hi
(data_label2+
0x10000)
298 lw $
4,%lo
(data_label2+
0x10000)($
5)
299 li $
5,%hi
(big_external_data_label+
0x10000)
301 lw $
4,%lo
(big_external_data_label+
0x10000)($
5)
302 li $
5,%hi
(small_external_data_label+
0x10000)
304 lw $
4,%lo
(small_external_data_label+
0x10000)($
5)
305 li $
5,%hi
(big_external_common+
0x10000)
307 lw $
4,%lo
(big_external_common+
0x10000)($
5)
308 li $
5,%hi
(small_external_common+
0x10000)
310 lw $
4,%lo
(small_external_common+
0x10000)($
5)
311 li $
5,%hi
(big_local_common+
0x10000)
313 lw $
4,%lo
(big_local_common+
0x10000)($
5)
314 li $
5,%hi
(small_local_common+
0x10000)
316 lw $
4,%lo
(small_local_common+
0x10000)($
5)
319 lw $
4,%lo
(0x1a5a5)($
5)
320 li $
5,%hi
(data_label+
0x1a5a5)
322 lw $
4,%lo
(data_label+
0x1a5a5)($
5)
323 li $
5,%hi
(data_label2+
0x1a5a5)
325 lw $
4,%lo
(data_label2+
0x1a5a5)($
5)
326 li $
5,%hi
(big_external_data_label+
0x1a5a5)
328 lw $
4,%lo
(big_external_data_label+
0x1a5a5)($
5)
329 li $
5,%hi
(small_external_data_label+
0x1a5a5)
331 lw $
4,%lo
(small_external_data_label+
0x1a5a5)($
5)
332 li $
5,%hi
(big_external_common+
0x1a5a5)
334 lw $
4,%lo
(big_external_common+
0x1a5a5)($
5)
335 li $
5,%hi
(small_external_common+
0x1a5a5)
337 lw $
4,%lo
(small_external_common+
0x1a5a5)($
5)
338 li $
5,%hi
(big_local_common+
0x1a5a5)
340 lw $
4,%lo
(big_local_common+
0x1a5a5)($
5)
341 li $
5,%hi
(small_local_common+
0x1a5a5)
343 lw $
4,%lo
(small_local_common+
0x1a5a5)($
5)
345 # align section end to 16-byte boundary for easier testing on multiple targets