1# Source file used to test li/addi on MIPS16
2
3	.set	mips16
4
5	.data
6data_label:
7	.word	0
8data_label2:
9	.word	0
10
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
17
18	.text
19stuff:
20	li	$4,%hi(0)
21	sll	$4,16
22	addiu	$4,%lo(0)
23	li	$4,%hi(data_label)
24	sll	$4,16
25	addiu	$4,%lo(data_label)
26	li	$4,%hi(data_label2)
27	sll	$4,16
28	addiu	$4,%lo(data_label2)
29	li	$4,%hi(big_external_data_label)
30	sll	$4,16
31	addiu	$4,%lo(big_external_data_label)
32	li	$4,%hi(small_external_data_label)
33	sll	$4,16
34	addiu	$4,%lo(small_external_data_label)
35	li	$4,%hi(big_external_common)
36	sll	$4,16
37	addiu	$4,%lo(big_external_common)
38	li	$4,%hi(small_external_common)
39	sll	$4,16
40	addiu	$4,%lo(small_external_common)
41	li	$4,%hi(big_local_common)
42	sll	$4,16
43	addiu	$4,%lo(big_local_common)
44	li	$4,%hi(small_local_common)
45	sll	$4,16
46	addiu	$4,%lo(small_local_common)
47	li	$4,%hi(1)
48	sll	$4,16
49	addiu	$4,%lo(1)
50	li	$4,%hi(data_label+1)
51	sll	$4,16
52	addiu	$4,%lo(data_label+1)
53	li	$4,%hi(data_label2+1)
54	sll	$4,16
55	addiu	$4,%lo(data_label2+1)
56	li	$4,%hi(big_external_data_label+1)
57	sll	$4,16
58	addiu	$4,%lo(big_external_data_label+1)
59	li	$4,%hi(small_external_data_label+1)
60	sll	$4,16
61	addiu	$4,%lo(small_external_data_label+1)
62	li	$4,%hi(big_external_common+1)
63	sll	$4,16
64	addiu	$4,%lo(big_external_common+1)
65	li	$4,%hi(small_external_common+1)
66	sll	$4,16
67	addiu	$4,%lo(small_external_common+1)
68	li	$4,%hi(big_local_common+1)
69	sll	$4,16
70	addiu	$4,%lo(big_local_common+1)
71	li	$4,%hi(small_local_common+1)
72	sll	$4,16
73	addiu	$4,%lo(small_local_common+1)
74	li	$4,%hi(0x8000)
75	sll	$4,16
76	addiu	$4,%lo(0x8000)
77	li	$4,%hi(data_label+0x8000)
78	sll	$4,16
79	addiu	$4,%lo(data_label+0x8000)
80	li	$4,%hi(data_label2+0x8000)
81	sll	$4,16
82	addiu	$4,%lo(data_label2+0x8000)
83	li	$4,%hi(big_external_data_label+0x8000)
84	sll	$4,16
85	addiu	$4,%lo(big_external_data_label+0x8000)
86	li	$4,%hi(small_external_data_label+0x8000)
87	sll	$4,16
88	addiu	$4,%lo(small_external_data_label+0x8000)
89	li	$4,%hi(big_external_common+0x8000)
90	sll	$4,16
91	addiu	$4,%lo(big_external_common+0x8000)
92	li	$4,%hi(small_external_common+0x8000)
93	sll	$4,16
94	addiu	$4,%lo(small_external_common+0x8000)
95	li	$4,%hi(big_local_common+0x8000)
96	sll	$4,16
97	addiu	$4,%lo(big_local_common+0x8000)
98	li	$4,%hi(small_local_common+0x8000)
99	sll	$4,16
100	addiu	$4,%lo(small_local_common+0x8000)
101	li	$4,%hi(-0x8000)
102	sll	$4,16
103	addiu	$4,%lo(-0x8000)
104	li	$4,%hi(data_label-0x8000)
105	sll	$4,16
106	addiu	$4,%lo(data_label-0x8000)
107	li	$4,%hi(data_label2-0x8000)
108	sll	$4,16
109	addiu	$4,%lo(data_label2-0x8000)
110	li	$4,%hi(big_external_data_label-0x8000)
111	sll	$4,16
112	addiu	$4,%lo(big_external_data_label-0x8000)
113	li	$4,%hi(small_external_data_label-0x8000)
114	sll	$4,16
115	addiu	$4,%lo(small_external_data_label-0x8000)
116	li	$4,%hi(big_external_common-0x8000)
117	sll	$4,16
118	addiu	$4,%lo(big_external_common-0x8000)
119	li	$4,%hi(small_external_common-0x8000)
120	sll	$4,16
121	addiu	$4,%lo(small_external_common-0x8000)
122	li	$4,%hi(big_local_common-0x8000)
123	sll	$4,16
124	addiu	$4,%lo(big_local_common-0x8000)
125	li	$4,%hi(small_local_common-0x8000)
126	sll	$4,16
127	addiu	$4,%lo(small_local_common-0x8000)
128	li	$4,%hi(0x10000)
129	sll	$4,16
130	addiu	$4,%lo(0x10000)
131	li	$4,%hi(data_label+0x10000)
132	sll	$4,16
133	addiu	$4,%lo(data_label+0x10000)
134	li	$4,%hi(data_label2+0x10000)
135	sll	$4,16
136	addiu	$4,%lo(data_label2+0x10000)
137	li	$4,%hi(big_external_data_label+0x10000)
138	sll	$4,16
139	addiu	$4,%lo(big_external_data_label+0x10000)
140	li	$4,%hi(small_external_data_label+0x10000)
141	sll	$4,16
142	addiu	$4,%lo(small_external_data_label+0x10000)
143	li	$4,%hi(big_external_common+0x10000)
144	sll	$4,16
145	addiu	$4,%lo(big_external_common+0x10000)
146	li	$4,%hi(small_external_common+0x10000)
147	sll	$4,16
148	addiu	$4,%lo(small_external_common+0x10000)
149	li	$4,%hi(big_local_common+0x10000)
150	sll	$4,16
151	addiu	$4,%lo(big_local_common+0x10000)
152	li	$4,%hi(small_local_common+0x10000)
153	sll	$4,16
154	addiu	$4,%lo(small_local_common+0x10000)
155	li	$4,%hi(0x1a5a5)
156	sll	$4,16
157	addiu	$4,%lo(0x1a5a5)
158	li	$4,%hi(data_label+0x1a5a5)
159	sll	$4,16
160	addiu	$4,%lo(data_label+0x1a5a5)
161	li	$4,%hi(data_label2+0x1a5a5)
162	sll	$4,16
163	addiu	$4,%lo(data_label2+0x1a5a5)
164	li	$4,%hi(big_external_data_label+0x1a5a5)
165	sll	$4,16
166	addiu	$4,%lo(big_external_data_label+0x1a5a5)
167	li	$4,%hi(small_external_data_label+0x1a5a5)
168	sll	$4,16
169	addiu	$4,%lo(small_external_data_label+0x1a5a5)
170	li	$4,%hi(big_external_common+0x1a5a5)
171	sll	$4,16
172	addiu	$4,%lo(big_external_common+0x1a5a5)
173	li	$4,%hi(small_external_common+0x1a5a5)
174	sll	$4,16
175	addiu	$4,%lo(small_external_common+0x1a5a5)
176	li	$4,%hi(big_local_common+0x1a5a5)
177	sll	$4,16
178	addiu	$4,%lo(big_local_common+0x1a5a5)
179	li	$4,%hi(small_local_common+0x1a5a5)
180	sll	$4,16
181	addiu	$4,%lo(small_local_common+0x1a5a5)
182	li	$5,%hi(0)
183	sll	$5,16
184	lw	$4,%hi(0)($5)
185	li	$5,%hi(data_label)
186	sll	$5,16
187	lw	$4,%hi(data_label)($5)
188	li	$5,%hi(data_label2)
189	sll	$5,16
190	lw	$4,%hi(data_label2)($5)
191	li	$5,%hi(big_external_data_label)
192	sll	$5,16
193	lw	$4,%lo(big_external_data_label)($5)
194	li	$5,%hi(small_external_data_label)
195	sll	$5,16
196	lw	$4,%lo(small_external_data_label)($5)
197	li	$5,%hi(big_external_common)
198	sll	$5,16
199	lw	$4,%lo(big_external_common)($5)
200	li	$5,%hi(small_external_common)
201	sll	$5,16
202	lw	$4,%lo(small_external_common)($5)
203	li	$5,%hi(big_local_common)
204	sll	$5,16
205	lw	$4,%lo(big_local_common)($5)
206	li	$5,%hi(small_local_common)
207	sll	$5,16
208	lw	$4,%lo(small_local_common)($5)
209	li	$5,%hi(1)
210	sll	$5,16
211	lw	$4,%lo(1)($5)
212	li	$5,%hi(data_label+1)
213	sll	$5,16
214	lw	$4,%lo(data_label+1)($5)
215	li	$5,%hi(data_label2+1)
216	sll	$5,16
217	lw	$4,%lo(data_label2+1)($5)
218	li	$5,%hi(big_external_data_label+1)
219	sll	$5,16
220	lw	$4,%lo(big_external_data_label+1)($5)
221	li	$5,%hi(small_external_data_label+1)
222	sll	$5,16
223	lw	$4,%lo(small_external_data_label+1)($5)
224	li	$5,%hi(big_external_common+1)
225	sll	$5,16
226	lw	$4,%lo(big_external_common+1)($5)
227	li	$5,%hi(small_external_common+1)
228	sll	$5,16
229	lw	$4,%lo(small_external_common+1)($5)
230	li	$5,%hi(big_local_common+1)
231	sll	$5,16
232	lw	$4,%lo(big_local_common+1)($5)
233	li	$5,%hi(small_local_common+1)
234	sll	$5,16
235	lw	$4,%lo(small_local_common+1)($5)
236	li	$5,%hi(0x8000)
237	sll	$5,16
238	lw	$4,%lo(0x8000)($5)
239	li	$5,%hi(data_label+0x8000)
240	sll	$5,16
241	lw	$4,%lo(data_label+0x8000)($5)
242	li	$5,%hi(data_label2+0x8000)
243	sll	$5,16
244	lw	$4,%lo(data_label2+0x8000)($5)
245	li	$5,%hi(big_external_data_label+0x8000)
246	sll	$5,16
247	lw	$4,%lo(big_external_data_label+0x8000)($5)
248	li	$5,%hi(small_external_data_label+0x8000)
249	sll	$5,16
250	lw	$4,%lo(small_external_data_label+0x8000)($5)
251	li	$5,%hi(big_external_common+0x8000)
252	sll	$5,16
253	lw	$4,%lo(big_external_common+0x8000)($5)
254	li	$5,%hi(small_external_common+0x8000)
255	sll	$5,16
256	lw	$4,%lo(small_external_common+0x8000)($5)
257	li	$5,%hi(big_local_common+0x8000)
258	sll	$5,16
259	lw	$4,%lo(big_local_common+0x8000)($5)
260	li	$5,%hi(small_local_common+0x8000)
261	sll	$5,16
262	lw	$4,%lo(small_local_common+0x8000)($5)
263	li	$5,%hi(-0x8000)
264	sll	$5,16
265	lw	$4,%lo(-0x8000)($5)
266	li	$5,%hi(data_label-0x8000)
267	sll	$5,16
268	lw	$4,%lo(data_label-0x8000)($5)
269	li	$5,%hi(data_label2-0x8000)
270	sll	$5,16
271	lw	$4,%lo(data_label2-0x8000)($5)
272	li	$5,%hi(big_external_data_label-0x8000)
273	sll	$5,16
274	lw	$4,%lo(big_external_data_label-0x8000)($5)
275	li	$5,%hi(small_external_data_label-0x8000)
276	sll	$5,16
277	lw	$4,%lo(small_external_data_label-0x8000)($5)
278	li	$5,%hi(big_external_common-0x8000)
279	sll	$5,16
280	lw	$4,%lo(big_external_common-0x8000)($5)
281	li	$5,%hi(small_external_common-0x8000)
282	sll	$5,16
283	lw	$4,%lo(small_external_common-0x8000)($5)
284	li	$5,%hi(big_local_common-0x8000)
285	sll	$5,16
286	lw	$4,%lo(big_local_common-0x8000)($5)
287	li	$5,%hi(small_local_common-0x8000)
288	sll	$5,16
289	lw	$4,%lo(small_local_common-0x8000)($5)
290	li	$5,%hi(0x10000)
291	sll	$5,16
292	lw	$4,%lo(0x10000)($5)
293	li	$5,%hi(data_label+0x10000)
294	sll	$5,16
295	lw	$4,%lo(data_label+0x10000)($5)
296	li	$5,%hi(data_label2+0x10000)
297	sll	$5,16
298	lw	$4,%lo(data_label2+0x10000)($5)
299	li	$5,%hi(big_external_data_label+0x10000)
300	sll	$5,16
301	lw	$4,%lo(big_external_data_label+0x10000)($5)
302	li	$5,%hi(small_external_data_label+0x10000)
303	sll	$5,16
304	lw	$4,%lo(small_external_data_label+0x10000)($5)
305	li	$5,%hi(big_external_common+0x10000)
306	sll	$5,16
307	lw	$4,%lo(big_external_common+0x10000)($5)
308	li	$5,%hi(small_external_common+0x10000)
309	sll	$5,16
310	lw	$4,%lo(small_external_common+0x10000)($5)
311	li	$5,%hi(big_local_common+0x10000)
312	sll	$5,16
313	lw	$4,%lo(big_local_common+0x10000)($5)
314	li	$5,%hi(small_local_common+0x10000)
315	sll	$5,16
316	lw	$4,%lo(small_local_common+0x10000)($5)
317	li	$5,%hi(0x1a5a5)
318	sll	$5,16
319	lw	$4,%lo(0x1a5a5)($5)
320	li	$5,%hi(data_label+0x1a5a5)
321	sll	$5,16
322	lw	$4,%lo(data_label+0x1a5a5)($5)
323	li	$5,%hi(data_label2+0x1a5a5)
324	sll	$5,16
325	lw	$4,%lo(data_label2+0x1a5a5)($5)
326	li	$5,%hi(big_external_data_label+0x1a5a5)
327	sll	$5,16
328	lw	$4,%lo(big_external_data_label+0x1a5a5)($5)
329	li	$5,%hi(small_external_data_label+0x1a5a5)
330	sll	$5,16
331	lw	$4,%lo(small_external_data_label+0x1a5a5)($5)
332	li	$5,%hi(big_external_common+0x1a5a5)
333	sll	$5,16
334	lw	$4,%lo(big_external_common+0x1a5a5)($5)
335	li	$5,%hi(small_external_common+0x1a5a5)
336	sll	$5,16
337	lw	$4,%lo(small_external_common+0x1a5a5)($5)
338	li	$5,%hi(big_local_common+0x1a5a5)
339	sll	$5,16
340	lw	$4,%lo(big_local_common+0x1a5a5)($5)
341	li	$5,%hi(small_local_common+0x1a5a5)
342	sll	$5,16
343	lw	$4,%lo(small_local_common+0x1a5a5)($5)
344
345# align section end to 16-byte boundary for easier testing on multiple targets
346	.p2align 4
347