git subrepo pull --force deps/lightrec
[pcsx_rearmed.git] / deps / lightning / check / unldst.tst
CommitLineData
ba86ff93
PC
1#define GENTABLE 0
2#define USEFUNC 0
3
4#if __WORDSIZE == 32
5#define GVAL 0xfedcba98
6#else
7#define GVAL 0xfedcba9876543210
8#endif
9#define FVAL 2.5
10#define DVAL 7.5
11
12#if USEFUNC
13# define LOAD(NAME, TYPE, R0, BASE, SIZE, RESULT) \
14 prepare \
15 pushargi BASE \
16 pushargi SIZE \
17 finishi NAME##TYPE \
18 retval %R0 \
19 beqi NAME##TYPE##R0##BASE##SIZE %R0 RESULT \
20 calli @abort \
21NAME##TYPE##R0##BASE##SIZE:
22#else
23# define LOAD(NAME, TYPE, R0, BASE, SIZE, RESULT) \
24 movi %R0 BASE \
25 NAME##r##TYPE %R0 %R0 SIZE \
26 beqi NAME##r##TYPE##R0##BASE##SIZE %R0 RESULT \
27 calli @abort \
28NAME##r##TYPE##R0##BASE##SIZE: \
29 NAME##i##TYPE %R0 BASE SIZE \
30 beqi NAME##i##TYPE##R0##BASE##SIZE %R0 RESULT \
31 calli @abort \
32NAME##i##TYPE##R0##BASE##SIZE:
33#endif
34#define LOAD1(NAME, TYPE, R0, R1, R2, V0, V1, V2, BASE, SIZE, RESULT) \
35 LOAD(NAME, TYPE, R0, BASE, SIZE, RESULT) \
36 LOAD(NAME, TYPE, R1, BASE, SIZE, RESULT) \
37 LOAD(NAME, TYPE, R2, BASE, SIZE, RESULT) \
38 LOAD(NAME, TYPE, V0, BASE, SIZE, RESULT) \
39 LOAD(NAME, TYPE, V1, BASE, SIZE, RESULT) \
40 LOAD(NAME, TYPE, V2, BASE, SIZE, RESULT)
41#define UNLD(BASE, SIZE, RESULT) \
42 LOAD1(unld, , r0, r1, r2, v0, v1, v2, BASE, SIZE, RESULT)
43#define UNLDU(BASE, SIZE, RESULT) \
44 LOAD1(unld, _u, r0, r1, r2, v0, v1, v2, BASE, SIZE, RESULT)
45
46#if USEFUNC
47# define STORE(R0, R1, R2, BASE, SIZE, RES0, RES1) \
48 movi %R0 str0 \
49 movi %R1 0 \
50 str %R0 %R1 \
51 stxi $(__WORDSIZE >> 3) %R0 %R1 \
52 movi %R0 GVAL \
53 prepare \
54 pushargi BASE \
55 pushargr %R0 \
56 pushargi SIZE \
57 finishi unst \
58 movi %R0 str0 \
59 ldr %R1 %R0 \
60 ldxi %R2 %R0 $(__WORDSIZE >> 3) \
61 bnei unst##R0##R1##R2##BASE##SIZE##fail %R1 RES0 \
62 beqi unst##R0##R1##R2##BASE##SIZE %R2 RES1 \
63unst##R0##R1##R2##BASE##SIZE##fail: \
64 calli @abort \
65unst##R0##R1##R2##BASE##SIZE:
66#else
67# define STORE(R0, R1, R2, BASE, SIZE, RES0, RES1) \
68 movi %R0 str0 \
69 movi %R1 0 \
70 str %R0 %R1 \
71 stxi $(__WORDSIZE >> 3) %R0 %R1 \
72 movi %R0 GVAL \
73 movi %R1 BASE \
74 unstr %R1 %R0 SIZE \
75 movi %R0 str0 \
76 ldr %R1 %R0 \
77 ldxi %R2 %R0 $(__WORDSIZE >> 3) \
78 bnei unst##r##R0##R1##R2##BASE##SIZE##fail %R1 RES0 \
79 beqi unst##r##R0##R1##R2##BASE##SIZE %R2 RES1 \
80unst##r##R0##R1##R2##BASE##SIZE##fail: \
81 calli @abort \
82unst##r##R0##R1##R2##BASE##SIZE: \
83 movi %R0 str0 \
84 movi %R1 0 \
85 str %R0 %R1 \
86 stxi $(__WORDSIZE >> 3) %R0 %R1 \
87 movi %R0 GVAL \
88 unsti BASE %R0 SIZE \
89 movi %R0 str0 \
90 ldr %R1 %R0 \
91 ldxi %R2 %R0 $(__WORDSIZE >> 3) \
92 bnei unst##i##R0##R1##R2##BASE##SIZE##fail %R1 RES0 \
93 beqi unst##i##R0##R1##R2##BASE##SIZE %R2 RES1 \
94unst##i##R0##R1##R2##BASE##SIZE##fail: \
95 calli @abort \
96unst##i##R0##R1##R2##BASE##SIZE:
97#endif
98#define STORE1(R0, R1, R2, V0, V1, V2, BASE, SIZE, RES0, RES1) \
99 STORE(R0, R1, R2, BASE, SIZE, RES0, RES1) \
100 STORE(R1, R2, V0, BASE, SIZE, RES0, RES1) \
101 STORE(R2, V0, V1, BASE, SIZE, RES0, RES1) \
102 STORE(V0, V1, V2, BASE, SIZE, RES0, RES1) \
103 STORE(V1, V2, R0, BASE, SIZE, RES0, RES1) \
104 STORE(V2, R0, R1, BASE, SIZE, RES0, RES1)
105#define UNST(BASE, SIZE, RES0, RES1) \
106 STORE1(r0, r1, r2, v0, v1, v2, BASE, SIZE, RES0, RES1)
107
108#if USEFUNC
109# define F_LDST(F0, BASE, VAL) \
110 movi %r2 str0 \
111 movi %r1 0 \
112 str %r2 %r1 \
113 stxi $(__WORDSIZE >> 3) %r2 %r1 \
114 movi_f %F0 VAL \
115 sti_f cvt %F0 \
116 ldi_i %r0 cvt \
117 prepare \
118 pushargi BASE \
119 pushargr %r0 \
120 finishi st4 \
121 prepare \
122 pushargi BASE \
123 finishi ld4 \
124 retval %r0 \
125 sti_i cvt %r0 \
126 movi_f %F0 -VAL \
127 ldi_f %F0 cvt \
128 beqi_f f##F0##BASE %F0 VAL \
129 calli @abort \
130f##F0##BASE:
131#else
132# define F_LDST(F0, BASE, VAL) \
133 movi %v0 BASE \
134 movi_f %F0 VAL \
135 unstr_x %v0 %F0 4 \
136 movi_f %F0 0 \
137 unldr_x %F0 %v0 4 \
138 beqi_f fr##F0##BASE %F0 VAL \
139 calli @abort \
140fr##F0##BASE: \
141 movi_f %F0 VAL \
142 unsti_x BASE %F0 4 \
143 movi_f %F0 0 \
144 unldi_x %F0 BASE 4 \
145 beqi_f fi##F0##BASE %F0 VAL \
146 calli @abort \
147fi##F0##BASE:
148#endif
149#define FLDST1(F0, F1, F2, F3, F4, F5, BASE, VAL) \
150 F_LDST(F0, BASE, VAL) \
151 F_LDST(F1, BASE, VAL) \
152 F_LDST(F2, BASE, VAL) \
153 F_LDST(F3, BASE, VAL) \
154 F_LDST(F4, BASE, VAL) \
155 F_LDST(F5, BASE, VAL)
156#define FLDST(BASE, VAL) \
157 FLDST1(f0, f1, f2, f3, f4, f5, BASE, VAL)
158
159#if USEFUNC
160# if __WORDSIZE == 32
161# if __BYTE_ORDER == __LITTLE_ENDIAN
162# define D_LDST(F0, BASE, VAL) \
163 movi %r2 BASE \
164 movi %r1 0 \
165 str %r2 %r1 \
166 stxi 4 %r2 %r1 \
167 movi_d %F0 VAL \
168 sti_d cvt %F0 \
169 movi %r0 cvt \
170 ldr %r0 %r0 \
171 prepare \
172 pushargi BASE \
173 pushargr %r0 \
174 finishi st4 \
175 prepare \
176 pushargi BASE \
177 finishi ld4 \
178 retval %v2 \
179 movi %r0 cvt \
180 addi %r0 %r0 4 \
181 ldr %r0 %r0 \
182 movi %v0 BASE \
183 addi %v0 %v0 4 \
184 prepare \
185 pushargr %v0 \
186 pushargr %r0 \
187 finishi st4 \
188 prepare \
189 pushargr %v0 \
190 finishi ld4 \
191 retval %r0 \
192 movi %r1 cvt \
193 str %r1 %v2 \
194 stxi 4 %r1 %r0 \
195 ldi_d %F0 cvt \
196 beqi_d d##F0##BASE %F0 VAL \
197 calli @abort \
198d##F0##BASE:
199# else
200# define D_LDST(F0, BASE, VAL) \
201 movi %r2 BASE \
202 movi %r1 0 \
203 str %r2 %r1 \
204 stxi 4 %r2 %r1 \
205 movi_d %F0 VAL \
206 sti_d cvt %F0 \
207 movi %r0 cvt \
208 addi %r0 %r0 4 \
209 ldr %r0 %r0 \
210 prepare \
211 pushargi BASE \
212 pushargr %r0 \
213 finishi st4 \
214 prepare \
215 pushargi BASE \
216 finishi ld4 \
217 retval %v2 \
218 movi %r0 cvt \
219 ldr %r0 %r0 \
220 movi %v0 BASE \
221 addi %v0 %v0 4 \
222 prepare \
223 pushargr %v0 \
224 pushargr %r0 \
225 finishi st4 \
226 prepare \
227 pushargr %v0 \
228 finishi ld4 \
229 retval %r0 \
230 movi %r1 cvt \
231 str %r1 %r0 \
232 stxi 4 %r1 %v2 \
233 ldi_d %F0 cvt \
234 beqi_d d##F0##BASE %F0 VAL \
235 calli @abort \
236d##F0##BASE:
237# endif
238# else
239# define D_LDST(F0, BASE, VAL) \
240 movi %r2 str0 \
241 movi %r1 0 \
242 stxi 8 %r2 %r1 \
243 movi_d %F0 DVAL \
244 sti_d cvt %F0 \
245 ldi %r0 cvt \
246 prepare \
247 pushargi BASE \
248 pushargr %r0 \
249 finishi st8 \
250 prepare \
251 pushargi BASE \
252 finishi ld8 \
253 retval %r0 \
254 sti cvt %r0 \
255 ldi_d %F0 cvt \
256 beqi_d d##F0##BASE %F0 VAL \
257 calli @abort \
258d##F0##BASE:
259# endif
260#else
261# define D_LDST(F0, BASE, VAL) \
262 movi %v0 BASE \
263 movi_d %F0 VAL \
264 unstr_x %v0 %F0 8 \
265 movi_d %F0 0 \
266 unldr_x %F0 %v0 8 \
267 beqi_d dr##F0##BASE %F0 VAL \
268 calli @abort \
269dr##F0##BASE: \
270 movi_d %F0 VAL \
271 unsti_x BASE %F0 8 \
272 movi_d %F0 0 \
273 unldi_x %F0 BASE 8 \
274 beqi_d di##F0##BASE %F0 VAL \
275 calli @abort \
276di##F0##BASE:
277#endif
278
279#define DLDST1(F0, F1, F2, F3, F4, F5, BASE, VAL) \
280 D_LDST(F0, BASE, VAL) \
281 D_LDST(F1, BASE, VAL) \
282 D_LDST(F2, BASE, VAL) \
283 D_LDST(F3, BASE, VAL) \
284 D_LDST(F4, BASE, VAL) \
285 D_LDST(F5, BASE, VAL)
286#define DLDST(BASE, VAL) \
287 DLDST1(f0, f1, f2, f3, f4, f5, BASE, VAL)
288
289.data 4096
290ok:
291.c "ok"
292sUNLD:
293.c " UNLD"
294sUNLDU:
295.c "UNLDU"
296fmt_ldf:
297.c "\tFLDST(str%d, %.1f)\n"
298fmt_ldd:
299.c "\tDLDST(str%d, %.1f)\n"
300.align 8
301cvt:
302.size 8
303str0:
304.c 0x00
305str1:
306.c 0x00
307str2:
308.c 0x00
309str3:
310.c 0x00
311str4:
312.c 0x00
313str5:
314.c 0x00
315str6:
316.c 0x00
317str7:
318.c 0x00
319str8:
320.c 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00
321#if __WORDSIZE == 32
322buf0:
323.c 0x80
324buf1:
325.c 0x81
326buf2:
327.c 0x82
328buf3:
329.c 0x83 0x84 0x85 0x86 0x87
330fmt:
331.c "0x%08x\n"
332fmt_ld:
333.c "\t%s(buf%d, %d, 0x%08x)\n"
334fmt_st:
335.c "\t UNST(str%d, %d, 0x%08x, 0x%08x)\n"
336#else
337buf0:
338.c 0x80
339buf1:
340.c 0x81
341buf2:
342.c 0x82
343buf3:
344.c 0x83
345buf4:
346.c 0x84
347buf5:
348.c 0x85
349buf6:
350.c 0x86
351buf7:
352.c 0x87 0x88 0x89 0x8a 0x8b 0x8c 0x8d 0x8e 0x8f
353fmt:
354.c "0x%016lx\n"
355fmt_ld:
356.c "\t%s(buf%d, %d, 0x%016lx)\n"
357fmt_st:
358.c "\t UNST(str%d, %d, 0x%016lx, 0x%016lx)\n"
359#endif
360
361.code
362 jmpi main
363
364ld2:
365 prolog
366 arg $addr
367 getarg %r1 $addr
368 andi %r2 %r1 -2
369 bner ld2_un2 %r1 %r2
370 ldr_s %r0 %r1
371 jmpi ld2_al
372ld2_un2:
373#if __BYTE_ORDER == __LITTLE_ENDIAN
374 ldr_uc %r0 %r1
375 ldxi_c %r2 %r1 1
376 lshi %r2 %r2 8
377#else
378 ldr_c %r0 %r1
379 lshi %r0 %r0 8
380 ldxi_uc %r2 %r1 1
381#endif
382 orr %r0 %r0 %r2
383ld2_al:
384 retr %r0
385 epilog
386
387ld2u:
388 prolog
389 arg $addr
390 getarg %r1 $addr
391 andi %r2 %r1 -2
392 bner ld2u_un2 %r1 %r2
393 ldr_us %r0 %r1
394 jmpi ld2u_al
395ld2u_un2:
396 ldr_uc %r0 %r1
397 ldxi_uc %r2 %r1 1
398#if __BYTE_ORDER == __LITTLE_ENDIAN
399 lshi %r2 %r2 8
400#else
401 lshi %r0 %r0 8
402#endif
403 orr %r0 %r0 %r2
404ld2u_al:
405 retr %r0
406 epilog
407
408ld3:
409 prolog
410 arg $addr
411 getarg %r1 $addr
412 andi %r2 %r1 -2
413 bner ld3_un2 %r1 %r2
414#if __BYTE_ORDER == __LITTLE_ENDIAN
415 ldr_us %r0 %r1
416 ldxi_c %r2 %r1 2
417 lshi %r2 %r2 16
418#else
419 ldr_s %r0 %r1
420 lshi %r0 %r0 8
421 ldxi_uc %r2 %r1 2
422#endif
423 jmpi ld3_or
424ld3_un2:
425#if __BYTE_ORDER == __LITTLE_ENDIAN
426 ldr_uc %r0 %r1
427 ldxi_s %r2 %r1 1
428 lshi %r2 %r2 8
429#else
430 ldr_c %r0 %r1
431 lshi %r0 %r0 16
432 ldxi_us %r2 %r1 1
433#endif
434ld3_or:
435 orr %r0 %r0 %r2
436 retr %r0
437 epilog
438
439ld3u:
440 prolog
441 arg $addr
442 getarg %r1 $addr
443 andi %r2 %r1 -2
444 bner ld3u_un2 %r1 %r2
445#if __BYTE_ORDER == __LITTLE_ENDIAN
446 ldr_us %r0 %r1
447 ldxi_uc %r2 %r1 2
448 lshi %r2 %r2 16
449#else
450 ldr_us %r0 %r1
451 lshi %r0 %r0 8
452 ldxi_uc %r2 %r1 2
453#endif
454 jmpi ld3u_or
455ld3u_un2:
456#if __BYTE_ORDER == __LITTLE_ENDIAN
457 ldr_uc %r0 %r1
458 ldxi_us %r2 %r1 1
459 lshi %r2 %r2 8
460#else
461 ldr_uc %r0 %r1
462 lshi %r0 %r0 16
463 ldxi_us %r2 %r1 1
464#endif
465ld3u_or:
466 orr %r0 %r0 %r2
467 retr %r0
468 epilog
469
470ld4:
471 prolog
472 arg $addr
473 getarg %r1 $addr
474 andi %r2 %r1 -4
475 bner ld4_un4 %r1 %r2
476 ldr_i %r0 %r1
477 jmpi ld4_al
478ld4_un4:
479 andi %r2 %r1 -2
480 bner ld4_un2 %r1 %r2
481#if __BYTE_ORDER == __LITTLE_ENDIAN
482 ldr_us %r0 %r1
483 ldxi_s %r2 %r1 2
484 lshi %r2 %r2 16
485#else
486 ldr_s %r0 %r1
487 lshi %r0 %r0 16
488 ldxi_us %r2 %r1 2
489#endif
490 jmpi ld4_or
491 // assume address is mapped in a multiple of 4 as it will read
492 // one out of bounds byte to reduce number of used instructions
493ld4_un2:
494 andi %r2 %r1 3
495 bnei ld4_un3 %r2 3
496#if __BYTE_ORDER == __LITTLE_ENDIAN
497 ldr_uc %r0 %r1
498 ldxi_i %r2 %r1 1
499 lshi %r2 %r2 8
500# if __WORDSIZE == 64
501 extr_i %r2 %r2
502# endif
503#else
504 ldr_c %r0 %r1
505 lshi %r0 %r0 24
506# if __WORDSIZE == 32
507 ldxi %r2 %r1 1
508# else
509 ldxi_ui %r2 %r1 1
510# endif
511 rshi_u %r2 %r2 8
512#endif
513 jmpi ld4_or
514ld4_un3:
515#if __BYTE_ORDER == __LITTLE_ENDIAN
516# if __WORDSIZE == 32
517 ldxi %r0 %r1 -1
518# else
519 ldxi_ui %r0 %r1 -1
520# endif
521 rshi_u %r0 %r0 8
522 ldxi_c %r2 %r1 3
523 lshi %r2 %r2 24
524#else
525 ldxi_i %r0 %r1 -1
526 lshi %r0 %r0 8
527# if __WORDSIZE == 64
528 extr_i %r0 %r0
529# endif
530 ldxi_uc %r2 %r1 3
531#endif
532ld4_or:
533 orr %r0 %r0 %r2
534ld4_al:
535 retr %r0
536 epilog
537
538#if __WORDSIZE == 64
539ld4u:
540 prolog
541 arg $addr
542 getarg %r1 $addr
543 andi %r2 %r1 -4
544 bner ld4u_un4 %r1 %r2
545 ldr_ui %r0 %r1
546 jmpi ld4u_al
547ld4u_un4:
548 andi %r2 %r1 -2
549 bner ld4u_un2 %r1 %r2
550# if __BYTE_ORDER == __LITTLE_ENDIAN
551 ldr_us %r0 %r1
552 ldxi_us %r2 %r1 2
553 lshi %r2 %r2 16
554# else
555 ldr_us %r0 %r1
556 lshi %r0 %r0 16
557 ldxi_us %r2 %r1 2
558# endif
559 jmpi ld4u_or
560 // assume address is mapped in a multiple of 4 as it will read
561 // one out of bounds byte to reduce number of used instructions
562ld4u_un2:
563 andi %r2 %r1 3
564 bnei ld4u_un3 %r2 3
565# if __BYTE_ORDER == __LITTLE_ENDIAN
566 ldr_uc %r0 %r1
567 ldxi_ui %r2 %r1 1
568 lshi %r2 %r2 8
569 extr_ui %r2 %r2
570# else
571 ldr_uc %r0 %r1
572 lshi %r0 %r0 24
573 ldxi_ui %r2 %r1 1
574 rshi_u %r2 %r2 8
575# endif
576 jmpi ld4u_or
577ld4u_un3:
578# if __BYTE_ORDER == __LITTLE_ENDIAN
579 ldxi_ui %r0 %r1 -1
580 rshi %r0 %r0 8
581 ldxi_uc %r2 %r1 3
582 lshi %r2 %r2 24
583# else
584 ldxi_ui %r0 %r1 -1
585 lshi %r0 %r0 8
586 extr_ui %r0 %r0
587 ldxi_uc %r2 %r1 3
588# endif
589ld4u_or:
590 orr %r0 %r0 %r2
591ld4u_al:
592 retr %r0
593 epilog
594
595ld5:
596 prolog
597 arg $addr
598 getarg %r1 $addr
599 andi %r2 %r1 -4
600 bner ld5_un4 %r1 %r2
601# if __BYTE_ORDER == __LITTLE_ENDIAN
602 ldr_ui %r0 %r1
603 ldxi_c %r2 %r1 4
604 lshi %r2 %r2 32
605# else
606 ldr_i %r0 %r1
607 lshi %r0 %r0 8
608 ldxi_uc %r2 %r1 4
609# endif
610 jmpi ld5_or
611ld5_un4:
612 andi %r2 %r1 -2
613 bner ld5_un2 %r1 %r2
614# if __BYTE_ORDER == __LITTLE_ENDIAN
615 ldr_us %r0 %r1
616 ldxi_us %r2 %r1 2
617 lshi %r2 %r2 16
618 orr %r0 %r0 %r2
619 ldxi_c %r2 %r1 4
620 lshi %r2 %r2 32
621# else
622 ldr_s %r0 %r1
623 lshi %r0 %r0 24
624 ldxi_us %r2 %r1 2
625 lshi %r2 %r2 8
626 orr %r0 %r0 %r2
627 ldxi_uc %r2 %r1 4
628# endif
629 jmpi ld5_or
630ld5_un2:
631 andi %r2 %r1 3
632 bnei ld5_un3 %r2 3
633# if __BYTE_ORDER == __LITTLE_ENDIAN
634 ldr_uc %r0 %r1
635 ldxi_i %r2 %r1 1
636 lshi %r2 %r2 8
637# else
638 ldr_c %r0 %r1
639 lshi %r0 %r0 32
640 ldxi_ui %r2 %r1 1
641# endif
642 jmpi ld5_or
643ld5_un3:
644# if __BYTE_ORDER == __LITTLE_ENDIAN
645 ldr_uc %r0 %r1
646 ldxi_us %r2 %r1 1
647 lshi %r2 %r2 8
648 orr %r0 %r0 %r2
649 ldxi_s %r2 %r1 3
650 lshi %r2 %r2 24
651# else
652 ldr_c %r0 %r1
653 lshi %r0 %r0 32
654 ldxi_us %r2 %r1 1
655 lshi %r2 %r2 16
656 orr %r0 %r0 %r2
657 ldxi_us %r2 %r1 3
658# endif
659ld5_or:
660 orr %r0 %r0 %r2
661 retr %r0
662 epilog
663
664ld5u:
665 prolog
666 arg $addr
667 getarg %r1 $addr
668 andi %r2 %r1 -4
669 bner ld5u_un4 %r1 %r2
670# if __BYTE_ORDER == __LITTLE_ENDIAN
671 ldr_ui %r0 %r1
672 ldxi_uc %r2 %r1 4
673 lshi %r2 %r2 32
674# else
675 ldr_ui %r0 %r1
676 lshi %r0 %r0 8
677 ldxi_uc %r2 %r1 4
678# endif
679 jmpi ld5u_or
680ld5u_un4:
681 andi %r2 %r1 -2
682 bner ld5u_un2 %r1 %r2
683# if __BYTE_ORDER == __LITTLE_ENDIAN
684 ldr_us %r0 %r1
685 ldxi_us %r2 %r1 2
686 lshi %r2 %r2 16
687 orr %r0 %r0 %r2
688 ldxi_uc %r2 %r1 4
689 lshi %r2 %r2 32
690# else
691 ldr_us %r0 %r1
692 lshi %r0 %r0 24
693 ldxi_us %r2 %r1 2
694 lshi %r2 %r2 8
695 orr %r0 %r0 %r2
696 ldxi_uc %r2 %r1 4
697# endif
698 jmpi ld5u_or
699ld5u_un2:
700 andi %r2 %r1 3
701 bnei ld5u_un3 %r2 3
702# if __BYTE_ORDER == __LITTLE_ENDIAN
703 ldr_uc %r0 %r1
704 ldxi_ui %r2 %r1 1
705 lshi %r2 %r2 8
706# else
707 ldr_uc %r0 %r1
708 lshi %r0 %r0 32
709 ldxi_ui %r2 %r1 1
710# endif
711 jmpi ld5u_or
712ld5u_un3:
713# if __BYTE_ORDER == __LITTLE_ENDIAN
714 ldr_uc %r0 %r1
715 ldxi_us %r2 %r1 1
716 lshi %r2 %r2 8
717 orr %r0 %r0 %r2
718 ldxi_us %r2 %r1 3
719 lshi %r2 %r2 24
720# else
721 ldr_uc %r0 %r1
722 lshi %r0 %r0 32
723 ldxi_us %r2 %r1 1
724 lshi %r2 %r2 16
725 orr %r0 %r0 %r2
726 ldxi_us %r2 %r1 3
727# endif
728ld5u_or:
729 orr %r0 %r0 %r2
730 retr %r0
731 epilog
732
733ld6:
734 prolog
735 arg $addr
736 getarg %r1 $addr
737 andi %r2 %r1 -4
738 bner ld6_un4 %r1 %r2
739# if __BYTE_ORDER == __LITTLE_ENDIAN
740 ldr_ui %r0 %r1
741 ldxi_s %r2 %r1 4
742 lshi %r2 %r2 32
743# else
744 ldr_i %r0 %r1
745 lshi %r0 %r0 16
746 ldxi_us %r2 %r1 4
747# endif
748 jmpi ld6_or
749ld6_un4:
750 andi %r2 %r1 -2
751 bner ld6_un2 %r1 %r2
752# if __BYTE_ORDER == __LITTLE_ENDIAN
753 ldr_us %r0 %r1
754 ldxi_i %r2 %r1 2
755 lshi %r2 %r2 16
756# else
757 ldr_s %r0 %r1
758 lshi %r0 %r0 32
759 ldxi_ui %r2 %r1 2
760# endif
761 jmpi ld6_or
762ld6_un2:
763 andi %r2 %r1 3
764 bnei ld6_un3 %r2 3
765# if __BYTE_ORDER == __LITTLE_ENDIAN
766 ldr_uc %r0 %r1
767 ldxi_ui %r2 %r1 1
768 lshi %r2 %r2 8
769 orr %r0 %r0 %r2
770 ldxi_c %r2 %r1 5
771 lshi %r2 %r2 40
772# else
773 ldr_c %r0 %r1
774 lshi %r0 %r0 40
775 ldxi_ui %r2 %r1 1
776 lshi %r2 %r2 8
777 orr %r0 %r0 %r2
778 ldxi_uc %r2 %r1 5
779# endif
780 jmpi ld6_or
781ld6_un3:
782# if __BYTE_ORDER == __LITTLE_ENDIAN
783 ldr_uc %r0 %r1
784 ldxi_us %r2 %r1 1
785 lshi %r2 %r2 8
786 orr %r0 %r0 %r2
787 ldxi_us %r2 %r1 3
788 lshi %r2 %r2 24
789 orr %r0 %r0 %r2
790 ldxi_c %r2 %r1 5
791 lshi %r2 %r2 40
792# else
793 ldr_c %r0 %r1
794 lshi %r0 %r0 40
795 ldxi_us %r2 %r1 1
796 lshi %r2 %r2 24
797 orr %r0 %r0 %r2
798 ldxi_us %r2 %r1 3
799 lshi %r2 %r2 8
800 orr %r0 %r0 %r2
801 ldxi_uc %r2 %r1 5
802# endif
803ld6_or:
804 orr %r0 %r0 %r2
805 retr %r0
806 epilog
807
808ld6u:
809 prolog
810 arg $addr
811 getarg %r1 $addr
812 andi %r2 %r1 -4
813 bner ld6u_un4 %r1 %r2
814# if __BYTE_ORDER == __LITTLE_ENDIAN
815 ldr_ui %r0 %r1
816 ldxi_us %r2 %r1 4
817 lshi %r2 %r2 32
818# else
819 ldr_ui %r0 %r1
820 lshi %r0 %r0 16
821 ldxi_us %r2 %r1 4
822# endif
823 jmpi ld6u_or
824ld6u_un4:
825 andi %r2 %r1 -2
826 bner ld6u_un2 %r1 %r2
827# if __BYTE_ORDER == __LITTLE_ENDIAN
828 ldr_us %r0 %r1
829 ldxi_ui %r2 %r1 2
830 lshi %r2 %r2 16
831# else
832 ldr_us %r0 %r1
833 lshi %r0 %r0 32
834 ldxi_ui %r2 %r1 2
835# endif
836 jmpi ld6u_or
837ld6u_un2:
838 andi %r2 %r1 3
839 bnei ld6u_un3 %r2 3
840# if __BYTE_ORDER == __LITTLE_ENDIAN
841 ldr_uc %r0 %r1
842 ldxi_ui %r2 %r1 1
843 lshi %r2 %r2 8
844 orr %r0 %r0 %r2
845 ldxi_uc %r2 %r1 5
846 lshi %r2 %r2 40
847# else
848 ldr_uc %r0 %r1
849 lshi %r0 %r0 40
850 ldxi_ui %r2 %r1 1
851 lshi %r2 %r2 8
852 orr %r0 %r0 %r2
853 ldxi_uc %r2 %r1 5
854# endif
855 jmpi ld6u_or
856ld6u_un3:
857# if __BYTE_ORDER == __LITTLE_ENDIAN
858 ldr_uc %r0 %r1
859 ldxi_us %r2 %r1 1
860 lshi %r2 %r2 8
861 orr %r0 %r0 %r2
862 ldxi_us %r2 %r1 3
863 lshi %r2 %r2 24
864 orr %r0 %r0 %r2
865 ldxi_uc %r2 %r1 5
866 lshi %r2 %r2 40
867# else
868 ldr_uc %r0 %r1
869 lshi %r0 %r0 40
870 ldxi_us %r2 %r1 1
871 lshi %r2 %r2 24
872 orr %r0 %r0 %r2
873 ldxi_us %r2 %r1 3
874 lshi %r2 %r2 8
875 orr %r0 %r0 %r2
876 ldxi_uc %r2 %r1 5
877# endif
878ld6u_or:
879 orr %r0 %r0 %r2
880 retr %r0
881 epilog
882
883ld7:
884 prolog
885 arg $addr
886 getarg %r1 $addr
887 andi %r2 %r1 -4
888 bner ld7_un4 %r1 %r2
889# if __BYTE_ORDER == __LITTLE_ENDIAN
890 ldr_ui %r0 %r1
891 ldxi_i %r2 %r1 4
892 lshi %r2 %r2 40
893 rshi %r2 %r2 8
894# else
895 ldr_i %r0 %r1
896 lshi %r0 %r0 24
897 ldxi_ui %r2 %r1 4
898 rshi %r2 %r2 8
899# endif
900 jmpi ld7_or
901ld7_un4:
902 andi %r2 %r1 -2
903 bner ld7_un2 %r1 %r2
904# if __BYTE_ORDER == __LITTLE_ENDIAN
905 ldr_us %r0 %r1
906 ldxi_ui %r2 %r1 2
907 lshi %r2 %r2 16
908 orr %r0 %r0 %r2
909 ldxi_c %r2 %r1 6
910 lshi %r2 %r2 48
911# else
912 ldr_s %r0 %r1
913 lshi %r0 %r0 40
914 ldxi_ui %r2 %r1 2
915 lshi %r2 %r2 8
916 orr %r0 %r0 %r2
917 ldxi_uc %r2 %r1 6
918# endif
919 jmpi ld7_or
920ld7_un2:
921 andi %r2 %r1 3
922 bnei ld7_un3 %r2 3
923# if __BYTE_ORDER == __LITTLE_ENDIAN
924 ldr_uc %r0 %r1
925 ldxi_ui %r2 %r1 1
926 lshi %r2 %r2 8
927 orr %r0 %r0 %r2
928 ldxi_s %r2 %r1 5
929 lshi %r2 %r2 40
930#else
931 ldr_c %r0 %r1
932 lshi %r0 %r0 48
933 ldxi_ui %r2 %r1 1
934 lshi %r2 %r2 16
935 orr %r0 %r0 %r2
936 ldxi_us %r2 %r1 5
937# endif
938 jmpi ld7_or
939ld7_un3:
940# if __BYTE_ORDER == __LITTLE_ENDIAN
941 ldr_uc %r0 %r1
942 ldxi_us %r2 %r1 1
943 lshi %r2 %r2 8
944 orr %r0 %r0 %r2
945 ldxi_i %r2 %r1 3
946 lshi %r2 %r2 24
947# else
948 ldr_c %r0 %r1
949 lshi %r0 %r0 48
950 ldxi_us %r2 %r1 1
951 lshi %r2 %r2 32
952 orr %r0 %r0 %r2
953 ldxi_ui %r2 %r1 3
954# endif
955ld7_or:
956 orr %r0 %r0 %r2
957 retr %r0
958 epilog
959
960ld7u:
961 prolog
962 arg $addr
963 getarg %r1 $addr
964 andi %r2 %r1 -4
965 bner ld7u_un4 %r1 %r2
966# if __BYTE_ORDER == __LITTLE_ENDIAN
967 ldr_ui %r0 %r1
968 ldxi_ui %r2 %r1 4
969 lshi %r2 %r2 40
970 rshi_u %r2 %r2 8
971# else
972 ldr_ui %r0 %r1
973 lshi %r0 %r0 24
974 ldxi_ui %r2 %r1 4
975 rshi_u %r2 %r2 8
976# endif
977 jmpi ld7u_or
978ld7u_un4:
979 andi %r2 %r1 -2
980 bner ld7u_un2 %r1 %r2
981# if __BYTE_ORDER == __LITTLE_ENDIAN
982 ldr_us %r0 %r1
983 ldxi_ui %r2 %r1 2
984 lshi %r2 %r2 16
985 orr %r0 %r0 %r2
986 ldxi_uc %r2 %r1 6
987 lshi %r2 %r2 48
988# else
989 ldr_us %r0 %r1
990 lshi %r0 %r0 40
991 ldxi_ui %r2 %r1 2
992 lshi %r2 %r2 8
993 orr %r0 %r0 %r2
994 ldxi_uc %r2 %r1 6
995# endif
996 jmpi ld7u_or
997ld7u_un2:
998 andi %r2 %r1 3
999 bnei ld7u_un3 %r2 3
1000# if __BYTE_ORDER == __LITTLE_ENDIAN
1001 ldr_uc %r0 %r1
1002 ldxi_ui %r2 %r1 1
1003 lshi %r2 %r2 8
1004 orr %r0 %r0 %r2
1005 ldxi_us %r2 %r1 5
1006 lshi %r2 %r2 40
1007#else
1008 ldr_uc %r0 %r1
1009 lshi %r0 %r0 48
1010 ldxi_ui %r2 %r1 1
1011 lshi %r2 %r2 16
1012 orr %r0 %r0 %r2
1013 ldxi_us %r2 %r1 5
1014# endif
1015 jmpi ld7u_or
1016ld7u_un3:
1017# if __BYTE_ORDER == __LITTLE_ENDIAN
1018 ldr_uc %r0 %r1
1019 ldxi_us %r2 %r1 1
1020 lshi %r2 %r2 8
1021 orr %r0 %r0 %r2
1022 ldxi_ui %r2 %r1 3
1023 lshi %r2 %r2 24
1024# else
1025 ldr_uc %r0 %r1
1026 lshi %r0 %r0 48
1027 ldxi_us %r2 %r1 1
1028 lshi %r2 %r2 32
1029 orr %r0 %r0 %r2
1030 ldxi_ui %r2 %r1 3
1031# endif
1032ld7u_or:
1033 orr %r0 %r0 %r2
1034 retr %r0
1035 epilog
1036
1037ld8:
1038 prolog
1039 arg $addr
1040 getarg %r1 $addr
1041 andi %r2 %r1 -8
1042 bner ld8_un8 %r1 %r2
1043 ldr_l %r0 %r1
1044 jmpi ld8_al
1045ld8_un8:
1046 andi %r2 %r1 -4
1047 bner ld8_un4 %r1 %r2
1048# if __BYTE_ORDER == __LITTLE_ENDIAN
1049 ldr_ui %r0 %r1
1050 ldxi_i %r2 %r1 4
1051 lshi %r2 %r2 32
1052# else
1053 ldr_i %r0 %r1
1054 ldxi_ui %r2 %r1 4
1055 lshi %r0 %r0 32
1056# endif
1057 jmpi ld8_or
1058ld8_un4:
1059 andi %r2 %r1 -2
1060 bner ld8_un2 %r1 %r2
1061# if __BYTE_ORDER == __LITTLE_ENDIAN
1062 ldr_us %r0 %r1
1063 ldxi_ui %r2 %r1 2
1064 lshi %r2 %r2 16
1065 orr %r0 %r0 %r2
1066 ldxi_s %r2 %r1 6
1067 lshi %r2 %r2 48
1068# else
1069 ldr_s %r0 %r1
1070 lshi %r0 %r0 48
1071 ldxi_ui %r2 %r1 2
1072 lshi %r2 %r2 16
1073 orr %r0 %r0 %r2
1074 ldxi_us %r2 %r1 6
1075# endif
1076 jmpi ld8_or
1077ld8_un2:
1078 andi %r2 %r1 7
1079 bnei ld8_un7 %r2 7
1080# if __BYTE_ORDER == __LITTLE_ENDIAN
1081 ldr_uc %r0 %r1
1082 ldxi_l %r2 %r1 1
1083 lshi %r2 %r2 8
1084# else
1085 ldr_c %r0 %r1
1086 ldxi_l %r2 %r1 1
1087 rshi_u %r2 %r2 8
1088 lshi %r0 %r0 56
1089# endif
1090 jmpi ld8_or
1091ld8_un7:
1092 bnei ld8_un6 %r2 6
1093# if __BYTE_ORDER == __LITTLE_ENDIAN
1094 ldr_us %r0 %r1
1095 ldxi_l %r2 %r1 2
1096 lshi %r2 %r2 16
1097# else
1098 ldr_s %r0 %r1
1099 lshi %r0 %r0 48
1100 ldxi_l %r2 %r1 2
1101 rshi_u %r2 %r2 16
1102# endif
1103 jmpi ld8_or
1104ld8_un6:
1105 bnei ld8_un5 %r2 5
1106# if __BYTE_ORDER == __LITTLE_ENDIAN
1107 ldxi_ui %r0 %r1 -1
1108 rshi_u %r0 %r0 8
1109 ldxi_ui %r2 %r1 3
1110 lshi %r2 %r2 24
1111 orr %r0 %r0 %r2
1112 ldxi_c %r2 %r1 7
1113 lshi %r2 %r2 56
1114# else
1115 ldxi_i %r0 %r1 -1
1116 lshi %r0 %r0 40
1117 ldxi_ui %r2 %r1 3
1118 lshi %r2 %r2 8
1119 orr %r0 %r0 %r2
1120 ldxi_uc %r2 %r1 7
1121# endif
1122 jmpi ld8_or
1123ld8_un5:
1124 bnei ld8_un3 %r2 3
1125# if __BYTE_ORDER == __LITTLE_ENDIAN
1126 ldr_uc %r0 %r1
1127 ldxi_ui %r2 %r1 1
1128 lshi %r2 %r2 8
1129 orr %r0 %r0 %r2
1130 ldxi_i %r2 %r1 5
1131 lshi %r2 %r2 40
1132# else
1133 ldr_c %r0 %r1
1134 lshi %r0 %r0 56
1135 ldxi_ui %r2 %r1 1
1136 lshi %r2 %r2 24
1137 orr %r0 %r0 %r2
1138 ldxi_ui %r2 %r1 5
1139 rshi_u %r2 %r2 8
1140# endif
1141 jmpi ld8_or
1142ld8_un3:
1143# if __BYTE_ORDER == __LITTLE_ENDIAN
1144 ldr_uc %r0 %r1
1145 ldxi_us %r2 %r1 1
1146 lshi %r2 %r2 8
1147 orr %r0 %r0 %r2
1148 ldxi_ui %r2 %r1 3
1149 lshi %r2 %r2 24
1150 orr %r0 %r0 %r2
1151 ldxi_c %r2 %r1 7
1152 lshi %r2 %r2 56
1153# else
1154 ldr_c %r0 %r1
1155 lshi %r0 %r0 56
1156 ldxi_us %r2 %r1 1
1157 lshi %r2 %r2 40
1158 orr %r0 %r0 %r2
1159 ldxi_ui %r2 %r1 3
1160 lshi %r2 %r2 8
1161 orr %r0 %r0 %r2
1162 ldxi_uc %r2 %r1 7
1163# endif
1164ld8_or:
1165 orr %r0 %r0 %r2
1166ld8_al:
1167 retr %r0
1168 epilog
1169#endif
1170
1171st2:
1172 prolog
1173 arg $addr
1174 arg $value
1175 getarg %r1 $addr
1176 getarg %r0 $value
1177 andi %r2 %r1 -2
1178 bner st2_un2 %r2 %r1
1179 str_s %r1 %r0
1180 jmpi st2_al
1181st2_un2:
1182#if __BYTE_ORDER == __LITTLE_ENDIAN
1183 str_c %r1 %r0
1184 rshi_u %r0 %r0 8
1185 stxi_c 1 %r1 %r0
1186#else
1187 stxi_c 1 %r1 %r0
1188 rshi_u %r0 %r0 8
1189 str_c %r1 %r0
1190#endif
1191st2_al:
1192 ret
1193 epilog
1194
1195st3:
1196 prolog
1197 arg $addr
1198 arg $value
1199 getarg %r1 $addr
1200 getarg %r0 $value
1201 andi %r2 %r1 -2
1202 bner st3_un2 %r2 %r1
1203# if __BYTE_ORDER == __LITTLE_ENDIAN
1204 str_s %r1 %r0
1205 rshi %r0 %r0 16
1206 stxi_c 2 %r1 %r0
1207# else
1208 stxi_c 2 %r1 %r0
1209 rshi %r0 %r0 8
1210 str_s %r1 %r0
1211# endif
1212 jmpi st3_al
1213st3_un2:
1214# if __BYTE_ORDER == __LITTLE_ENDIAN
1215 str_c %r1 %r0
1216 rshi %r0 %r0 8
1217 stxi_s 1 %r1 %r0
1218# else
1219 stxi_s 1 %r1 %r0
1220 rshi %r0 %r0 16
1221 str_c %r1 %r0
1222# endif
1223st3_al:
1224 ret
1225 epilog
1226
1227st4:
1228 prolog
1229 arg $addr
1230 arg $value
1231 getarg %r1 $addr
1232 getarg %r0 $value
1233 andi %r2 %r1 -4
1234 bner st4_un4 %r2 %r1
1235 str_i %r1 %r0
1236 jmpi st4_al
1237st4_un4:
1238 andi %r2 %r1 -2
1239 bner st4_un2 %r2 %r1
1240# if __BYTE_ORDER == __LITTLE_ENDIAN
1241 str_s %r1 %r0
1242 rshi %r0 %r0 16
1243 stxi_s 2 %r1 %r0
1244# else
1245 stxi_s 2 %r1 %r0
1246 rshi %r0 %r0 16
1247 str_s %r1 %r0
1248# endif
1249 jmpi st4_al
1250st4_un2:
1251# if __BYTE_ORDER == __LITTLE_ENDIAN
1252 str_c %r1 %r0
1253 rshi %r0 %r0 8
1254 stxi_s 1 %r1 %r0
1255 rshi %r0 %r0 16
1256 stxi_c 3 %r1 %r0
1257# else
1258 stxi_c 3 %r1 %r0
1259 rshi %r0 %r0 8
1260 stxi_s 1 %r1 %r0
1261 rshi %r0 %r0 16
1262 str_c %r1 %r0
1263# endif
1264st4_al:
1265 ret
1266 epilog
1267
1268#if __WORDSIZE == 64
1269st5:
1270 prolog
1271 arg $addr
1272 arg $value
1273 getarg %r1 $addr
1274 getarg %r0 $value
1275 andi %r2 %r1 3
1276 bnei st5_un3 %r2 3
1277# if __BYTE_ORDER == __LITTLE_ENDIAN
1278 str_c %r1 %r0
1279 rshi %r0 %r0 8
1280 stxi_i 1 %r1 %r0
1281# else
1282 stxi_i 1 %r1 %r0
1283 rshi %r0 %r0 32
1284 str_c %r1 %r0
1285# endif
1286 jmpi st5_al
1287st5_un3:
1288 bnei st5_un2 %r2 2
1289# if __BYTE_ORDER == __LITTLE_ENDIAN
1290 str_s %r1 %r0
1291 rshi %r0 %r0 16
1292 stxi_s 2 %r1 %r0
1293 rshi %r0 %r0 16
1294 stxi_c 4 %r1 %r0
1295# else
1296 stxi_c 4 %r1 %r0
1297 rshi %r0 %r0 8
1298 stxi_s 2 %r1 %r0
1299 rshi %r0 %r0 16
1300 str_s %r1 %r0
1301# endif
1302 jmpi st5_al
1303st5_un2:
1304 bnei st5_un1 %r2 1
1305# if __BYTE_ORDER == __LITTLE_ENDIAN
1306 str_c %r1 %r0
1307 rshi %r0 %r0 8
1308 stxi_s 1 %r1 %r0
1309 rshi %r0 %r0 16
1310 stxi_s 3 %r1 %r0
1311# else
1312 stxi_s 3 %r1 %r0
1313 rshi %r0 %r0 16
1314 stxi_s 1 %r1 %r0
1315 rshi %r0 %r0 16
1316 str_c %r1 %r0
1317# endif
1318 jmpi st5_al
1319st5_un1:
1320# if __BYTE_ORDER == __LITTLE_ENDIAN
1321 str_i %r1 %r0
1322 rshi %r0 %r0 32
1323 stxi_c 4 %r1 %r0
1324# else
1325 stxi_c 4 %r1 %r0
1326 rshi %r0 %r0 8
1327 str_i %r1 %r0
1328# endif
1329st5_al:
1330 ret
1331 epilog
1332
1333st6:
1334 prolog
1335 arg $addr
1336 arg $value
1337 getarg %r1 $addr
1338 getarg %r0 $value
1339 andi %r2 %r1 3
1340 bnei st6_un3 %r2 3
1341# if __BYTE_ORDER == __LITTLE_ENDIAN
1342 str_c %r1 %r0
1343 rshi %r0 %r0 8
1344 stxi_i 1 %r1 %r0
1345 rshi %r0 %r0 32
1346 stxi_c 5 %r1 %r0
1347# else
1348 stxi_c 5 %r1 %r0
1349 rshi %r0 %r0 8
1350 stxi_i 1 %r1 %r0
1351 rshi %r0 %r0 32
1352 str_c %r1 %r0
1353# endif
1354 jmpi st6_al
1355st6_un3:
1356 bnei st6_un2 %r2 2
1357# if __BYTE_ORDER == __LITTLE_ENDIAN
1358 str_s %r1 %r0
1359 rshi %r0 %r0 16
1360 stxi_s 2 %r1 %r0
1361 rshi %r0 %r0 16
1362 stxi_s 4 %r1 %r0
1363# else
1364 stxi_s 4 %r1 %r0
1365 rshi %r0 %r0 16
1366 stxi_s 2 %r1 %r0
1367 rshi %r0 %r0 16
1368 str_s %r1 %r0
1369# endif
1370 jmpi st6_al
1371st6_un2:
1372 bnei st6_un1 %r2 1
1373# if __BYTE_ORDER == __LITTLE_ENDIAN
1374 str_c %r1 %r0
1375 rshi %r0 %r0 8
1376 stxi_s 1 %r1 %r0
1377 rshi %r0 %r0 16
1378 stxi_s 3 %r1 %r0
1379 rshi %r0 %r0 16
1380 stxi_c 5 %r1 %r0
1381# else
1382 stxi_c 5 %r1 %r0
1383 rshi %r0 %r0 8
1384 stxi_s 3 %r1 %r0
1385 rshi %r0 %r0 16
1386 stxi_s 1 %r1 %r0
1387 rshi %r0 %r0 16
1388 str_c %r1 %r0
1389# endif
1390 jmpi st6_al
1391st6_un1:
1392# if __BYTE_ORDER == __LITTLE_ENDIAN
1393 str_i %r1 %r0
1394 rshi %r0 %r0 32
1395 stxi_s 4 %r1 %r0
1396# else
1397 stxi_s 4 %r1 %r0
1398 rshi %r0 %r0 16
1399 str_i %r1 %r0
1400# endif
1401st6_al:
1402 ret
1403 epilog
1404
1405st7:
1406 prolog
1407 arg $addr
1408 arg $value
1409 getarg %r1 $addr
1410 getarg %r0 $value
1411 andi %r2 %r1 3
1412 bnei st7_un3 %r2 3
1413# if __BYTE_ORDER == __LITTLE_ENDIAN
1414 str_c %r1 %r0
1415 rshi %r0 %r0 8
1416 stxi_i 1 %r1 %r0
1417 rshi %r0 %r0 32
1418 stxi_s 5 %r1 %r0
1419# else
1420 stxi_s 5 %r1 %r0
1421 rshi %r0 %r0 16
1422 stxi_i 1 %r1 %r0
1423 rshi %r0 %r0 32
1424 str_c %r1 %r0
1425# endif
1426 jmpi st7_al
1427st7_un3:
1428 bnei st7_un2 %r2 2
1429# if __BYTE_ORDER == __LITTLE_ENDIAN
1430 str_s %r1 %r0
1431 rshi %r0 %r0 16
1432 stxi_i 2 %r1 %r0
1433 rshi %r0 %r0 32
1434 stxi_c 6 %r1 %r0
1435# else
1436 stxi_c 6 %r1 %r0
1437 rshi %r0 %r0 8
1438 stxi_i 2 %r1 %r0
1439 rshi %r0 %r0 32
1440 str_s %r1 %r0
1441# endif
1442 jmpi st7_al
1443st7_un2:
1444 bnei st7_un1 %r2 1
1445# if __BYTE_ORDER == __LITTLE_ENDIAN
1446 str_c %r1 %r0
1447 rshi %r0 %r0 8
1448 stxi_s 1 %r1 %r0
1449 rshi %r0 %r0 16
1450 stxi_i 3 %r1 %r0
1451# else
1452 stxi_i 3 %r1 %r0
1453 rshi %r0 %r0 32
1454 stxi_s 1 %r1 %r0
1455 rshi %r0 %r0 16
1456 str_c %r1 %r0
1457# endif
1458 jmpi st7_al
1459st7_un1:
1460# if __BYTE_ORDER == __LITTLE_ENDIAN
1461 str_i %r1 %r0
1462 rshi %r0 %r0 32
1463 stxi_s 4 %r1 %r0
1464 rshi %r0 %r0 16
1465 stxi_c 6 %r1 %r0
1466# else
1467 stxi_c 6 %r1 %r0
1468 rshi %r0 %r0 8
1469 stxi_s 4 %r1 %r0
1470 rshi %r0 %r0 16
1471 str_i %r1 %r0
1472# endif
1473st7_al:
1474 ret
1475 epilog
1476
1477st8:
1478 prolog
1479 arg $addr
1480 arg $value
1481 getarg %r1 $addr
1482 getarg %r0 $value
1483 andi %r2 %r1 -8
1484 bner st8_un8 %r2 %r1
1485 str_l %r1 %r0
1486 jmpi st8_al
1487st8_un8:
1488 andi %r2 %r1 -4
1489 bner st8_un4 %r2 %r1
1490# if __BYTE_ORDER == __LITTLE_ENDIAN
1491 str_i %r1 %r0
1492 rshi %r0 %r0 32
1493 stxi_i 4 %r1 %r0
1494# else
1495 stxi_i 4 %r1 %r0
1496 rshi %r0 %r0 32
1497 str_i %r1 %r0
1498# endif
1499 jmpi st8_al
1500st8_un4:
1501 andi %r2 %r1 -2
1502 bner st8_un2 %r2 %r1
1503# if __BYTE_ORDER == __LITTLE_ENDIAN
1504 str_s %r1 %r0
1505 rshi %r0 %r0 16
1506 stxi_i 2 %r1 %r0
1507 rshi %r0 %r0 32
1508 stxi_s 6 %r1 %r0
1509# else
1510 stxi_s 6 %r1 %r0
1511 rshi %r0 %r0 16
1512 stxi_i 2 %r1 %r0
1513 rshi %r0 %r0 32
1514 str_s %r1 %r0
1515# endif
1516 jmpi st8_al
1517st8_un2:
1518 andi %r2 %r1 3
1519 bnei st8_un3 %r2 3
1520# if __BYTE_ORDER == __LITTLE_ENDIAN
1521 str_c %r1 %r0
1522 rshi %r0 %r0 8
1523 stxi_i 1 %r1 %r0
1524 rshi %r0 %r0 32
1525 stxi_s 5 %r1 %r0
1526 rshi %r0 %r0 16
1527 stxi_c 7 %r1 %r0
1528# else
1529 stxi_c 7 %r1 %r0
1530 rshi %r0 %r0 8
1531 stxi_s 5 %r1 %r0
1532 rshi %r0 %r0 16
1533 stxi_i 1 %r1 %r0
1534 rshi %r0 %r0 32
1535 str_c %r1 %r0
1536# endif
1537 jmpi st8_al
1538st8_un3:
1539# if __BYTE_ORDER == __LITTLE_ENDIAN
1540 str_c %r1 %r0
1541 rshi %r0 %r0 8
1542 stxi_s 1 %r1 %r0
1543 rshi %r0 %r0 16
1544 stxi_i 3 %r1 %r0
1545 rshi %r0 %r0 32
1546 stxi_c 7 %r1 %r0
1547# else
1548 stxi_c 7 %r1 %r0
1549 rshi %r0 %r0 8
1550 stxi_i 3 %r1 %r0
1551 rshi %r0 %r0 32
1552 stxi_s 1 %r1 %r0
1553 rshi %r0 %r0 16
1554 str_c %r1 %r0
1555# endif
1556st8_al:
1557 ret
1558 epilog
1559#endif
1560
1561unld:
1562 prolog
1563 arg $base
1564 arg $size
1565 getarg %v0 $base
1566 getarg %v1 $size
1567 bnei unld2 %v1 1
1568 ldr_c %r0 %v0
1569 jmpi unld_done
1570unld2:
1571 bnei unld3 %v1 2
1572 prepare
1573 pushargr %v0
1574 finishi ld2
1575 retval %r0
1576 jmpi unld_done
1577unld3:
1578 bnei unld4 %v1 3
1579 prepare
1580 pushargr %v0
1581 finishi ld3
1582 retval %r0
1583 jmpi unld_done
1584unld4:
1585#if __WORDSIZE == 64
1586 bnei unld5 %v1 4
1587#else
1588 bnei unld_fail %v1 4
1589#endif
1590 prepare
1591 pushargr %v0
1592 finishi ld4
1593 retval %r0
1594 jmpi unld_done
1595#if __WORDSIZE == 64
1596unld5:
1597 bnei unld6 %v1 5
1598 prepare
1599 pushargr %v0
1600 finishi ld5
1601 retval %r0
1602 jmpi unld_done
1603unld6:
1604 bnei unld7 %v1 6
1605 prepare
1606 pushargr %v0
1607 finishi ld6
1608 retval %r0
1609 jmpi unld_done
1610unld7:
1611 bnei unld8 %v1 7
1612 prepare
1613 pushargr %v0
1614 finishi ld7
1615 retval %r0
1616 jmpi unld_done
1617unld8:
1618 bnei unld_fail %v1 8
1619 prepare
1620 pushargr %v0
1621 finishi ld8
1622 retval %r0
1623#endif
1624unld_done:
1625 retr %r0
1626unld_fail:
1627 calli @abort
1628 epilog
1629
1630unld_u:
1631 prolog
1632 arg $base
1633 arg $size
1634 getarg %v0 $base
1635 getarg %v1 $size
1636 bnei unld_u2 %v1 1
1637 ldr_uc %r0 %v0
1638 jmpi unld_done
1639unld_u2:
1640 bnei unld_u3 %v1 2
1641 prepare
1642 pushargr %v0
1643 finishi ld2u
1644 retval %r0
1645 jmpi unld_u_done
1646unld_u3:
1647 bnei unld_u4 %v1 3
1648 prepare
1649 pushargr %v0
1650 finishi ld3u
1651 retval %r0
1652 jmpi unld_u_done
1653unld_u4:
1654#if __WORDSIZE == 64
1655 bnei unld_u5 %v1 4
1656#else
1657 bnei unld_fail %v1 4
1658#endif
1659 prepare
1660 pushargr %v0
1661#if __WORDSIZE == 32
1662 finishi ld4
1663#else
1664 finishi ld4u
1665#endif
1666 retval %r0
1667 jmpi unld_u_done
1668#if __WORDSIZE == 64
1669unld_u5:
1670 bnei unld_u6 %v1 5
1671 prepare
1672 pushargr %v0
1673 finishi ld5u
1674 retval %r0
1675 jmpi unld_u_done
1676unld_u6:
1677 bnei unld_u7 %v1 6
1678 prepare
1679 pushargr %v0
1680 finishi ld6u
1681 retval %r0
1682 jmpi unld_u_done
1683unld_u7:
1684 bnei unld_u8 %v1 7
1685 prepare
1686 pushargr %v0
1687 finishi ld7u
1688 retval %r0
1689 jmpi unld_u_done
1690unld_u8:
1691 bnei unld_u_fail %v1 8
1692 prepare
1693 pushargr %v0
1694 finishi ld8
1695 retval %r0
1696#endif
1697unld_u_done:
1698 retr %r0
1699unld_u_fail:
1700 calli @abort
1701 epilog
1702
1703unst:
1704 prolog
1705 arg $base
1706 arg $data
1707 arg $size
1708 getarg %v0 $base
1709 getarg %v2 $data
1710 getarg %v1 $size
1711 bnei unst2 %v1 1
1712 str_c %v0 %v2
1713 jmpi unst_done
1714unst2:
1715 bnei unst3 %v1 2
1716 prepare
1717 pushargr %v0
1718 pushargr %v2
1719 finishi st2
1720 jmpi unst_done
1721unst3:
1722 bnei unst4 %v1 3
1723 prepare
1724 pushargr %v0
1725 pushargr %v2
1726 finishi st3
1727 jmpi unst_done
1728unst4:
1729#if __WORDSIZE == 64
1730 bnei unst5 %v1 4
1731#else
1732 bnei unst_fail %v1 4
1733#endif
1734 prepare
1735 pushargr %v0
1736 pushargr %v2
1737 finishi st4
1738#if __WORDSIZE == 64
1739 jmpi unst_done
1740unst5:
1741 bnei unst6 %v1 5
1742 prepare
1743 pushargr %v0
1744 pushargr %v2
1745 finishi st5
1746 jmpi unst_done
1747unst6:
1748 bnei unst7 %v1 6
1749 prepare
1750 pushargr %v0
1751 pushargr %v2
1752 finishi st6
1753 jmpi unst_done
1754unst7:
1755 bnei unst8 %v1 7
1756 prepare
1757 pushargr %v0
1758 pushargr %v2
1759 finishi st7
1760 jmpi unst_done
1761unst8:
1762 bnei unst_fail %v1 8
1763 prepare
1764 pushargr %v0
1765 pushargr %v2
1766 finishi st8
1767#endif
1768unst_done:
1769 ret
1770unst_fail:
1771 calli @abort
1772 epilog
1773
1774main:
1775 prolog
1776#if GENTABLE
1777 movi %v0 buf0
1778out_loop_ld:
1779 movi %v1 GVAL
1780 movi %v2 1
1781loop_ld:
1782 prepare
1783 pushargr %v0
1784 pushargr %v2
1785 finishi unld
1786 retval %r0
1787 subi %r2 %v0 buf0
1788 prepare
1789 pushargi fmt_ld
1790 ellipsis
1791 pushargi sUNLD
1792 pushargr %r2
1793 pushargr %v2
1794 pushargr %r0
1795 finishi @printf
1796 addi %v2 %v2 1
1797 blei loop_ld %v2 $(__WORDSIZE >> 3)
1798 addi %v0 %v0 1
1799 subi %r2 %v0 buf0
1800 blti out_loop_ld %r2 $(__WORDSIZE >> 3)
1801
1802 movi %v0 buf0
1803out_loop_ldu:
1804 movi %v2 1
1805loop_ldu:
1806 prepare
1807 pushargr %v0
1808 pushargr %v2
1809 finishi unld_u
1810 retval %r0
1811 subi %r2 %v0 buf0
1812 prepare
1813 pushargi fmt_ld
1814 ellipsis
1815 pushargi sUNLDU
1816 pushargr %r2
1817 pushargr %v2
1818 pushargr %r0
1819 finishi @printf
1820 addi %v2 %v2 1
1821 blei loop_ldu %v2 $(__WORDSIZE >> 3)
1822 addi %v0 %v0 1
1823 subi %r2 %v0 buf0
1824 blti out_loop_ldu %r2 $(__WORDSIZE >> 3)
1825
1826 movi %v0 str0
1827out_loop_st:
1828 movi %v2 1
1829loop_st:
1830 movi %r0 str0
1831 movi %r1 0
1832 str %r0 %r1
1833 stxi $(__WORDSIZE >> 3) %r0 %r1
1834 prepare
1835 pushargr %v0
1836 pushargr %v1
1837 pushargr %v2
1838 finishi unst
1839 movi %r2 str0
1840 ldr %r0 %r2
1841 ldxi %r1 %r2 $(__WORDSIZE >> 3)
1842 subi %r2 %v0 str0
1843 prepare
1844 pushargi fmt_st
1845 ellipsis
1846 pushargr %r2
1847 pushargr %v2
1848 pushargr %r0
1849 pushargr %r1
1850 finishi @printf
1851 addi %v2 %v2 1
1852 blei loop_st %v2 $(__WORDSIZE >> 3)
1853 addi %v0 %v0 1
1854 subi %r2 %v0 str0
1855 blti out_loop_st %r2 $(__WORDSIZE >> 3)
1856
1857 /* Do complex operations to also ensure sample fallbacks are correct */
1858 movi %v0 str0
1859 movi %v1 0
1860loop_f:
1861 movi %r2 str0
1862 movi %r1 0
1863 str %r2 %r1
1864 stxi $(__WORDSIZE >> 3) %r2 %r1
1865 movi_f %f0 FVAL
1866 sti_f cvt %f0
1867 ldi_i %r0 cvt
1868 prepare
1869 pushargr %v0
1870 pushargr %r0
1871 finishi st4
1872 prepare
1873 pushargr %v0
1874 finishi ld4
1875 retval %r0
1876 sti_i cvt %r0
1877 ldi_f %f0 cvt
1878 extr_f_d %f0 %f0
1879 prepare
1880 pushargi fmt_ldf
1881 ellipsis
1882 pushargr %v1
1883 pushargr_d %f0
1884 finishi @printf
1885 addi %v0 %v0 1
1886 addi %v1 %v1 1
1887 blei loop_f %v1 4
1888
1889 movi %v0 str0
1890 movi %v1 0
1891loop_d:
1892 movi %r2 str0
1893 movi %r1 0
1894 str %r2 %r1
1895 stxi $(__WORDSIZE >> 3) %r2 %r1
1896 movi_d %f0 DVAL
1897 sti_d cvt %f0
1898# if __WORDSIZE == 32
1899 movi %r0 cvt
1900# if __BYTE_ORDER == __BIG_ENDIAN
1901 addi %r0 %r0 4
1902# endif
1903 ldr %r0 %r0
1904 prepare
1905 pushargr %v0
1906 pushargr %r0
1907 finishi st4
1908 prepare
1909 pushargr %v0
1910 finishi ld4
1911 retval %v2
1912 movi %r0 cvt
1913# if __BYTE_ORDER == __LITTLE_ENDIAN
1914 addi %r0 %r0 4
1915# endif
1916 ldr %r0 %r0
1917 prepare
1918 pushargr %v0
1919 pushargr %r0
1920 finishi st4
1921 prepare
1922 pushargr %v0
1923 finishi ld4
1924 retval %r0
1925 movi %r1 cvt
1926# if __BYTE_ORDER == __LITTLE_ENDIAN
1927 str %r1 %v1
1928 stxi 4 %r1 %r0
1929# else
1930 str %r1 %r0
1931 stxi 4 %r1 %v1
1932# endif
1933# else
1934 ldi %r0 cvt
1935 prepare
1936 pushargr %v0
1937 pushargr %r0
1938 finishi st8
1939 prepare
1940 pushargr %v0
1941 finishi ld8
1942 retval %r0
1943 sti cvt %r0
1944# endif
1945 ldi_d %f0 cvt
1946 prepare
1947 pushargi fmt_ldd
1948 ellipsis
1949 pushargr %v1
1950 pushargr_d %f0
1951 finishi @printf
1952 addi %v0 %v0 1
1953 addi %v1 %v1 1
1954 blei loop_d %v1 8
1955#else
1956
1957# if __WORDSIZE == 32
1958# if __BYTE_ORDER == __LITTLE_ENDIAN
1959 UNLD(buf0, 1, 0xffffff80)
1960 UNLD(buf0, 2, 0xffff8180)
1961 UNLD(buf0, 3, 0xff828180)
1962 UNLD(buf0, 4, 0x83828180)
1963 UNLD(buf1, 1, 0xffffff81)
1964 UNLD(buf1, 2, 0xffff8281)
1965 UNLD(buf1, 3, 0xff838281)
1966 UNLD(buf1, 4, 0x84838281)
1967 UNLD(buf2, 1, 0xffffff82)
1968 UNLD(buf2, 2, 0xffff8382)
1969 UNLD(buf2, 3, 0xff848382)
1970 UNLD(buf2, 4, 0x85848382)
1971 UNLD(buf3, 1, 0xffffff83)
1972 UNLD(buf3, 2, 0xffff8483)
1973 UNLD(buf3, 3, 0xff858483)
1974 UNLD(buf3, 4, 0x86858483)
1975 UNLDU(buf0, 1, 0x00000080)
1976 UNLDU(buf0, 2, 0x00008180)
1977 UNLDU(buf0, 3, 0x00828180)
1978 UNLDU(buf0, 4, 0x83828180)
1979 UNLDU(buf1, 1, 0x00000081)
1980 UNLDU(buf1, 2, 0x00008281)
1981 UNLDU(buf1, 3, 0x00838281)
1982 UNLDU(buf1, 4, 0x84838281)
1983 UNLDU(buf2, 1, 0x00000082)
1984 UNLDU(buf2, 2, 0x00008382)
1985 UNLDU(buf2, 3, 0x00848382)
1986 UNLDU(buf2, 4, 0x85848382)
1987 UNLDU(buf3, 1, 0x00000083)
1988 UNLDU(buf3, 2, 0x00008483)
1989 UNLDU(buf3, 3, 0x00858483)
1990 UNLDU(buf3, 4, 0x86858483)
1991 UNST(str0, 1, 0x00000098, 0x00000000)
1992 UNST(str0, 2, 0x0000ba98, 0x00000000)
1993 UNST(str0, 3, 0x00dcba98, 0x00000000)
1994 UNST(str0, 4, 0xfedcba98, 0x00000000)
1995 UNST(str1, 1, 0x00009800, 0x00000000)
1996 UNST(str1, 2, 0x00ba9800, 0x00000000)
1997 UNST(str1, 3, 0xdcba9800, 0x00000000)
1998 UNST(str1, 4, 0xdcba9800, 0x000000fe)
1999 UNST(str2, 1, 0x00980000, 0x00000000)
2000 UNST(str2, 2, 0xba980000, 0x00000000)
2001 UNST(str2, 3, 0xba980000, 0x000000dc)
2002 UNST(str2, 4, 0xba980000, 0x0000fedc)
2003 UNST(str3, 1, 0x98000000, 0x00000000)
2004 UNST(str3, 2, 0x98000000, 0x000000ba)
2005 UNST(str3, 3, 0x98000000, 0x0000dcba)
2006 UNST(str3, 4, 0x98000000, 0x00fedcba)
2007# else
2008 UNLD(buf0, 1, 0xffffff80)
2009 UNLD(buf0, 2, 0xffff8081)
2010 UNLD(buf0, 3, 0xff808182)
2011 UNLD(buf0, 4, 0x80818283)
2012 UNLD(buf1, 1, 0xffffff81)
2013 UNLD(buf1, 2, 0xffff8182)
2014 UNLD(buf1, 3, 0xff818283)
2015 UNLD(buf1, 4, 0x81828384)
2016 UNLD(buf2, 1, 0xffffff82)
2017 UNLD(buf2, 2, 0xffff8283)
2018 UNLD(buf2, 3, 0xff828384)
2019 UNLD(buf2, 4, 0x82838485)
2020 UNLD(buf3, 1, 0xffffff83)
2021 UNLD(buf3, 2, 0xffff8384)
2022 UNLD(buf3, 3, 0xff838485)
2023 UNLD(buf3, 4, 0x83848586)
2024 UNLDU(buf0, 1, 0x00000080)
2025 UNLDU(buf0, 2, 0x00008081)
2026 UNLDU(buf0, 3, 0x00808182)
2027 UNLDU(buf0, 4, 0x80818283)
2028 UNLDU(buf1, 1, 0x00000081)
2029 UNLDU(buf1, 2, 0x00008182)
2030 UNLDU(buf1, 3, 0x00818283)
2031 UNLDU(buf1, 4, 0x81828384)
2032 UNLDU(buf2, 1, 0x00000082)
2033 UNLDU(buf2, 2, 0x00008283)
2034 UNLDU(buf2, 3, 0x00828384)
2035 UNLDU(buf2, 4, 0x82838485)
2036 UNLDU(buf3, 1, 0x00000083)
2037 UNLDU(buf3, 2, 0x00008384)
2038 UNLDU(buf3, 3, 0x00838485)
2039 UNLDU(buf3, 4, 0x83848586)
2040 UNST(str0, 1, 0x98000000, 0x00000000)
2041 UNST(str0, 2, 0xba980000, 0x00000000)
2042 UNST(str0, 3, 0xdcba9800, 0x00000000)
2043 UNST(str0, 4, 0xfedcba98, 0x00000000)
2044 UNST(str1, 1, 0x00980000, 0x00000000)
2045 UNST(str1, 2, 0x00ba9800, 0x00000000)
2046 UNST(str1, 3, 0x00dcba98, 0x00000000)
2047 UNST(str1, 4, 0x00fedcba, 0x98000000)
2048 UNST(str2, 1, 0x00009800, 0x00000000)
2049 UNST(str2, 2, 0x0000ba98, 0x00000000)
2050 UNST(str2, 3, 0x0000dcba, 0x98000000)
2051 UNST(str2, 4, 0x0000fedc, 0xba980000)
2052 UNST(str3, 1, 0x00000098, 0x00000000)
2053 UNST(str3, 2, 0x000000ba, 0x98000000)
2054 UNST(str3, 3, 0x000000dc, 0xba980000)
2055 UNST(str3, 4, 0x000000fe, 0xdcba9800)
2056# endif
2057
2058# else
2059# if __BYTE_ORDER == __LITTLE_ENDIAN
2060 UNLD(buf0, 1, 0xffffffffffffff80)
2061 UNLD(buf0, 2, 0xffffffffffff8180)
2062 UNLD(buf0, 3, 0xffffffffff828180)
2063 UNLD(buf0, 4, 0xffffffff83828180)
2064 UNLD(buf0, 5, 0xffffff8483828180)
2065 UNLD(buf0, 6, 0xffff858483828180)
2066 UNLD(buf0, 7, 0xff86858483828180)
2067 UNLD(buf0, 8, 0x8786858483828180)
2068 UNLD(buf1, 1, 0xffffffffffffff81)
2069 UNLD(buf1, 2, 0xffffffffffff8281)
2070 UNLD(buf1, 3, 0xffffffffff838281)
2071 UNLD(buf1, 4, 0xffffffff84838281)
2072 UNLD(buf1, 5, 0xffffff8584838281)
2073 UNLD(buf1, 6, 0xffff868584838281)
2074 UNLD(buf1, 7, 0xff87868584838281)
2075 UNLD(buf1, 8, 0x8887868584838281)
2076 UNLD(buf2, 1, 0xffffffffffffff82)
2077 UNLD(buf2, 2, 0xffffffffffff8382)
2078 UNLD(buf2, 3, 0xffffffffff848382)
2079 UNLD(buf2, 4, 0xffffffff85848382)
2080 UNLD(buf2, 5, 0xffffff8685848382)
2081 UNLD(buf2, 6, 0xffff878685848382)
2082 UNLD(buf2, 7, 0xff88878685848382)
2083 UNLD(buf2, 8, 0x8988878685848382)
2084 UNLD(buf3, 1, 0xffffffffffffff83)
2085 UNLD(buf3, 2, 0xffffffffffff8483)
2086 UNLD(buf3, 3, 0xffffffffff858483)
2087 UNLD(buf3, 4, 0xffffffff86858483)
2088 UNLD(buf3, 5, 0xffffff8786858483)
2089 UNLD(buf3, 6, 0xffff888786858483)
2090 UNLD(buf3, 7, 0xff89888786858483)
2091 UNLD(buf3, 8, 0x8a89888786858483)
2092 UNLD(buf4, 1, 0xffffffffffffff84)
2093 UNLD(buf4, 2, 0xffffffffffff8584)
2094 UNLD(buf4, 3, 0xffffffffff868584)
2095 UNLD(buf4, 4, 0xffffffff87868584)
2096 UNLD(buf4, 5, 0xffffff8887868584)
2097 UNLD(buf4, 6, 0xffff898887868584)
2098 UNLD(buf4, 7, 0xff8a898887868584)
2099 UNLD(buf4, 8, 0x8b8a898887868584)
2100 UNLD(buf5, 1, 0xffffffffffffff85)
2101 UNLD(buf5, 2, 0xffffffffffff8685)
2102 UNLD(buf5, 3, 0xffffffffff878685)
2103 UNLD(buf5, 4, 0xffffffff88878685)
2104 UNLD(buf5, 5, 0xffffff8988878685)
2105 UNLD(buf5, 6, 0xffff8a8988878685)
2106 UNLD(buf5, 7, 0xff8b8a8988878685)
2107 UNLD(buf5, 8, 0x8c8b8a8988878685)
2108 UNLD(buf6, 1, 0xffffffffffffff86)
2109 UNLD(buf6, 2, 0xffffffffffff8786)
2110 UNLD(buf6, 3, 0xffffffffff888786)
2111 UNLD(buf6, 4, 0xffffffff89888786)
2112 UNLD(buf6, 5, 0xffffff8a89888786)
2113 UNLD(buf6, 6, 0xffff8b8a89888786)
2114 UNLD(buf6, 7, 0xff8c8b8a89888786)
2115 UNLD(buf6, 8, 0x8d8c8b8a89888786)
2116 UNLD(buf7, 1, 0xffffffffffffff87)
2117 UNLD(buf7, 2, 0xffffffffffff8887)
2118 UNLD(buf7, 3, 0xffffffffff898887)
2119 UNLD(buf7, 4, 0xffffffff8a898887)
2120 UNLD(buf7, 5, 0xffffff8b8a898887)
2121 UNLD(buf7, 6, 0xffff8c8b8a898887)
2122 UNLD(buf7, 7, 0xff8d8c8b8a898887)
2123 UNLD(buf7, 8, 0x8e8d8c8b8a898887)
2124 UNLDU(buf0, 1, 0x0000000000000080)
2125 UNLDU(buf0, 2, 0x0000000000008180)
2126 UNLDU(buf0, 3, 0x0000000000828180)
2127 UNLDU(buf0, 4, 0x0000000083828180)
2128 UNLDU(buf0, 5, 0x0000008483828180)
2129 UNLDU(buf0, 6, 0x0000858483828180)
2130 UNLDU(buf0, 7, 0x0086858483828180)
2131 UNLDU(buf0, 8, 0x8786858483828180)
2132 UNLDU(buf1, 1, 0x0000000000000081)
2133 UNLDU(buf1, 2, 0x0000000000008281)
2134 UNLDU(buf1, 3, 0x0000000000838281)
2135 UNLDU(buf1, 4, 0x0000000084838281)
2136 UNLDU(buf1, 5, 0x0000008584838281)
2137 UNLDU(buf1, 6, 0x0000868584838281)
2138 UNLDU(buf1, 7, 0x0087868584838281)
2139 UNLDU(buf1, 8, 0x8887868584838281)
2140 UNLDU(buf2, 1, 0x0000000000000082)
2141 UNLDU(buf2, 2, 0x0000000000008382)
2142 UNLDU(buf2, 3, 0x0000000000848382)
2143 UNLDU(buf2, 4, 0x0000000085848382)
2144 UNLDU(buf2, 5, 0x0000008685848382)
2145 UNLDU(buf2, 6, 0x0000878685848382)
2146 UNLDU(buf2, 7, 0x0088878685848382)
2147 UNLDU(buf2, 8, 0x8988878685848382)
2148 UNLDU(buf3, 1, 0x0000000000000083)
2149 UNLDU(buf3, 2, 0x0000000000008483)
2150 UNLDU(buf3, 3, 0x0000000000858483)
2151 UNLDU(buf3, 4, 0x0000000086858483)
2152 UNLDU(buf3, 5, 0x0000008786858483)
2153 UNLDU(buf3, 6, 0x0000888786858483)
2154 UNLDU(buf3, 7, 0x0089888786858483)
2155 UNLDU(buf3, 8, 0x8a89888786858483)
2156 UNLDU(buf4, 1, 0x0000000000000084)
2157 UNLDU(buf4, 2, 0x0000000000008584)
2158 UNLDU(buf4, 3, 0x0000000000868584)
2159 UNLDU(buf4, 4, 0x0000000087868584)
2160 UNLDU(buf4, 5, 0x0000008887868584)
2161 UNLDU(buf4, 6, 0x0000898887868584)
2162 UNLDU(buf4, 7, 0x008a898887868584)
2163 UNLDU(buf4, 8, 0x8b8a898887868584)
2164 UNLDU(buf5, 1, 0x0000000000000085)
2165 UNLDU(buf5, 2, 0x0000000000008685)
2166 UNLDU(buf5, 3, 0x0000000000878685)
2167 UNLDU(buf5, 4, 0x0000000088878685)
2168 UNLDU(buf5, 5, 0x0000008988878685)
2169 UNLDU(buf5, 6, 0x00008a8988878685)
2170 UNLDU(buf5, 7, 0x008b8a8988878685)
2171 UNLDU(buf5, 8, 0x8c8b8a8988878685)
2172 UNLDU(buf6, 1, 0x0000000000000086)
2173 UNLDU(buf6, 2, 0x0000000000008786)
2174 UNLDU(buf6, 3, 0x0000000000888786)
2175 UNLDU(buf6, 4, 0x0000000089888786)
2176 UNLDU(buf6, 5, 0x0000008a89888786)
2177 UNLDU(buf6, 6, 0x00008b8a89888786)
2178 UNLDU(buf6, 7, 0x008c8b8a89888786)
2179 UNLDU(buf6, 8, 0x8d8c8b8a89888786)
2180 UNLDU(buf7, 1, 0x0000000000000087)
2181 UNLDU(buf7, 2, 0x0000000000008887)
2182 UNLDU(buf7, 3, 0x0000000000898887)
2183 UNLDU(buf7, 4, 0x000000008a898887)
2184 UNLDU(buf7, 5, 0x0000008b8a898887)
2185 UNLDU(buf7, 6, 0x00008c8b8a898887)
2186 UNLDU(buf7, 7, 0x008d8c8b8a898887)
2187 UNLDU(buf7, 8, 0x8e8d8c8b8a898887)
2188 UNST(str0, 1, 0x0000000000000010, 0x0000000000000000)
2189 UNST(str0, 2, 0x0000000000003210, 0x0000000000000000)
2190 UNST(str0, 3, 0x0000000000543210, 0x0000000000000000)
2191 UNST(str0, 4, 0x0000000076543210, 0x0000000000000000)
2192 UNST(str0, 5, 0x0000009876543210, 0x0000000000000000)
2193 UNST(str0, 6, 0x0000ba9876543210, 0x0000000000000000)
2194 UNST(str0, 7, 0x00dcba9876543210, 0x0000000000000000)
2195 UNST(str0, 8, 0xfedcba9876543210, 0x0000000000000000)
2196 UNST(str1, 1, 0x0000000000001000, 0x0000000000000000)
2197 UNST(str1, 2, 0x0000000000321000, 0x0000000000000000)
2198 UNST(str1, 3, 0x0000000054321000, 0x0000000000000000)
2199 UNST(str1, 4, 0x0000007654321000, 0x0000000000000000)
2200 UNST(str1, 5, 0x0000987654321000, 0x0000000000000000)
2201 UNST(str1, 6, 0x00ba987654321000, 0x0000000000000000)
2202 UNST(str1, 7, 0xdcba987654321000, 0x0000000000000000)
2203 UNST(str1, 8, 0xdcba987654321000, 0x00000000000000fe)
2204 UNST(str2, 1, 0x0000000000100000, 0x0000000000000000)
2205 UNST(str2, 2, 0x0000000032100000, 0x0000000000000000)
2206 UNST(str2, 3, 0x0000005432100000, 0x0000000000000000)
2207 UNST(str2, 4, 0x0000765432100000, 0x0000000000000000)
2208 UNST(str2, 5, 0x0098765432100000, 0x0000000000000000)
2209 UNST(str2, 6, 0xba98765432100000, 0x0000000000000000)
2210 UNST(str2, 7, 0xba98765432100000, 0x00000000000000dc)
2211 UNST(str2, 8, 0xba98765432100000, 0x000000000000fedc)
2212 UNST(str3, 1, 0x0000000010000000, 0x0000000000000000)
2213 UNST(str3, 2, 0x0000003210000000, 0x0000000000000000)
2214 UNST(str3, 3, 0x0000543210000000, 0x0000000000000000)
2215 UNST(str3, 4, 0x0076543210000000, 0x0000000000000000)
2216 UNST(str3, 5, 0x9876543210000000, 0x0000000000000000)
2217 UNST(str3, 6, 0x9876543210000000, 0x00000000000000ba)
2218 UNST(str3, 7, 0x9876543210000000, 0x000000000000dcba)
2219 UNST(str3, 8, 0x9876543210000000, 0x0000000000fedcba)
2220 UNST(str4, 1, 0x0000001000000000, 0x0000000000000000)
2221 UNST(str4, 2, 0x0000321000000000, 0x0000000000000000)
2222 UNST(str4, 3, 0x0054321000000000, 0x0000000000000000)
2223 UNST(str4, 4, 0x7654321000000000, 0x0000000000000000)
2224 UNST(str4, 5, 0x7654321000000000, 0x0000000000000098)
2225 UNST(str4, 6, 0x7654321000000000, 0x000000000000ba98)
2226 UNST(str4, 7, 0x7654321000000000, 0x0000000000dcba98)
2227 UNST(str4, 8, 0x7654321000000000, 0x00000000fedcba98)
2228 UNST(str5, 1, 0x0000100000000000, 0x0000000000000000)
2229 UNST(str5, 2, 0x0032100000000000, 0x0000000000000000)
2230 UNST(str5, 3, 0x5432100000000000, 0x0000000000000000)
2231 UNST(str5, 4, 0x5432100000000000, 0x0000000000000076)
2232 UNST(str5, 5, 0x5432100000000000, 0x0000000000009876)
2233 UNST(str5, 6, 0x5432100000000000, 0x0000000000ba9876)
2234 UNST(str5, 7, 0x5432100000000000, 0x00000000dcba9876)
2235 UNST(str5, 8, 0x5432100000000000, 0x000000fedcba9876)
2236 UNST(str6, 1, 0x0010000000000000, 0x0000000000000000)
2237 UNST(str6, 2, 0x3210000000000000, 0x0000000000000000)
2238 UNST(str6, 3, 0x3210000000000000, 0x0000000000000054)
2239 UNST(str6, 4, 0x3210000000000000, 0x0000000000007654)
2240 UNST(str6, 5, 0x3210000000000000, 0x0000000000987654)
2241 UNST(str6, 6, 0x3210000000000000, 0x00000000ba987654)
2242 UNST(str6, 7, 0x3210000000000000, 0x000000dcba987654)
2243 UNST(str6, 8, 0x3210000000000000, 0x0000fedcba987654)
2244 UNST(str7, 1, 0x1000000000000000, 0x0000000000000000)
2245 UNST(str7, 2, 0x1000000000000000, 0x0000000000000032)
2246 UNST(str7, 3, 0x1000000000000000, 0x0000000000005432)
2247 UNST(str7, 4, 0x1000000000000000, 0x0000000000765432)
2248 UNST(str7, 5, 0x1000000000000000, 0x0000000098765432)
2249 UNST(str7, 6, 0x1000000000000000, 0x000000ba98765432)
2250 UNST(str7, 7, 0x1000000000000000, 0x0000dcba98765432)
2251 UNST(str7, 8, 0x1000000000000000, 0x00fedcba98765432)
2252# else
2253 UNLD(buf0, 1, 0xffffffffffffff80)
2254 UNLD(buf0, 2, 0xffffffffffff8081)
2255 UNLD(buf0, 3, 0xffffffffff808182)
2256 UNLD(buf0, 4, 0xffffffff80818283)
2257 UNLD(buf0, 5, 0xffffff8081828384)
2258 UNLD(buf0, 6, 0xffff808182838485)
2259 UNLD(buf0, 7, 0xff80818283848586)
2260 UNLD(buf0, 8, 0x8081828384858687)
2261 UNLD(buf1, 1, 0xffffffffffffff81)
2262 UNLD(buf1, 2, 0xffffffffffff8182)
2263 UNLD(buf1, 3, 0xffffffffff818283)
2264 UNLD(buf1, 4, 0xffffffff81828384)
2265 UNLD(buf1, 5, 0xffffff8182838485)
2266 UNLD(buf1, 6, 0xffff818283848586)
2267 UNLD(buf1, 7, 0xff81828384858687)
2268 UNLD(buf1, 8, 0x8182838485868788)
2269 UNLD(buf2, 1, 0xffffffffffffff82)
2270 UNLD(buf2, 2, 0xffffffffffff8283)
2271 UNLD(buf2, 3, 0xffffffffff828384)
2272 UNLD(buf2, 4, 0xffffffff82838485)
2273 UNLD(buf2, 5, 0xffffff8283848586)
2274 UNLD(buf2, 6, 0xffff828384858687)
2275 UNLD(buf2, 7, 0xff82838485868788)
2276 UNLD(buf2, 8, 0x8283848586878889)
2277 UNLD(buf3, 1, 0xffffffffffffff83)
2278 UNLD(buf3, 2, 0xffffffffffff8384)
2279 UNLD(buf3, 3, 0xffffffffff838485)
2280 UNLD(buf3, 4, 0xffffffff83848586)
2281 UNLD(buf3, 5, 0xffffff8384858687)
2282 UNLD(buf3, 6, 0xffff838485868788)
2283 UNLD(buf3, 7, 0xff83848586878889)
2284 UNLD(buf3, 8, 0x838485868788898a)
2285 UNLD(buf4, 1, 0xffffffffffffff84)
2286 UNLD(buf4, 2, 0xffffffffffff8485)
2287 UNLD(buf4, 3, 0xffffffffff848586)
2288 UNLD(buf4, 4, 0xffffffff84858687)
2289 UNLD(buf4, 5, 0xffffff8485868788)
2290 UNLD(buf4, 6, 0xffff848586878889)
2291 UNLD(buf4, 7, 0xff8485868788898a)
2292 UNLD(buf4, 8, 0x8485868788898a8b)
2293 UNLD(buf5, 1, 0xffffffffffffff85)
2294 UNLD(buf5, 2, 0xffffffffffff8586)
2295 UNLD(buf5, 3, 0xffffffffff858687)
2296 UNLD(buf5, 4, 0xffffffff85868788)
2297 UNLD(buf5, 5, 0xffffff8586878889)
2298 UNLD(buf5, 6, 0xffff85868788898a)
2299 UNLD(buf5, 7, 0xff85868788898a8b)
2300 UNLD(buf5, 8, 0x85868788898a8b8c)
2301 UNLD(buf6, 1, 0xffffffffffffff86)
2302 UNLD(buf6, 2, 0xffffffffffff8687)
2303 UNLD(buf6, 3, 0xffffffffff868788)
2304 UNLD(buf6, 4, 0xffffffff86878889)
2305 UNLD(buf6, 5, 0xffffff868788898a)
2306 UNLD(buf6, 6, 0xffff868788898a8b)
2307 UNLD(buf6, 7, 0xff868788898a8b8c)
2308 UNLD(buf6, 8, 0x868788898a8b8c8d)
2309 UNLD(buf7, 1, 0xffffffffffffff87)
2310 UNLD(buf7, 2, 0xffffffffffff8788)
2311 UNLD(buf7, 3, 0xffffffffff878889)
2312 UNLD(buf7, 4, 0xffffffff8788898a)
2313 UNLD(buf7, 5, 0xffffff8788898a8b)
2314 UNLD(buf7, 6, 0xffff8788898a8b8c)
2315 UNLD(buf7, 7, 0xff8788898a8b8c8d)
2316 UNLD(buf7, 8, 0x8788898a8b8c8d8e)
2317 UNLDU(buf0, 1, 0x0000000000000080)
2318 UNLDU(buf0, 2, 0x0000000000008081)
2319 UNLDU(buf0, 3, 0x0000000000808182)
2320 UNLDU(buf0, 4, 0x0000000080818283)
2321 UNLDU(buf0, 5, 0x0000008081828384)
2322 UNLDU(buf0, 6, 0x0000808182838485)
2323 UNLDU(buf0, 7, 0x0080818283848586)
2324 UNLDU(buf0, 8, 0x8081828384858687)
2325 UNLDU(buf1, 1, 0x0000000000000081)
2326 UNLDU(buf1, 2, 0x0000000000008182)
2327 UNLDU(buf1, 3, 0x0000000000818283)
2328 UNLDU(buf1, 4, 0x0000000081828384)
2329 UNLDU(buf1, 5, 0x0000008182838485)
2330 UNLDU(buf1, 6, 0x0000818283848586)
2331 UNLDU(buf1, 7, 0x0081828384858687)
2332 UNLDU(buf1, 8, 0x8182838485868788)
2333 UNLDU(buf2, 1, 0x0000000000000082)
2334 UNLDU(buf2, 2, 0x0000000000008283)
2335 UNLDU(buf2, 3, 0x0000000000828384)
2336 UNLDU(buf2, 4, 0x0000000082838485)
2337 UNLDU(buf2, 5, 0x0000008283848586)
2338 UNLDU(buf2, 6, 0x0000828384858687)
2339 UNLDU(buf2, 7, 0x0082838485868788)
2340 UNLDU(buf2, 8, 0x8283848586878889)
2341 UNLDU(buf3, 1, 0x0000000000000083)
2342 UNLDU(buf3, 2, 0x0000000000008384)
2343 UNLDU(buf3, 3, 0x0000000000838485)
2344 UNLDU(buf3, 4, 0x0000000083848586)
2345 UNLDU(buf3, 5, 0x0000008384858687)
2346 UNLDU(buf3, 6, 0x0000838485868788)
2347 UNLDU(buf3, 7, 0x0083848586878889)
2348 UNLDU(buf3, 8, 0x838485868788898a)
2349 UNLDU(buf4, 1, 0x0000000000000084)
2350 UNLDU(buf4, 2, 0x0000000000008485)
2351 UNLDU(buf4, 3, 0x0000000000848586)
2352 UNLDU(buf4, 4, 0x0000000084858687)
2353 UNLDU(buf4, 5, 0x0000008485868788)
2354 UNLDU(buf4, 6, 0x0000848586878889)
2355 UNLDU(buf4, 7, 0x008485868788898a)
2356 UNLDU(buf4, 8, 0x8485868788898a8b)
2357 UNLDU(buf5, 1, 0x0000000000000085)
2358 UNLDU(buf5, 2, 0x0000000000008586)
2359 UNLDU(buf5, 3, 0x0000000000858687)
2360 UNLDU(buf5, 4, 0x0000000085868788)
2361 UNLDU(buf5, 5, 0x0000008586878889)
2362 UNLDU(buf5, 6, 0x000085868788898a)
2363 UNLDU(buf5, 7, 0x0085868788898a8b)
2364 UNLDU(buf5, 8, 0x85868788898a8b8c)
2365 UNLDU(buf6, 1, 0x0000000000000086)
2366 UNLDU(buf6, 2, 0x0000000000008687)
2367 UNLDU(buf6, 3, 0x0000000000868788)
2368 UNLDU(buf6, 4, 0x0000000086878889)
2369 UNLDU(buf6, 5, 0x000000868788898a)
2370 UNLDU(buf6, 6, 0x0000868788898a8b)
2371 UNLDU(buf6, 7, 0x00868788898a8b8c)
2372 UNLDU(buf6, 8, 0x868788898a8b8c8d)
2373 UNLDU(buf7, 1, 0x0000000000000087)
2374 UNLDU(buf7, 2, 0x0000000000008788)
2375 UNLDU(buf7, 3, 0x0000000000878889)
2376 UNLDU(buf7, 4, 0x000000008788898a)
2377 UNLDU(buf7, 5, 0x0000008788898a8b)
2378 UNLDU(buf7, 6, 0x00008788898a8b8c)
2379 UNLDU(buf7, 7, 0x008788898a8b8c8d)
2380 UNLDU(buf7, 8, 0x8788898a8b8c8d8e)
2381 UNST(str0, 1, 0x1000000000000000, 0x0000000000000000)
2382 UNST(str0, 2, 0x3210000000000000, 0x0000000000000000)
2383 UNST(str0, 3, 0x5432100000000000, 0x0000000000000000)
2384 UNST(str0, 4, 0x7654321000000000, 0x0000000000000000)
2385 UNST(str0, 5, 0x9876543210000000, 0x0000000000000000)
2386 UNST(str0, 6, 0xba98765432100000, 0x0000000000000000)
2387 UNST(str0, 7, 0xdcba987654321000, 0x0000000000000000)
2388 UNST(str0, 8, 0xfedcba9876543210, 0x0000000000000000)
2389 UNST(str1, 1, 0x0010000000000000, 0x0000000000000000)
2390 UNST(str1, 2, 0x0032100000000000, 0x0000000000000000)
2391 UNST(str1, 3, 0x0054321000000000, 0x0000000000000000)
2392 UNST(str1, 4, 0x0076543210000000, 0x0000000000000000)
2393 UNST(str1, 5, 0x0098765432100000, 0x0000000000000000)
2394 UNST(str1, 6, 0x00ba987654321000, 0x0000000000000000)
2395 UNST(str1, 7, 0x00dcba9876543210, 0x0000000000000000)
2396 UNST(str1, 8, 0x00fedcba98765432, 0x1000000000000000)
2397 UNST(str2, 1, 0x0000100000000000, 0x0000000000000000)
2398 UNST(str2, 2, 0x0000321000000000, 0x0000000000000000)
2399 UNST(str2, 3, 0x0000543210000000, 0x0000000000000000)
2400 UNST(str2, 4, 0x0000765432100000, 0x0000000000000000)
2401 UNST(str2, 5, 0x0000987654321000, 0x0000000000000000)
2402 UNST(str2, 6, 0x0000ba9876543210, 0x0000000000000000)
2403 UNST(str2, 7, 0x0000dcba98765432, 0x1000000000000000)
2404 UNST(str2, 8, 0x0000fedcba987654, 0x3210000000000000)
2405 UNST(str3, 1, 0x0000001000000000, 0x0000000000000000)
2406 UNST(str3, 2, 0x0000003210000000, 0x0000000000000000)
2407 UNST(str3, 3, 0x0000005432100000, 0x0000000000000000)
2408 UNST(str3, 4, 0x0000007654321000, 0x0000000000000000)
2409 UNST(str3, 5, 0x0000009876543210, 0x0000000000000000)
2410 UNST(str3, 6, 0x000000ba98765432, 0x1000000000000000)
2411 UNST(str3, 7, 0x000000dcba987654, 0x3210000000000000)
2412 UNST(str3, 8, 0x000000fedcba9876, 0x5432100000000000)
2413 UNST(str4, 1, 0x0000000010000000, 0x0000000000000000)
2414 UNST(str4, 2, 0x0000000032100000, 0x0000000000000000)
2415 UNST(str4, 3, 0x0000000054321000, 0x0000000000000000)
2416 UNST(str4, 4, 0x0000000076543210, 0x0000000000000000)
2417 UNST(str4, 5, 0x0000000098765432, 0x1000000000000000)
2418 UNST(str4, 6, 0x00000000ba987654, 0x3210000000000000)
2419 UNST(str4, 7, 0x00000000dcba9876, 0x5432100000000000)
2420 UNST(str4, 8, 0x00000000fedcba98, 0x7654321000000000)
2421 UNST(str5, 1, 0x0000000000100000, 0x0000000000000000)
2422 UNST(str5, 2, 0x0000000000321000, 0x0000000000000000)
2423 UNST(str5, 3, 0x0000000000543210, 0x0000000000000000)
2424 UNST(str5, 4, 0x0000000000765432, 0x1000000000000000)
2425 UNST(str5, 5, 0x0000000000987654, 0x3210000000000000)
2426 UNST(str5, 6, 0x0000000000ba9876, 0x5432100000000000)
2427 UNST(str5, 7, 0x0000000000dcba98, 0x7654321000000000)
2428 UNST(str5, 8, 0x0000000000fedcba, 0x9876543210000000)
2429 UNST(str6, 1, 0x0000000000001000, 0x0000000000000000)
2430 UNST(str6, 2, 0x0000000000003210, 0x0000000000000000)
2431 UNST(str6, 3, 0x0000000000005432, 0x1000000000000000)
2432 UNST(str6, 4, 0x0000000000007654, 0x3210000000000000)
2433 UNST(str6, 5, 0x0000000000009876, 0x5432100000000000)
2434 UNST(str6, 6, 0x000000000000ba98, 0x7654321000000000)
2435 UNST(str6, 7, 0x000000000000dcba, 0x9876543210000000)
2436 UNST(str6, 8, 0x000000000000fedc, 0xba98765432100000)
2437 UNST(str7, 1, 0x0000000000000010, 0x0000000000000000)
2438 UNST(str7, 2, 0x0000000000000032, 0x1000000000000000)
2439 UNST(str7, 3, 0x0000000000000054, 0x3210000000000000)
2440 UNST(str7, 4, 0x0000000000000076, 0x5432100000000000)
2441 UNST(str7, 5, 0x0000000000000098, 0x7654321000000000)
2442 UNST(str7, 6, 0x00000000000000ba, 0x9876543210000000)
2443 UNST(str7, 7, 0x00000000000000dc, 0xba98765432100000)
2444 UNST(str7, 8, 0x00000000000000fe, 0xdcba987654321000)
2445# endif
2446
2447# endif
2448 FLDST(str0, 2.5)
2449 FLDST(str1, 2.5)
2450 FLDST(str2, 2.5)
2451 FLDST(str3, 2.5)
2452 FLDST(str4, 2.5)
2453 DLDST(str0, 7.5)
2454 DLDST(str1, 7.5)
2455 DLDST(str2, 7.5)
2456 DLDST(str3, 7.5)
2457 DLDST(str4, 7.5)
2458 DLDST(str5, 7.5)
2459 DLDST(str6, 7.5)
2460 DLDST(str7, 7.5)
2461 DLDST(str8, 7.5)
2462
2463 prepare
2464 pushargi ok
2465 finishi @puts
2466#endif
2467 ret
2468 epilog