git subrepo pull --force deps/lightrec
[pcsx_rearmed.git] / deps / lightning / check / fma.tst
CommitLineData
ba86ff93
PC
1.data 32
2ok:
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
16fa0:
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
24da0:
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
32fs0:
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
40ds0:
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
49fa1:
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
56da1:
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
63fs1:
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
70ds1:
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
79fa2:
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
86da2:
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
93fs2:
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
100ds2:
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
109fa3:
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
116da3:
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
123fs3:
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
130ds3:
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
139fai0:
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
146dai0:
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
153fsi0:
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
160dsi0:
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
168fai1:
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
174dai1:
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
180fsi1:
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
186dsi1:
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
194fai2:
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
200dai2:
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
206fsi2:
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
212dsi2:
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
222fna0:
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
230dna0:
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
238fns0:
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
246dns0:
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
255fna1:
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
262dna1:
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
269fns1:
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
276dns1:
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
285fna2:
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
292dna2:
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
299fns2:
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
306dns2:
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
315fns3:
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
322dns3:
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
329fna3:
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
336dna3:
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
345fnai0:
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
352dnai0:
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
359fnsi0:
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
366dnsi0:
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
374fnai1:
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
380dnai1:
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
386fnsi1:
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
392dnsi1:
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
400fnai2:
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
406dnai2:
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
412fnsi2:
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
418dnsi2:
419
420 prepare
421 pushargi ok
422 finishi @puts
423
424 ret
425 epilog