add a thp-based huge page alloc fallback
[pcsx_rearmed.git] / deps / lightning / check / put.tst
1 .data   8
2 ok:
3 .c      "ok"
4
5 .code
6         jmpi main
7
8         name putr
9 putr:
10         prolog
11         frame 160
12         arg_c $ac
13         arg_c $auc
14         arg_s $as
15         arg_s $aus
16         arg_i $ai
17 #if __WORDSIZE == 64
18         arg_i $aui
19         arg_l $al
20 #endif
21         arg_f $af
22         arg_d $ad
23         arg $a
24 #if __WORDSIZE == 64
25         arg_l $_l
26         arg_i $_ui
27 #endif
28         arg_i $_i
29         arg_s $_us
30         arg_s $_s
31         arg_c $_uc
32         arg_c $_c
33         getarg_c %r0 $ac
34         negr %r0 %r0
35         putargr_c %r0 $ac
36         getarg_uc %r0 $auc
37         negr %r0 %r0
38         putargr_uc %r0 $auc
39         getarg_s %r0 $as
40         negr %r0 %r0
41         putargr_s %r0 $as
42         getarg_us %r0 $aus
43         negr %r0 %r0
44         putargr_us %r0 $aus
45         getarg_i %r0 $ai
46         negr %r0 %r0
47         putargr_i %r0 $ai
48 #if __WORDSIZE == 64
49         getarg_ui %r0 $aui
50         negr %r0 %r0
51         putargr_ui %r0 $aui
52         getarg_l %r0 $al
53         negr %r0 %r0
54         putargr_l %r0 $al
55 #endif
56         getarg_f %f0 $af
57         negr_f %f0 %f0
58         putargr_f %f0 $af
59         getarg_d %f0 $ad
60         negr_d %f0 %f0
61         putargr_d %f0 $ad
62         getarg %r0 $a
63         negr %r0 %r0
64         putargr %r0 $a
65 #if __WORDSIZE == 64
66         getarg_l %r0 $_l
67         negr %r0 %r0
68         putargr_l %r0 $_l
69         getarg_ui %r0 $_ui
70         negr %r0 %r0
71         putargr_ui %r0 $_ui
72 #endif
73         getarg_i %r0 $_i
74         negr %r0 %r0
75         putargr_i %r0 $_i
76         getarg_us %r0 $_us
77         negr %r0 %r0
78         putargr_us %r0 $_us
79         getarg_s %r0 $_s
80         negr %r0 %r0
81         putargr_s %r0 $_s
82         getarg_uc %r0 $_uc
83         negr %r0 %r0
84         putargr_uc %r0 $_uc
85         getarg_c %r0 $_c
86         negr %r0 %r0
87         putargr_c %r0 $_c
88         jmpi _putr
89 rputr:
90         putargi_c 17 $ac
91         putargi_uc 16 $auc
92         putargi_s 15 $as
93         putargi_us 14 $aus
94         putargi_i 13 $ai
95 #if __WORDSIZE == 64
96         putargi_ui 12 $aui
97         putargi_l 11 $al
98 #endif
99         putargi_f 10 $af
100         putargi_d 9 $ad
101         putargi 8 $a
102 #if __WORDSIZE == 64
103         putargi_l 7 $_l
104         putargi_ui 6 $_ui
105 #endif
106         putargi_i 5 $_i
107         putargi_us 4 $_us
108         putargi_s 3 $_s
109         putargi_uc 2 $_uc
110         putargi_c 1 $_c
111         jmpi _puti
112 rputi:
113         ret
114         epilog
115
116         name _putr
117 _putr:
118         prolog
119         tramp 160
120         arg_c $ac
121         arg_c $auc
122         arg_s $as
123         arg_s $aus
124         arg_i $ai
125 #if __WORDSIZE == 64
126         arg_i $aui
127         arg_l $al
128 #endif
129         arg_f $af
130         arg_d $ad
131         arg $a
132 #if __WORDSIZE == 64
133         arg_l $_l
134         arg_i $_ui
135 #endif
136         arg_i $_i
137         arg_s $_us
138         arg_s $_s
139         arg_c $_uc
140         arg_c $_c
141         getarg_c %r0 $ac
142         beqi rac %r0 -1
143         calli @abort
144 rac:
145         getarg_uc %r0 $auc
146         beqi rauc %r0 $(-2 & 0xff)
147         calli @abort
148 rauc:
149         getarg_s %r0 $as
150         beqi ras %r0 -3
151         calli @abort
152 ras:
153         getarg_us %r0 $aus
154         beqi raus %r0 $(-4 & 0xffff)
155         calli @abort
156 raus:
157         getarg_i %r0 $ai
158         beqi rai %r0 -5
159         calli @abort
160 rai:
161 #if __WORDSIZE == 64
162         getarg_ui %r0 $aui
163         beqi raui %r0 $(-6 & 0xffffffff)
164         calli @abort
165 raui:
166         getarg_l %r0 $al
167         beqi ral %r0 -7
168         calli @abort
169 ral:
170 #endif
171         getarg_f %f0 $af
172         beqi_f raf %f0 -8
173         calli @abort
174 raf:
175         getarg_d %f0 $ad
176         beqi_d rad %f0 -9
177         calli @abort
178 rad:
179         getarg %r0 $a
180         beqi ra %r0 -10
181         calli @abort
182 ra:
183 #if __WORDSIZE == 64
184         getarg_l %r0 $_l
185         beqi r_l %r0 -11
186         calli @abort
187 r_l:
188         getarg_ui %r0 $_ui
189         beqi r_ui %r0 $(-12 & 0xffffffff)
190         calli @abort
191 r_ui:
192 #endif
193         getarg_i %r0 $_i
194         beqi r_i %r0 -13
195         calli @abort
196 r_i:
197         getarg_us %r0 $_us
198         beqi r_us %r0 $(-14 & 0xffff)
199         calli @abort
200 r_us:
201         getarg_s %r0 $_s
202         beqi r_s %r0 -15
203         calli @abort
204 r_s:
205         getarg_uc %r0 $_uc
206         beqi r_uc %r0 $(-16 & 0xff)
207         calli @abort
208 r_uc:
209         getarg_c %r0 $_c
210         beqi r_c %r0 -17
211         calli @abort
212 r_c:
213         jmpi rputr
214         epilog
215
216         name _puti
217 _puti:
218         prolog
219         tramp 160
220         arg_c $ac
221         arg_c $auc
222         arg_s $as
223         arg_s $aus
224         arg_i $ai
225 #if __WORDSIZE == 64
226         arg_i $aui
227         arg_l $al
228 #endif
229         arg_f $af
230         arg_d $ad
231         arg $a
232 #if __WORDSIZE == 64
233         arg_l $_l
234         arg_i $_ui
235 #endif
236         arg_i $_i
237         arg_s $_us
238         arg_s $_s
239         arg_c $_uc
240         arg_c $_c
241         getarg_c %r0 $ac
242         beqi iac %r0 17
243         calli @abort
244 iac:
245         getarg_uc %r0 $auc
246         beqi iauc %r0 16
247         calli @abort
248 iauc:
249         getarg_s %r0 $as
250         beqi ias %r0 15
251         calli @abort
252 ias:
253         getarg_us %r0 $aus
254         beqi iaus %r0 14
255         calli @abort
256 iaus:
257         getarg_i %r0 $ai
258         beqi iai %r0 13
259         calli @abort
260 iai:
261 #if __WORDSIZE == 64
262         getarg_ui %r0 $aui
263         beqi iaui %r0 12
264         calli @abort
265 iaui:
266         getarg_l %r0 $al
267         beqi ial %r0 11
268         calli @abort
269 ial:
270 #endif
271         getarg_f %f0 $af
272         beqi_f iaf %f0 10
273         calli @abort
274 iaf:
275         getarg_d %f0 $ad
276         beqi_d iad %f0 9
277         calli @abort
278 iad:
279         getarg %r0 $a
280         beqi ia %r0 8
281         calli @abort
282 ia:
283 #if __WORDSIZE == 64
284         getarg_l %r0 $_l
285         beqi i_l %r0 7
286         calli @abort
287 i_l:
288         getarg_ui %r0 $_ui
289         beqi i_ui %r0 6
290         calli @abort
291 i_ui:
292 #endif
293         getarg_i %r0 $_i
294         beqi i_i %r0 5
295         calli @abort
296 i_i:
297         getarg_us %r0 $_us
298         beqi i_us %r0 4
299         calli @abort
300 i_us:
301         getarg_s %r0 $_s
302         beqi i_s %r0 3
303         calli @abort
304 i_s:
305         getarg_uc %r0 $_uc
306         beqi i_uc %r0 2
307         calli @abort
308 i_uc:
309         getarg_c %r0 $_c
310         beqi i_c %r0 1
311         calli @abort
312 i_c:
313         jmpi rputi
314         epilog
315
316         name putf
317 putf:
318         prolog
319         frame 56
320         arg $i1
321         arg_d $d1
322         arg_f $f1
323         arg_f $f2
324         arg_f $f3
325         arg $i2
326         arg_d $d2
327         getarg %r0 $i1
328         addi %r0 %r0 1
329         putargr %r0 $i1
330         getarg_d %f0 $d1
331         addi_d %f0 %f0 1
332         putargr_d %f0 $d1
333         getarg_f %f0 $f1
334         addi_f %f0 %f0 1
335         putargr_f %f0 $f1
336         getarg_f %f0 $f2
337         subi_f %f0 %f0 1
338         putargr_f %f0 $f2
339         putargi_f -5 $f3
340         putargi -6 $i2
341         putargi_d -7 $d2
342         jmpi _putf
343 rputf:
344         ret
345         epilog
346
347         name _putf
348 _putf:
349         prolog
350         tramp 56
351         arg $i1
352         arg_d $d1
353         arg_f $f1
354         arg_f $f2
355         arg_f $f3
356         arg $i2
357         arg_d $d2
358         getarg %r0 $i1
359         beqi fi1 %r0 2
360         calli @abort
361 fi1:
362         getarg_d %f0 $d1
363         beqi_d fd1 %f0 3
364         calli @abort
365 fd1:
366         getarg_f %f0 $f1
367         beqi_f ff1 %f0 4
368         calli @abort
369 ff1:
370         getarg_f %f0 $f2
371         beqi_f ff2 %f0 3
372         calli @abort
373 ff2:
374         getarg_f %f0 $f3
375         beqi_f ff3 %f0 -5
376         calli @abort
377 ff3:
378         getarg %r0 $i2
379         beqi fi2 %r0 -6
380         calli @abort
381 fi2:
382         getarg_d %f0 $d2
383         beqi_d fd2 %f0 -7
384         calli @abort
385 fd2:
386         jmpi rputf
387         epilog
388
389         name main
390 main:
391         prolog
392         prepare
393                 pushargi_c  1
394                 pushargi_uc 2
395                 pushargi_s  3
396                 pushargi_us 4
397                 pushargi_i  5
398 #if __WORDSIZE == 64
399                 pushargi_ui 6
400                 pushargi_l  7
401 #endif
402                 pushargi_f  8
403                 pushargi_d  9
404                 pushargi    10
405 #if __WORDSIZE == 64
406                 pushargi_l  11
407                 pushargi_ui 12
408 #endif
409                 pushargi_i  13
410                 pushargi_us 14
411                 pushargi_s  15
412                 pushargi_uc 16
413                 pushargi_c  17
414         finishi putr
415         prepare
416                 pushargi 1
417                 pushargi_d 2
418                 pushargi_f 3
419                 pushargi_f 4
420                 pushargi_f 5
421                 pushargi 6
422                 pushargi_d 7
423         finishi putf
424         prepare
425                 pushargi ok
426         finishi @puts
427         ret
428         epilog