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