Commit | Line | Data |
---|---|---|
ba86ff93 PC |
1 | .data 32 |
2 | ok: | |
3 | .c "ok" | |
4 | ||
5 | .code | |
6 | prolog | |
7 | ||
8 | /* Simple encoding test for all different registers */ | |
9 | movi_f %f0 0.0 | |
10 | movi_f %f1 2.0 | |
11 | movi_f %f2 3.0 | |
12 | movi_f %f3 4.0 | |
13 | fmar_f %f0 %f1 %f2 %f3 | |
14 | beqi_f fa0 %f0 10.0 | |
15 | calli @abort | |
16 | fa0: | |
17 | movi_d %f0 0.0 | |
18 | movi_d %f1 4.0 | |
19 | movi_d %f2 5.0 | |
20 | movi_d %f3 6.0 | |
21 | fmar_d %f0 %f1 %f2 %f3 | |
22 | beqi_d da0 %f0 26.0 | |
23 | calli @abort | |
24 | da0: | |
25 | movi_f %f0 0.0 | |
26 | movi_f %f1 2.0 | |
27 | movi_f %f2 3.0 | |
28 | movi_f %f3 4.0 | |
29 | fmsr_f %f0 %f1 %f2 %f3 | |
30 | beqi_f fs0 %f0 2.0 | |
31 | calli @abort | |
32 | fs0: | |
33 | movi_d %f0 0.0 | |
34 | movi_d %f1 4.0 | |
35 | movi_d %f2 5.0 | |
36 | movi_d %f3 6.0 | |
37 | fmsr_d %f0 %f1 %f2 %f3 | |
38 | beqi_d ds0 %f0 14.0 | |
39 | calli @abort | |
40 | ds0: | |
41 | ||
42 | /* Simple encoding test for result also first argument */ | |
43 | movi_f %f1 2.0 | |
44 | movi_f %f2 3.0 | |
45 | movi_f %f3 4.0 | |
46 | fmar_f %f1 %f1 %f2 %f3 | |
47 | beqi_f fa1 %f1 10.0 | |
48 | calli @abort | |
49 | fa1: | |
50 | movi_d %f1 4.0 | |
51 | movi_d %f2 5.0 | |
52 | movi_d %f3 6.0 | |
53 | fmar_d %f1 %f1 %f2 %f3 | |
54 | beqi_d da1 %f1 26.0 | |
55 | calli @abort | |
56 | da1: | |
57 | movi_f %f1 2.0 | |
58 | movi_f %f2 3.0 | |
59 | movi_f %f3 4.0 | |
60 | fmsr_f %f1 %f1 %f2 %f3 | |
61 | beqi_f fs1 %f1 2.0 | |
62 | calli @abort | |
63 | fs1: | |
64 | movi_d %f1 4.0 | |
65 | movi_d %f2 5.0 | |
66 | movi_d %f3 6.0 | |
67 | fmsr_d %f1 %f1 %f2 %f3 | |
68 | beqi_d ds1 %f1 14.0 | |
69 | calli @abort | |
70 | ds1: | |
71 | ||
72 | /* Simple encoding test for result also second argument */ | |
73 | movi_f %f1 2.0 | |
74 | movi_f %f2 3.0 | |
75 | movi_f %f3 4.0 | |
76 | fmar_f %f2 %f1 %f2 %f3 | |
77 | beqi_f fa2 %f2 10.0 | |
78 | calli @abort | |
79 | fa2: | |
80 | movi_d %f1 4.0 | |
81 | movi_d %f2 5.0 | |
82 | movi_d %f3 6.0 | |
83 | fmar_d %f2 %f1 %f2 %f3 | |
84 | beqi_d da2 %f2 26.0 | |
85 | calli @abort | |
86 | da2: | |
87 | movi_f %f1 2.0 | |
88 | movi_f %f2 3.0 | |
89 | movi_f %f3 4.0 | |
90 | fmsr_f %f2 %f1 %f2 %f3 | |
91 | beqi_f fs2 %f2 2.0 | |
92 | calli @abort | |
93 | fs2: | |
94 | movi_d %f1 4.0 | |
95 | movi_d %f2 5.0 | |
96 | movi_d %f3 6.0 | |
97 | fmsr_d %f2 %f1 %f2 %f3 | |
98 | beqi_d ds2 %f2 14.0 | |
99 | calli @abort | |
100 | ds2: | |
101 | ||
102 | /* Simple encoding test for result also third argument */ | |
103 | movi_f %f1 2.0 | |
104 | movi_f %f2 3.0 | |
105 | movi_f %f3 4.0 | |
106 | fmar_f %f3 %f1 %f2 %f3 | |
107 | beqi_f fa3 %f3 10.0 | |
108 | calli @abort | |
109 | fa3: | |
110 | movi_d %f1 4.0 | |
111 | movi_d %f2 5.0 | |
112 | movi_d %f3 6.0 | |
113 | fmar_d %f3 %f1 %f2 %f3 | |
114 | beqi_d da3 %f3 26.0 | |
115 | calli @abort | |
116 | da3: | |
117 | movi_f %f1 2.0 | |
118 | movi_f %f2 3.0 | |
119 | movi_f %f3 4.0 | |
120 | fmsr_f %f3 %f1 %f2 %f3 | |
121 | beqi_f fs3 %f3 2.0 | |
122 | calli @abort | |
123 | fs3: | |
124 | movi_d %f1 4.0 | |
125 | movi_d %f2 5.0 | |
126 | movi_d %f3 6.0 | |
127 | fmsr_d %f3 %f1 %f2 %f3 | |
128 | beqi_d ds3 %f3 14.0 | |
129 | calli @abort | |
130 | ds3: | |
131 | ||
132 | /* Simple encoding test for all different registers */ | |
133 | movi_f %f0 0.0 | |
134 | movi_f %f1 2.0 | |
135 | movi_f %f2 3.0 | |
136 | fmai_f %f0 %f1 %f2 4.0 | |
137 | beqi_f fai0 %f0 10.0 | |
138 | calli @abort | |
139 | fai0: | |
140 | movi_d %f0 0.0 | |
141 | movi_d %f1 4.0 | |
142 | movi_d %f2 5.0 | |
143 | fmai_d %f0 %f1 %f2 6.0 | |
144 | beqi_d dai0 %f0 26.0 | |
145 | calli @abort | |
146 | dai0: | |
147 | movi_f %f0 0.0 | |
148 | movi_f %f1 2.0 | |
149 | movi_f %f2 3.0 | |
150 | fmsi_f %f0 %f1 %f2 4.0 | |
151 | beqi_f fsi0 %f0 2.0 | |
152 | calli @abort | |
153 | fsi0: | |
154 | movi_d %f0 0.0 | |
155 | movi_d %f1 4.0 | |
156 | movi_d %f2 5.0 | |
157 | fmsi_d %f0 %f1 %f2 6.0 | |
158 | beqi_d dsi0 %f0 14.0 | |
159 | calli @abort | |
160 | dsi0: | |
161 | ||
162 | /* Simple encoding test for result also first argument */ | |
163 | movi_f %f1 2.0 | |
164 | movi_f %f2 3.0 | |
165 | fmai_f %f1 %f1 %f2 4.0 | |
166 | beqi_f fai1 %f1 10.0 | |
167 | calli @abort | |
168 | fai1: | |
169 | movi_d %f1 4.0 | |
170 | movi_d %f2 5.0 | |
171 | fmai_d %f1 %f1 %f2 6.0 | |
172 | beqi_d dai1 %f1 26.0 | |
173 | calli @abort | |
174 | dai1: | |
175 | movi_f %f1 2.0 | |
176 | movi_f %f2 3.0 | |
177 | fmsi_f %f1 %f1 %f2 4.0 | |
178 | beqi_f fsi1 %f1 2.0 | |
179 | calli @abort | |
180 | fsi1: | |
181 | movi_d %f1 4.0 | |
182 | movi_d %f2 5.0 | |
183 | fmsi_d %f1 %f1 %f2 6.0 | |
184 | beqi_d dsi1 %f1 14.0 | |
185 | calli @abort | |
186 | dsi1: | |
187 | ||
188 | /* Simple encoding test for result also second argument */ | |
189 | movi_f %f1 2.0 | |
190 | movi_f %f2 3.0 | |
191 | fmai_f %f2 %f1 %f2 4.0 | |
192 | beqi_f fai2 %f2 10.0 | |
193 | calli @abort | |
194 | fai2: | |
195 | movi_d %f1 4.0 | |
196 | movi_d %f2 5.0 | |
197 | fmai_d %f2 %f1 %f2 6.0 | |
198 | beqi_d dai2 %f2 26.0 | |
199 | calli @abort | |
200 | dai2: | |
201 | movi_f %f1 2.0 | |
202 | movi_f %f2 3.0 | |
203 | fmsi_f %f2 %f1 %f2 4.0 | |
204 | beqi_f fsi2 %f2 2.0 | |
205 | calli @abort | |
206 | fsi2: | |
207 | movi_d %f1 4.0 | |
208 | movi_d %f2 5.0 | |
209 | fmsi_d %f2 %f1 %f2 6.0 | |
210 | beqi_d dsi2 %f2 14.0 | |
211 | calli @abort | |
212 | dsi2: | |
213 | ||
214 | /* Simple encoding test for all different registers */ | |
215 | movi_f %f0 0.0 | |
216 | movi_f %f1 2.0 | |
217 | movi_f %f2 3.0 | |
218 | movi_f %f3 4.0 | |
219 | fnmar_f %f0 %f1 %f2 %f3 | |
220 | beqi_f fna0 %f0 -10.0 | |
221 | calli @abort | |
222 | fna0: | |
223 | movi_d %f0 0.0 | |
224 | movi_d %f1 4.0 | |
225 | movi_d %f2 5.0 | |
226 | movi_d %f3 6.0 | |
227 | fnmar_d %f0 %f1 %f2 %f3 | |
228 | beqi_d dna0 %f0 -26.0 | |
229 | calli @abort | |
230 | dna0: | |
231 | movi_f %f0 0.0 | |
232 | movi_f %f1 2.0 | |
233 | movi_f %f2 3.0 | |
234 | movi_f %f3 4.0 | |
235 | fnmsr_f %f0 %f1 %f2 %f3 | |
236 | beqi_f fns0 %f0 -2.0 | |
237 | calli @abort | |
238 | fns0: | |
239 | movi_d %f0 0.0 | |
240 | movi_d %f1 4.0 | |
241 | movi_d %f2 5.0 | |
242 | movi_d %f3 6.0 | |
243 | fnmsr_d %f0 %f1 %f2 %f3 | |
244 | beqi_d dns0 %f0 -14.0 | |
245 | calli @abort | |
246 | dns0: | |
247 | ||
248 | /* Simple encoding test for result also first argument */ | |
249 | movi_f %f1 2.0 | |
250 | movi_f %f2 3.0 | |
251 | movi_f %f3 4.0 | |
252 | fnmar_f %f1 %f1 %f2 %f3 | |
253 | beqi_f fna1 %f1 -10.0 | |
254 | calli @abort | |
255 | fna1: | |
256 | movi_d %f1 4.0 | |
257 | movi_d %f2 5.0 | |
258 | movi_d %f3 6.0 | |
259 | fnmar_d %f1 %f1 %f2 %f3 | |
260 | beqi_d dna1 %f1 -26.0 | |
261 | calli @abort | |
262 | dna1: | |
263 | movi_f %f1 2.0 | |
264 | movi_f %f2 3.0 | |
265 | movi_f %f3 4.0 | |
266 | fnmsr_f %f1 %f1 %f2 %f3 | |
267 | beqi_f fns1 %f1 -2.0 | |
268 | calli @abort | |
269 | fns1: | |
270 | movi_d %f1 4.0 | |
271 | movi_d %f2 5.0 | |
272 | movi_d %f3 6.0 | |
273 | fnmsr_d %f1 %f1 %f2 %f3 | |
274 | beqi_d dns1 %f1 -14.0 | |
275 | calli @abort | |
276 | dns1: | |
277 | ||
278 | /* Simple encoding test for result also second argument */ | |
279 | movi_f %f1 2.0 | |
280 | movi_f %f2 3.0 | |
281 | movi_f %f3 4.0 | |
282 | fnmar_f %f2 %f1 %f2 %f3 | |
283 | beqi_f fna2 %f2 -10.0 | |
284 | calli @abort | |
285 | fna2: | |
286 | movi_d %f1 4.0 | |
287 | movi_d %f2 5.0 | |
288 | movi_d %f3 6.0 | |
289 | fnmar_d %f2 %f1 %f2 %f3 | |
290 | beqi_d dna2 %f2 -26.0 | |
291 | calli @abort | |
292 | dna2: | |
293 | movi_f %f1 2.0 | |
294 | movi_f %f2 3.0 | |
295 | movi_f %f3 4.0 | |
296 | fnmsr_f %f2 %f1 %f2 %f3 | |
297 | beqi_f fns2 %f2 -2.0 | |
298 | calli @abort | |
299 | fns2: | |
300 | movi_d %f1 4.0 | |
301 | movi_d %f2 5.0 | |
302 | movi_d %f3 6.0 | |
303 | fnmsr_d %f2 %f1 %f2 %f3 | |
304 | beqi_d dns2 %f2 -14.0 | |
305 | calli @abort | |
306 | dns2: | |
307 | ||
308 | /* Simple encoding test for result also third argument */ | |
309 | movi_f %f1 2.0 | |
310 | movi_f %f2 3.0 | |
311 | movi_f %f3 4.0 | |
312 | fnmsr_f %f3 %f1 %f2 %f3 | |
313 | beqi_f fns3 %f3 -2.0 | |
314 | calli @abort | |
315 | fns3: | |
316 | movi_d %f1 4.0 | |
317 | movi_d %f2 5.0 | |
318 | movi_d %f3 6.0 | |
319 | fnmsr_d %f3 %f1 %f2 %f3 | |
320 | beqi_d dns3 %f3 -14.0 | |
321 | calli @abort | |
322 | dns3: | |
323 | movi_f %f1 2.0 | |
324 | movi_f %f2 3.0 | |
325 | movi_f %f3 4.0 | |
326 | fnmar_f %f3 %f1 %f2 %f3 | |
327 | beqi_f fna3 %f3 -10.0 | |
328 | calli @abort | |
329 | fna3: | |
330 | movi_d %f1 4.0 | |
331 | movi_d %f2 5.0 | |
332 | movi_d %f3 6.0 | |
333 | fnmar_d %f3 %f1 %f2 %f3 | |
334 | beqi_d dna3 %f3 -26.0 | |
335 | calli @abort | |
336 | dna3: | |
337 | ||
338 | /* Simple encoding test for all different registers */ | |
339 | movi_f %f0 0.0 | |
340 | movi_f %f1 2.0 | |
341 | movi_f %f2 3.0 | |
342 | fnmai_f %f0 %f1 %f2 4.0 | |
343 | beqi_f fnai0 %f0 -10.0 | |
344 | calli @abort | |
345 | fnai0: | |
346 | movi_d %f0 0.0 | |
347 | movi_d %f1 4.0 | |
348 | movi_d %f2 5.0 | |
349 | fnmai_d %f0 %f1 %f2 6.0 | |
350 | beqi_d dnai0 %f0 -26.0 | |
351 | calli @abort | |
352 | dnai0: | |
353 | movi_f %f0 0.0 | |
354 | movi_f %f1 2.0 | |
355 | movi_f %f2 3.0 | |
356 | fnmsi_f %f0 %f1 %f2 4.0 | |
357 | beqi_f fnsi0 %f0 -2.0 | |
358 | calli @abort | |
359 | fnsi0: | |
360 | movi_d %f0 0.0 | |
361 | movi_d %f1 4.0 | |
362 | movi_d %f2 5.0 | |
363 | fnmsi_d %f0 %f1 %f2 6.0 | |
364 | beqi_d dnsi0 %f0 -14.0 | |
365 | calli @abort | |
366 | dnsi0: | |
367 | ||
368 | /* Simple encoding test for result also first argument */ | |
369 | movi_f %f1 2.0 | |
370 | movi_f %f2 3.0 | |
371 | fnmai_f %f1 %f1 %f2 4.0 | |
372 | beqi_f fnai1 %f1 -10.0 | |
373 | calli @abort | |
374 | fnai1: | |
375 | movi_d %f1 4.0 | |
376 | movi_d %f2 5.0 | |
377 | fnmai_d %f1 %f1 %f2 6.0 | |
378 | beqi_d dnai1 %f1 -26.0 | |
379 | calli @abort | |
380 | dnai1: | |
381 | movi_f %f1 2.0 | |
382 | movi_f %f2 3.0 | |
383 | fnmsi_f %f1 %f1 %f2 4.0 | |
384 | beqi_f fnsi1 %f1 -2.0 | |
385 | calli @abort | |
386 | fnsi1: | |
387 | movi_d %f1 4.0 | |
388 | movi_d %f2 5.0 | |
389 | fnmsi_d %f1 %f1 %f2 6.0 | |
390 | beqi_d dnsi1 %f1 -14.0 | |
391 | calli @abort | |
392 | dnsi1: | |
393 | ||
394 | /* Simple encoding test for result also second argument */ | |
395 | movi_f %f1 2.0 | |
396 | movi_f %f2 3.0 | |
397 | fnmai_f %f2 %f1 %f2 4.0 | |
398 | beqi_f fnai2 %f2 -10.0 | |
399 | calli @abort | |
400 | fnai2: | |
401 | movi_d %f1 4.0 | |
402 | movi_d %f2 5.0 | |
403 | fnmai_d %f2 %f1 %f2 6.0 | |
404 | beqi_d dnai2 %f2 -26.0 | |
405 | calli @abort | |
406 | dnai2: | |
407 | movi_f %f1 2.0 | |
408 | movi_f %f2 3.0 | |
409 | fnmsi_f %f2 %f1 %f2 4.0 | |
410 | beqi_f fnsi2 %f2 -2.0 | |
411 | calli @abort | |
412 | fnsi2: | |
413 | movi_d %f1 4.0 | |
414 | movi_d %f2 5.0 | |
415 | fnmsi_d %f2 %f1 %f2 6.0 | |
416 | beqi_d dnsi2 %f2 -14.0 | |
417 | calli @abort | |
418 | dnsi2: | |
419 | ||
420 | prepare | |
421 | pushargi ok | |
422 | finishi @puts | |
423 | ||
424 | ret | |
425 | epilog |