Merge pull request #750 from pcercuei/lightrec-update-20230826
[pcsx_rearmed.git] / deps / lightning / check / all.tst
CommitLineData
4a71579b
PC
1.disasm // only disassemble
2.code
3 prolog
4 allocai 32 $buf
79bfeef6
PC
5 arg_c $c
6 arg_c $uc
7 arg_s $s
8 arg_s $us
9 arg_i $i
10 arg_i $ui
4a71579b 11#if __WORDSIZE == 64
79bfeef6 12 arg_l $l
4a71579b 13#endif
79bfeef6 14 arg $a
4a71579b
PC
15 getarg_c %r0 $c
16 getarg_uc %r0 $uc
17 getarg_s %r0 $s
18 getarg_us %r0 $us
19 getarg_i %r0 $i
20#if __WORDSIZE == 64
21 getarg_ui %r0 $ui
22 getarg_l %r0 $l
23#endif
79bfeef6
PC
24 getarg %r0 $a
25 putargr_c %r0 $c
26 putargi_c 1 $c
27 putargr_uc %r0 $uc
28 putargi_uc 1 $uc
29 putargr_s %r0 $s
30 putargi_s 1 $s
31 putargr_us %r0 $us
32 putargi_us 1 $us
33 putargr_i %r0 $i
34 putargi_i 1 $ui
35#if __WORDSIZE == 64
36 putargr_ui %r0 $ui
37 putargi_ui 1 $ui
38 putargr_l %r0 $l
39 putargi_l 1 $l
40#endif
41 putargr %r0 $a
42 putargi 1 $a
4a71579b
PC
43 addr %r0 %r1 %r2
44 addi %r0 %r1 2
45 addcr %r0 %r1 %r2
46 addci %r0 %r1 2
47 addxr %r0 %r1 %r2
48 addxi %r0 %r1 2
49 subr %r0 %r1 %r2
50 subi %r0 %r1 2
51 subcr %r0 %r1 %r2
52 subci %r0 %r1 2
53 subxr %r0 %r1 %r2
54 subxi %r0 %r1 2
55 mulr %r0 %r1 %r2
56 muli %r0 %r1 2
57 qmulr %r0 %r1 %r2 %v0
58 qmuli %r0 %r1 %r2 3
59 qmulr_u %r0 %r1 %r2 %v0
60 qmuli_u %r0 %r1 %r2 3
61 divr %r0 %r1 %r2
62 divi %r0 %r1 2
63 divr_u %r0 %r1 %r2
64 divi_u %r0 %r1 2
65 qdivr %r0 %r1 %r2 %v0
66 qdivi %r0 %r1 %r2 3
67 qdivr_u %r0 %r1 %r2 %v0
68 qdivi_u %r0 %r1 %r2 3
69 remr %r0 %r1 %r2
70 remi %r0 %r1 2
71 remr_u %r0 %r1 %r2
72 remi_u %r0 %r1 2
73 andr %r0 %r1 %r2
74 andi %r0 %r1 2
75 orr %r0 %r1 %r2
76 ori %r0 %r1 2
77 xorr %r0 %r1 %r2
78 xori %r0 %r1 2
79 lshr %r0 %r1 %r2
80 lshi %r0 %r1 2
81 rshr %r0 %r1 %r2
82 rshi %r0 %r1 2
83 rshr_u %r0 %r1 %r2
84 rshi_u %r0 %r1 2
85 negr %r0 %r1
ba86ff93 86 negi %r0 1
4a71579b 87 comr %r0 %r1
ba86ff93 88 comi %r0 1
79bfeef6 89 clor %r0 %r1
ba86ff93 90 cloi %r0 0xfffffffe
79bfeef6 91 clzr %r0 %r1
ba86ff93 92 clzi %r0 1
79bfeef6 93 ctor %r0 %r1
ba86ff93
PC
94 ctoi %r0 -1
95 ctzi %r0 0x80000000
79bfeef6 96 ctzr %r0 %r1
ba86ff93
PC
97 rbitr %r0 %r1
98 rbiti %r0 0x02468ace
99 popcntr %r0 %r1
100 popcnti %r0 0x8a13c851
101 lrotr %r0 %r1 %r2
102 lroti %r0 %r1 0x1f
103 rrotr %r0 %r1 %r2
104 rroti %r0 %r1 0x1f
4a71579b
PC
105 ltr %r0 %r1 %r2
106 lti %r0 %r1 2
107 ltr_u %r0 %r1 %r2
108 lti_u %r0 %r1 2
109 ler %r0 %r1 %r2
110 lei %r0 %r1 2
111 ler_u %r0 %r1 %r2
112 lei_u %r0 %r1 2
113 eqr %r0 %r1 %r2
114 eqi %r0 %r1 2
115 ger %r0 %r1 %r2
116 gei %r0 %r1 2
117 ger_u %r0 %r1 %r2
118 gei_u %r0 %r1 2
119 gtr %r0 %r1 %r2
120 gti %r0 %r1 2
121 gtr_u %r0 %r1 %r2
122 gti_u %r0 %r1 2
123 ner %r0 %r1 %r2
124 nei %r0 %r1 2
125 movr %r0 %r1
126 movi %r0 1
ba86ff93
PC
127 extr %r0 %r1 4 3
128 exti %r0 0xa5a5a584 4 3
129 extr_u %r0 %r1 4 3
130 exti_u %r0 0xa5a5a584 4 3
131 depr %r0 %r1 4 3
132 depi %r0 0xa5a5a584 4 3
4a71579b 133 extr_c %r0 %r1
ba86ff93 134 exti_c %r0 0xfff
4a71579b 135 extr_uc %r0 %r1
ba86ff93 136 exti_uc %r0 0xfff
4a71579b 137 extr_s %r0 %r1
ba86ff93 138 exti_s %r0 0xfffff
4a71579b 139 extr_us %r0 %r1
ba86ff93 140 exti_us %r0 0xfffff
4a71579b
PC
141#if __WORDSIZE == 64
142 extr_i %r0 %r1
ba86ff93 143 exti_i %r0 0x80000000
4a71579b 144 extr_ui %r0 %r1
ba86ff93
PC
145 exti_ui %r0 0x80000000
146#endif
147 htonr_us %r0 %r1
148 htoni_us %r0 0xff1234
149 htonr_ui %r0 %r1
150 htoni_ui %r0 0x12345678
151#if __WORDSIZE == 64
152 htonr_ul %r0 %r1
153 htoni_ul %r0 0x123456789abcdef0
4a71579b
PC
154#endif
155 htonr %r0 %r1
156 ntohr %r0 %r1
ba86ff93
PC
157 htoni %r0 0x12345678
158 ntohi %r0 0x12345678
159 bswapr_us %r0 %r1
160 bswapi_us %r0 0xff1234
161 bswapr_ui %r0 %r1
162 bswapi_ui %r0 0x12345678
163#if __WORDSIZE == 64
164 bswapr_ul %r0 %r1
165 bswapi_ul %r0 0x123456789abcdef0
166#endif
167 bswapr %r0 %r1
168 bswapi %r0 0x12345678
4a71579b
PC
169 ldr_c %r0 %r1
170 ldi_c %r0 0x80000000
171 ldr_uc %r0 %r1
172 ldi_uc %r0 0x80000000
173 ldr_s %r0 %r1
174 ldi_s %r0 0x80000000
175 ldr_us %r0 %r1
176 ldi_us %r0 0x80000000
177 ldr_i %r0 %r1
178 ldi_i %r0 0x80000000
179#if __WORDSIZE == 64
180 ldr_ui %r0 %r1
181 ldi_ui %r0 0x80000000
182 ldr_l %r0 %r1
183 ldi_l %r0 0x80000000
184#endif
185 ldxr_c %r0 %r1 %r2
186 ldxi_c %r0 %r1 1
187 ldxr_uc %r0 %r1 %r2
188 ldxi_uc %r0 %r1 1
189 ldxr_s %r0 %r1 %r2
190 ldxi_s %r0 %r1 2
191 ldxr_us %r0 %r1 %r2
192 ldxi_us %r0 %r1 2
193 ldxr_i %r0 %r1 %r2
194 ldxi_i %r0 %r1 4
195#if __WORDSIZE == 64
196 ldxr_ui %r0 %r1 %r2
197 ldxi_ui %r0 %r1 4
198 ldxr_l %r0 %r1 %r2
199 ldxi_l %r0 %r1 8
200#endif
201 str_c %r1 %r0
202 sti_c 0x80000000 %r1
203 str_s %r1 %r0
204 sti_s 0x80000000 %r1
205 str_i %r1 %r0
206 sti_i 0x80000000 %r1
207#if __WORDSIZE == 64
208 str_l %r1 %r0
209 sti_l 0x80000000 %r1
210#endif
211 stxr_c %r2 %r1 %r0
212 stxi_c 1 %r1 %r0
213 stxr_s %r2 %r1 %r0
214 stxi_s 2 %r1 %r0
215 stxr_i %r2 %r1 %r0
216 stxi_i 4 %r1 %r0
217#if __WORDSIZE == 64
218 stxr_l %r2 %r1 %r0
219 stxi_l 8 %r1 %r0
220#endif
221cond:
222 bltr cond %r0 %r1
223condi:
224 blti condi %r0 1
225condu:
226 bltr_u condu %r0 %r1
227condiu:
228 blti_u condiu %r0 1
229 bler cond %r0 %r1
230 blei condi %r0 1
231 bler_u condu %r0 %r1
232 blei_u condiu %r0 1
233bool:
234 beqr bool %r0 %r1
235booli:
236 beqi booli %r0 1
237 bger cond %r0 %r1
238 bgei condi %r0 1
239 bger_u condu %r0 %r1
240 bgei_u condiu %r0 1
241 bgtr cond %r0 %r1
242 bgti condi %r0 1
243 bgtr_u condu %r0 %r1
244 bgti_u condiu %r0 1
245 bner bool %r0 %r1
246 bnei booli %r0 1
247mask:
248 bmsr mask %r0 %r1
249maski:
250 bmsi maski %r0 1
251 bmcr mask %r0 %r1
252 bmci maski %r0 1
253as:
254 boaddr as %r0 %r1
255asi:
256 boaddi asi %r0 1
257asu:
258 boaddr_u as %r0 %r1
259 boaddi_u asi %r0 1
260 bxaddr as %r0 %r1
261 bxaddi asi %r0 1
262 bxaddr_u as %r0 %r1
263 bxaddi_u asi %r0 1
264 bosubr as %r0 %r1
265 bosubi asi %r0 1
266 bosubr_u as %r0 %r1
267 bosubi_u asi %r0 1
268 bxsubr as %r0 %r1
269 bxsubi asi %r0 1
270 bxsubr_u as %r0 %r1
271 bxsubi_u asi %r0 1
272label:
273 jmpr %r0
274 jmpi label
275 callr %r0
276 calli label
277 prepare
79bfeef6
PC
278 pushargr_c %r0
279 pushargr_uc %r0
280 pushargr_s %r0
281 pushargr_us %r0
282 pushargr_i %r0
283#if __WORDSIZE == 64
284 pushargr_ui %r0
285 pushargr_l %r0
286#endif
4a71579b
PC
287 pushargr %r0
288 finishr %r0
289 prepare
290 pushargi 1
291 ellipsis
292 finishi 0x80000000
293 ret
79bfeef6
PC
294 retr_c %r1
295 retr_uc %r1
296 retr_s %r1
297 retr_us %r1
298 retr_i %r1
299#if __WORDSIZE == 64
300 retr_ui %r1
301 retr_l %r1
302#endif
4a71579b
PC
303 retr %r1
304 reti 2
305 retval_c %r1
306 retval_uc %r1
307 retval_s %r1
308 retval_us %r1
309 retval_i %r1
310#if __WORDSIZE == 64
311 retval_ui %r1
312 retval_l %r1
313#endif
314 arg_f $f
315 getarg_f %f1 $f
79bfeef6
PC
316 putargr_f %f1 $f
317 putargi_f 1.0 $f
4a71579b
PC
318 addr_f %f0 %f1 %f2
319 addi_f %f0 %f1 0.5
320 subr_f %f0 %f1 %f2
321 subi_f %f0 %f1 0.5
322 mulr_f %f0 %f1 %f2
323 muli_f %f0 %f1 0.5
324 divr_f %f0 %f1 %f2
325 divi_f %f0 %f1 0.5
326 negr_f %f0 %f1
ba86ff93 327 negi_f %f0 -1
4a71579b 328 absr_f %f0 %f1
ba86ff93 329 absi_f %f0 -1
4a71579b 330 sqrtr_f %f0 %f1
ba86ff93 331 sqrti_f %f0 -1
4a71579b
PC
332 ltr_f %r0 %f0 %f1
333 lti_f %r0 %f0 0.5
334 ler_f %r0 %f0 %f1
335 lei_f %r0 %f0 0.5
336 eqr_f %r0 %f0 %f1
337 eqi_f %r0 %f0 0.5
338 ger_f %r0 %f0 %f1
339 gei_f %r0 %f0 0.5
340 gtr_f %r0 %f0 %f1
341 gti_f %r0 %f0 0.5
342 ner_f %r0 %f0 %f1
343 nei_f %r0 %f0 0.5
344 unltr_f %r0 %f0 %f1
345 unlti_f %r0 %f0 0.5
346 unler_f %r0 %f0 %f1
347 unlei_f %r0 %f0 0.5
348 uneqr_f %r0 %f0 %f1
349 uneqi_f %r0 %f0 0.5
350 unger_f %r0 %f0 %f1
351 ungei_f %r0 %f0 0.5
352 ungtr_f %r0 %f0 %f1
353 ungti_f %r0 %f0 0.5
354 ltgtr_f %r0 %f0 %f1
355 ltgti_f %r0 %f0 0.5
356 ordr_f %r0 %f0 %f1
357 ordi_f %r0 %f0 0.5
358 unordr_f %r0 %f0 %f1
359 unordi_f %r0 %f0 0.5
360 truncr_f_i %r0 %f0
361#if __WORDSIZE == 64
362 truncr_f_l %r0 %f0
363#endif
364 extr_f %f0 %r0
365 extr_d_f %f0 %f1
366 movr_f %f0 %f1
367 movi_f %f0 1.5
368 ldr_f %f0 %r0
369 ldi_f %f0 0x80000000
370 ldxr_f %f0 %r0 %r1
371 ldxi_f %f0 %r0 4
372 str_f %r0 %f0
373 sti_f 0x80000000 %f0
374 stxr_f %r1 %r0 %f0
375 stxi_f 4 %r0 %f0
376/* FIXME the bordr_d at the end will cause an assertion on riscv due to
377 * too distant jump (does not fit in a 12 bit signed int) */
378ord:
379 bltr_f ord %f0 %f1
380ordi:
381 blti_f ordi %f0 0.5
382 bler_f ord %f0 %f1
383 blei_f ordi %f0 0.5
384 beqr_f ord %f0 %f1
385 beqi_f ordi %f0 0.5
386 bger_f ord %f0 %f1
387 bgei_f ordi %f0 0.5
388 bgtr_f ord %f0 %f1
389 bgti_f ordi %f0 0.5
390 bner_f ord %f0 %f1
391 bnei_f ordi %f0 0.5
392unord:
393 bunltr_f unord %f0 %f1
394unordi:
395 bunlti_f unordi %f0 0.5
396 bunler_f unord %f0 %f1
397 bunlei_f unordi %f0 0.5
398 buneqr_f unord %f0 %f1
399 buneqi_f unordi %f0 0.5
400 bunger_f unord %f0 %f1
401 bungei_f unordi %f0 0.5
402 bungtr_f unord %f0 %f1
403 bungti_f unordi %f0 0.5
404 bltgtr_f unord %f0 %f1
405 bltgti_f unordi %f0 0.5
406 bordr_f unord %f0 %f1
407 bordi_f unordi %f0 0.5
408 bunordr_f unord %f0 %f1
409 bunordi_f unordi %f0 0.5
410 prepare
411 pushargr_f %f1
412 pushargi_f 0.5
413 finishi 0x80000000
414 retr_f %f1
415 reti_f 0.5
416 retval_f %f1
417 arg_d $f
418 getarg_d %f1 $f
79bfeef6
PC
419 putargr_d %f1 $f
420 putargi_d 1.0 $f
4a71579b
PC
421 addr_d %f0 %f1 %f2
422 addi_d %f0 %f1 0.5
423 subr_d %f0 %f1 %f2
424 subi_d %f0 %f1 0.5
425 mulr_d %f0 %f1 %f2
426 muli_d %f0 %f1 0.5
427 divr_d %f0 %f1 %f2
428 divi_d %f0 %f1 0.5
429 negr_d %f0 %f1
ba86ff93 430 negi_d %f0 -1
4a71579b 431 absr_d %f0 %f1
ba86ff93 432 absi_d %f0 -1
4a71579b 433 sqrtr_d %f0 %f1
ba86ff93 434 sqrti_d %f0 -1
4a71579b
PC
435 ltr_d %r0 %f0 %f1
436 lti_d %r0 %f0 0.5
437 ler_d %r0 %f0 %f1
438 lei_d %r0 %f0 0.5
439 eqr_d %r0 %f0 %f1
440 eqi_d %r0 %f0 0.5
441 ger_d %r0 %f0 %f1
442 gei_d %r0 %f0 0.5
443 gtr_d %r0 %f0 %f1
444 gti_d %r0 %f0 0.5
445 ner_d %r0 %f0 %f1
446 nei_d %r0 %f0 0.5
447 unltr_d %r0 %f0 %f1
448 unlti_d %r0 %f0 0.5
449 unler_d %r0 %f0 %f1
450 unlei_d %r0 %f0 0.5
451 uneqr_d %r0 %f0 %f1
452 uneqi_d %r0 %f0 0.5
453 unger_d %r0 %f0 %f1
454 ungei_d %r0 %f0 0.5
455 ungtr_d %r0 %f0 %f1
456 ungti_d %r0 %f0 0.5
457 ltgtr_d %r0 %f0 %f1
458 ltgti_d %r0 %f0 0.5
459 ordr_d %r0 %f0 %f1
460 ordi_d %r0 %f0 0.5
461 unordr_d %r0 %f0 %f1
462 unordi_d %r0 %f0 0.5
463 truncr_d_i %r0 %f0
464#if __WORDSIZE == 64
465 truncr_d_l %r0 %f0
466#endif
467 extr_d %f0 %r0
468 extr_f_d %f0 %f1
469 movr_d %f0 %f1
470 movi_d %f0 1.5
471 ldr_d %f0 %r0
472 ldi_d %f0 0x80000000
473 ldxr_d %f0 %r0 %r1
474 ldxi_d %f0 %r0 8
475 str_d %r0 %f0
476 sti_d 0x80000000 %f0
477 stxr_d %r1 %r0 %f0
478 stxi_d 8 %r0 %f0
479 bltr_d ord %f0 %f1
480 blti_d ordi %f0 0.5
481 bler_d ord %f0 %f1
482 blei_d ordi %f0 0.5
483 beqr_d ord %f0 %f1
484 beqi_d ordi %f0 0.5
485 bger_d ord %f0 %f1
486 bgei_d ordi %f0 0.5
487 bgtr_d ord %f0 %f1
488 bgti_d ordi %f0 0.5
489 bner_d ord %f0 %f1
490 bnei_d ordi %f0 0.5
491 bunltr_d unord %f0 %f1
492 bunlti_d unordi %f0 0.5
493 bunler_d unord %f0 %f1
494 bunlei_d unordi %f0 0.5
495 buneqr_d unord %f0 %f1
496 buneqi_d unordi %f0 0.5
497 bunger_d unord %f0 %f1
498 bungei_d unordi %f0 0.5
499 bungtr_d unord %f0 %f1
500 bungti_d unordi %f0 0.5
501 bltgtr_d unord %f0 %f1
502 bltgti_d unordi %f0 0.5
503 bordr_d unord %f0 %f1
504 bordi_d unordi %f0 0.5
505 bunordr_d unord %f0 %f1
506 bunordi_d unordi %f0 0.5
507 prepare
508 pushargr_d %f1
509 pushargi_d 0.5
510 finishi 0x80000000
511 retr_d %f1
512 reti_d 0.5
513 retval_d %f1