* better
[mascara-docs.git] / i386 / linux-2.3.21 / arch / sh / lib / wordcopy.S
blobc116623d0abcd5a35a6b6d5f60d001b7cfaa6077
1 #include <linux/linkage.h>
2 ENTRY(_wordcopy_fwd_aligned)
3         mov.l   r14,@-r15
4         add     #-20,r15
5         mov     r15,r14
6         mov.l   r4,@r14
7         mov.l   r5,@(4,r14)
8         mov.l   r6,@(8,r14)
9         mov.l   @(8,r14),r2
10         mov     #7,r1
11         and     r2,r1
12         mov     #0,r2
13         mov     #7,r3
14         sub     r2,r1
15         cmp/hi  r3,r1
16         bf      .L29
17         bra     .L2
18         nop
19 .L29:
20         mova    .L22,r0
21         add     r1,r1
22         mov.w   @(r0,r1),r1
23         add     r0,r1
24         jmp  @r1
25         nop
26         .align 2
27         .align 2
28 .L22:
29         .word   .L15-.L22
30         .word   .L18-.L22
31         .word   .L3-.L22
32         .word   .L5-.L22
33         .word   .L7-.L22
34         .word   .L9-.L22
35         .word   .L11-.L22
36         .word   .L13-.L22
37         .align 2
38 .L3:
39         mov.l   @(4,r14),r1
40         mov.l   @r1,r2
41         mov.l   r2,@(12,r14)
42         mov.l   @(4,r14),r1
43         mov     r1,r2
44         add     #-24,r2
45         mov.l   r2,@(4,r14)
46         mov.l   @r14,r1
47         mov     r1,r2
48         add     #-28,r2
49         mov.l   r2,@r14
50         mov.l   @(8,r14),r1
51         mov     r1,r2
52         add     #6,r2
53         mov.l   r2,@(8,r14)
54         bra     .L4
55         nop
56         .align 2
57 .L5:
58         mov.l   @(4,r14),r1
59         mov.l   @r1,r2
60         mov.l   r2,@(16,r14)
61         mov.l   @(4,r14),r1
62         mov     r1,r2
63         add     #-20,r2
64         mov.l   r2,@(4,r14)
65         mov.l   @r14,r1
66         mov     r1,r2
67         add     #-24,r2
68         mov.l   r2,@r14
69         mov.l   @(8,r14),r1
70         mov     r1,r2
71         add     #5,r2
72         mov.l   r2,@(8,r14)
73         bra     .L6
74         nop
75         .align 2
76 .L7:
77         mov.l   @(4,r14),r1
78         mov.l   @r1,r2
79         mov.l   r2,@(12,r14)
80         mov.l   @(4,r14),r1
81         mov     r1,r2
82         add     #-16,r2
83         mov.l   r2,@(4,r14)
84         mov.l   @r14,r1
85         mov     r1,r2
86         add     #-20,r2
87         mov.l   r2,@r14
88         mov.l   @(8,r14),r1
89         mov     r1,r2
90         add     #4,r2
91         mov.l   r2,@(8,r14)
92         bra     .L8
93         nop
94         .align 2
95 .L9:
96         mov.l   @(4,r14),r1
97         mov.l   @r1,r2
98         mov.l   r2,@(16,r14)
99         mov.l   @(4,r14),r1
100         mov     r1,r2
101         add     #-12,r2
102         mov.l   r2,@(4,r14)
103         mov.l   @r14,r1
104         mov     r1,r2
105         add     #-16,r2
106         mov.l   r2,@r14
107         mov.l   @(8,r14),r1
108         mov     r1,r2
109         add     #3,r2
110         mov.l   r2,@(8,r14)
111         bra     .L10
112         nop
113         .align 2
114 .L11:
115         mov.l   @(4,r14),r1
116         mov.l   @r1,r2
117         mov.l   r2,@(12,r14)
118         mov.l   @(4,r14),r1
119         mov     r1,r2
120         add     #-8,r2
121         mov.l   r2,@(4,r14)
122         mov.l   @r14,r1
123         mov     r1,r2
124         add     #-12,r2
125         mov.l   r2,@r14
126         mov.l   @(8,r14),r1
127         mov     r1,r2
128         add     #2,r2
129         mov.l   r2,@(8,r14)
130         bra     .L12
131         nop
132         .align 2
133 .L13:
134         mov.l   @(4,r14),r1
135         mov.l   @r1,r2
136         mov.l   r2,@(16,r14)
137         mov.l   @(4,r14),r1
138         mov     r1,r2
139         add     #-4,r2
140         mov.l   r2,@(4,r14)
141         mov.l   @r14,r1
142         mov     r1,r2
143         add     #-8,r2
144         mov.l   r2,@r14
145         mov.l   @(8,r14),r1
146         mov     r1,r2
147         add     #1,r2
148         mov.l   r2,@(8,r14)
149         bra     .L14
150         nop
151         .align 2
152 .L15:
153         bra     .L16
154         nop
155         bra     .L1
156         nop
157         .align 2
158 .L16:
159         mov.l   @(4,r14),r1
160         mov.l   @r1,r2
161         mov.l   r2,@(12,r14)
162         mov.l   @r14,r1
163         mov     r1,r2
164         add     #-4,r2
165         mov.l   r2,@r14
166         bra     .L17
167         nop
168         .align 2
169 .L18:
170         mov.l   @(4,r14),r1
171         mov.l   @r1,r2
172         mov.l   r2,@(16,r14)
173         mov.l   @(4,r14),r1
174         mov     r1,r2
175         add     #4,r2
176         mov.l   r2,@(4,r14)
177         mov.l   @(8,r14),r1
178         mov     r1,r2
179         add     #-1,r2
180         mov.l   r2,@(8,r14)
181         bra     .L19
182         nop
183         bra     .L20
184         nop
185         .align 2
186 .L19:
187         bra     .L21
188         nop
189         .align 2
190 .L23:
191 .L2:
192         nop
193 .L24:
194 .L21:
195         mov.l   @(4,r14),r1
196         mov.l   @r1,r2
197         mov.l   r2,@(12,r14)
198         mov.l   @r14,r1
199         mov.l   @(16,r14),r2
200         mov.l   r2,@r1
201 .L17:
202         mov.l   @(4,r14),r2
203         mov     r2,r1
204         add     #4,r1
205         mov.l   @r1,r2
206         mov.l   r2,@(16,r14)
207         mov.l   @r14,r2
208         mov     r2,r1
209         add     #4,r1
210         mov.l   @(12,r14),r2
211         mov.l   r2,@r1
212 .L14:
213         mov.l   @(4,r14),r2
214         mov     r2,r1
215         add     #8,r1
216         mov.l   @r1,r2
217         mov.l   r2,@(12,r14)
218         mov.l   @r14,r2
219         mov     r2,r1
220         add     #8,r1
221         mov.l   @(16,r14),r2
222         mov.l   r2,@r1
223 .L12:
224         mov.l   @(4,r14),r2
225         mov     r2,r1
226         add     #12,r1
227         mov.l   @r1,r2
228         mov.l   r2,@(16,r14)
229         mov.l   @r14,r2
230         mov     r2,r1
231         add     #12,r1
232         mov.l   @(12,r14),r2
233         mov.l   r2,@r1
234 .L10:
235         mov.l   @(4,r14),r2
236         mov     r2,r1
237         add     #16,r1
238         mov.l   @r1,r2
239         mov.l   r2,@(12,r14)
240         mov.l   @r14,r2
241         mov     r2,r1
242         add     #16,r1
243         mov.l   @(16,r14),r2
244         mov.l   r2,@r1
245 .L8:
246         mov.l   @(4,r14),r2
247         mov     r2,r1
248         add     #20,r1
249         mov.l   @r1,r2
250         mov.l   r2,@(16,r14)
251         mov.l   @r14,r2
252         mov     r2,r1
253         add     #20,r1
254         mov.l   @(12,r14),r2
255         mov.l   r2,@r1
256 .L6:
257         mov.l   @(4,r14),r2
258         mov     r2,r1
259         add     #24,r1
260         mov.l   @r1,r2
261         mov.l   r2,@(12,r14)
262         mov.l   @r14,r2
263         mov     r2,r1
264         add     #24,r1
265         mov.l   @(16,r14),r2
266         mov.l   r2,@r1
267 .L4:
268         mov.l   @(4,r14),r2
269         mov     r2,r1
270         add     #28,r1
271         mov.l   @r1,r2
272         mov.l   r2,@(16,r14)
273         mov.l   @r14,r2
274         mov     r2,r1
275         add     #28,r1
276         mov.l   @(12,r14),r2
277         mov.l   r2,@r1
278         mov.l   @(4,r14),r1
279         mov     r1,r2
280         add     #32,r2
281         mov.l   r2,@(4,r14)
282         mov.l   @r14,r1
283         mov     r1,r2
284         add     #32,r2
285         mov.l   r2,@r14
286         mov.l   @(8,r14),r1
287         mov     r1,r2
288         add     #-8,r2
289         mov.l   r2,@(8,r14)
290 .L26:
291         mov.l   @(8,r14),r1
292         tst     r1,r1
293         bf      .L27
294         bra     .L25
295         nop
296         .align 2
297 .L27:
298         bra     .L21
299         nop
300         .align 2
301 .L25:
302         nop
303 .L20:
304         mov.l   @r14,r1
305         mov.l   @(16,r14),r2
306         mov.l   r2,@r1
307 .L1:
308         add     #20,r14
309         mov     r14,r15
310         mov.l   @r15+,r14
311         rts     
312         nop
313 .Lfe1:
314         .size    __wordcopy_fwd_aligned,.Lfe1-__wordcopy_fwd_aligned
315         .global ___lshrsi3
316         .global ___ashlsi3
317         .align 2
318         .global __wordcopy_fwd_dest_aligned
319         .type    __wordcopy_fwd_dest_aligned,@function
320 __wordcopy_fwd_dest_aligned:
321         mov.l   r8,@-r15
322         mov.l   r9,@-r15
323         mov.l   r14,@-r15
324         sts.l   pr,@-r15
325         add     #-40,r15
326         mov     r15,r14
327         mov.l   r4,@r14
328         mov.l   r5,@(4,r14)
329         mov.l   r6,@(8,r14)
330         mov.l   @(4,r14),r1
331         mov     #3,r2
332         and     r1,r2
333         mov     r2,r1
334         mov     r1,r2
335         shll2   r2
336         add     r2,r2
337         mov.l   r2,@(28,r14)
338         mov.l   @(28,r14),r2
339         neg     r2,r1
340         add     #32,r1
341         mov.l   r1,@(32,r14)
342         mov.l   @(4,r14),r1
343         mov     #-4,r2
344         and     r2,r1
345         mov.l   r1,@(4,r14)
346         mov.l   @(8,r14),r2
347         mov     #3,r1
348         and     r2,r1
349         mov     #0,r2
350         mov     #3,r3
351         sub     r2,r1
352         cmp/hi  r3,r1
353         bf      .L53
354         bra     .L31
355         nop
356 .L53:
357         mova    .L43,r0
358         add     r1,r1
359         mov.w   @(r0,r1),r1
360         add     r0,r1
361         jmp  @r1
362         nop
363         .align 2
364         .align 2
365 .L43:
366         .word   .L36-.L43
367         .word   .L39-.L43
368         .word   .L32-.L43
369         .word   .L34-.L43
370         .align 2
371 .L32:
372         mov.l   @(4,r14),r1
373         mov.l   @r1,r2
374         mov.l   r2,@(16,r14)
375         mov.l   @(4,r14),r2
376         mov     r2,r1
377         add     #4,r1
378         mov.l   @r1,r2
379         mov.l   r2,@(20,r14)
380         mov.l   @(4,r14),r1
381         mov     r1,r2
382         add     #-4,r2
383         mov.l   r2,@(4,r14)
384         mov.l   @r14,r1
385         mov     r1,r2
386         add     #-12,r2
387         mov.l   r2,@r14
388         mov.l   @(8,r14),r1
389         mov     r1,r2
390         add     #2,r2
391         mov.l   r2,@(8,r14)
392         bra     .L33
393         nop
394         .align 2
395 .L34:
396         mov.l   @(4,r14),r1
397         mov.l   @r1,r2
398         mov.l   r2,@(12,r14)
399         mov.l   @(4,r14),r2
400         mov     r2,r1
401         add     #4,r1
402         mov.l   @r1,r2
403         mov.l   r2,@(16,r14)
404         mov.l   @r14,r1
405         mov     r1,r2
406         add     #-8,r2
407         mov.l   r2,@r14
408         mov.l   @(8,r14),r1
409         mov     r1,r2
410         add     #1,r2
411         mov.l   r2,@(8,r14)
412         bra     .L35
413         nop
414         .align 2
415 .L36:
416         bra     .L37
417         nop
418         bra     .L30
419         nop
420         .align 2
421 .L37:
422         mov.l   @(4,r14),r1
423         mov.l   @r1,r2
424         mov.l   r2,@(24,r14)
425         mov.l   @(4,r14),r2
426         mov     r2,r1
427         add     #4,r1
428         mov.l   @r1,r2
429         mov.l   r2,@(12,r14)
430         mov.l   @(4,r14),r1
431         mov     r1,r2
432         add     #4,r2
433         mov.l   r2,@(4,r14)
434         mov.l   @r14,r1
435         mov     r1,r2
436         add     #-4,r2
437         mov.l   r2,@r14
438         bra     .L38
439         nop
440         .align 2
441 .L39:
442         mov.l   @(4,r14),r1
443         mov.l   @r1,r2
444         mov.l   r2,@(20,r14)
445         mov.l   @(4,r14),r2
446         mov     r2,r1
447         add     #4,r1
448         mov.l   @r1,r2
449         mov.l   r2,@(24,r14)
450         mov.l   @(4,r14),r1
451         mov     r1,r2
452         add     #8,r2
453         mov.l   r2,@(4,r14)
454         mov.l   @(8,r14),r1
455         mov     r1,r2
456         add     #-1,r2
457         mov.l   r2,@(8,r14)
458         bra     .L40
459         nop
460         bra     .L41
461         nop
462         .align 2
463 .L40:
464         bra     .L42
465         nop
466         .align 2
467 .L44:
468 .L31:
469         nop
470 .L45:
471 .L42:
472         mov.l   @(4,r14),r1
473         mov.l   @r1,r2
474         mov.l   r2,@(12,r14)
475         mov.l   @r14,r8
476         mov.l   .L49,r1
477         mov.l   @(20,r14),r4
478         mov.l   @(28,r14),r5
479         jsr     @r1
480         nop
481         mov     r0,r9
482         mov.l   .L50,r1
483         mov.l   @(24,r14),r4
484         mov.l   @(32,r14),r5
485         jsr     @r1
486         nop
487         mov.l   r0,@(36,r14)
488         mov.l   @(36,r14),r1
489         or      r9,r1
490         mov.l   r1,@r8
491 .L38:
492         mov.l   @(4,r14),r2
493         mov     r2,r1
494         add     #4,r1
495         mov.l   @r1,r2
496         mov.l   r2,@(16,r14)
497         mov.l   @r14,r1
498         mov     r1,r8
499         add     #4,r8
500         mov.l   .L49,r1
501         mov.l   @(24,r14),r4
502         mov.l   @(28,r14),r5
503         jsr     @r1
504         nop
505         mov     r0,r9
506         mov.l   .L50,r1
507         mov.l   @(12,r14),r4
508         mov.l   @(32,r14),r5
509         jsr     @r1
510         nop
511         mov.l   r0,@(36,r14)
512         mov.l   @(36,r14),r1
513         or      r9,r1
514         mov.l   r1,@r8
515 .L35:
516         mov.l   @(4,r14),r2
517         mov     r2,r1
518         add     #8,r1
519         mov.l   @r1,r2
520         mov.l   r2,@(20,r14)
521         mov.l   @r14,r1
522         mov     r1,r8
523         add     #8,r8
524         mov.l   .L49,r1
525         mov.l   @(12,r14),r4
526         mov.l   @(28,r14),r5
527         jsr     @r1
528         nop
529         mov     r0,r9
530         mov.l   .L50,r1
531         mov.l   @(16,r14),r4
532         mov.l   @(32,r14),r5
533         jsr     @r1
534         nop
535         mov.l   r0,@(36,r14)
536         mov.l   @(36,r14),r1
537         or      r9,r1
538         mov.l   r1,@r8
539 .L33:
540         mov.l   @(4,r14),r2
541         mov     r2,r1
542         add     #12,r1
543         mov.l   @r1,r2
544         mov.l   r2,@(24,r14)
545         mov.l   @r14,r1
546         mov     r1,r8
547         add     #12,r8
548         mov.l   .L49,r1
549         mov.l   @(16,r14),r4
550         mov.l   @(28,r14),r5
551         jsr     @r1
552         nop
553         mov     r0,r9
554         mov.l   .L50,r1
555         mov.l   @(20,r14),r4
556         mov.l   @(32,r14),r5
557         jsr     @r1
558         nop
559         mov.l   r0,@(36,r14)
560         mov.l   @(36,r14),r1
561         or      r9,r1
562         mov.l   r1,@r8
563         mov.l   @(4,r14),r1
564         mov     r1,r2
565         add     #16,r2
566         mov.l   r2,@(4,r14)
567         mov.l   @r14,r1
568         mov     r1,r2
569         add     #16,r2
570         mov.l   r2,@r14
571         mov.l   @(8,r14),r1
572         mov     r1,r2
573         add     #-4,r2
574         mov.l   r2,@(8,r14)
575 .L47:
576         mov.l   @(8,r14),r1
577         tst     r1,r1
578         bf      .L48
579         bra     .L46
580         nop
581         .align 2
582 .L48:
583         bra     .L42
584         nop
585         .align 2
586 .L46:
587         nop
588 .L41:
589         mov.l   @r14,r8
590         mov.l   .L49,r1
591         mov.l   @(20,r14),r4
592         mov.l   @(28,r14),r5
593         jsr     @r1
594         nop
595         mov     r0,r9
596         mov.l   .L50,r1
597         mov.l   @(24,r14),r4
598         mov.l   @(32,r14),r5
599         jsr     @r1
600         nop
601         mov.l   r0,@(36,r14)
602         mov.l   @(36,r14),r1
603         or      r9,r1
604         mov.l   r1,@r8
605 .L30:
606         add     #40,r14
607         mov     r14,r15
608         lds.l   @r15+,pr
609         mov.l   @r15+,r14
610         mov.l   @r15+,r9
611         mov.l   @r15+,r8
612         rts     
613         nop
614 .L51:
615         .align 2
616 .L49:
617         .long   ___lshrsi3
618 .L50:
619         .long   ___ashlsi3
620 .Lfe2:
621         .size    __wordcopy_fwd_dest_aligned,.Lfe2-__wordcopy_fwd_dest_aligned
622         .align 2
623         .global __wordcopy_bwd_aligned
624         .type    __wordcopy_bwd_aligned,@function
625 __wordcopy_bwd_aligned:
626         mov.l   r14,@-r15
627         add     #-20,r15
628         mov     r15,r14
629         mov.l   r4,@r14
630         mov.l   r5,@(4,r14)
631         mov.l   r6,@(8,r14)
632         mov.l   @(8,r14),r2
633         mov     #7,r1
634         and     r2,r1
635         mov     #0,r2
636         mov     #7,r3
637         sub     r2,r1
638         cmp/hi  r3,r1
639         bf      .L82
640         bra     .L55
641         nop
642 .L82:
643         mova    .L75,r0
644         add     r1,r1
645         mov.w   @(r0,r1),r1
646         add     r0,r1
647         jmp  @r1
648         nop
649         .align 2
650         .align 2
651 .L75:
652         .word   .L68-.L75
653         .word   .L71-.L75
654         .word   .L56-.L75
655         .word   .L58-.L75
656         .word   .L60-.L75
657         .word   .L62-.L75
658         .word   .L64-.L75
659         .word   .L66-.L75
660         .align 2
661 .L56:
662         mov.l   @(4,r14),r1
663         mov     r1,r2
664         add     #-8,r2
665         mov.l   r2,@(4,r14)
666         mov.l   @r14,r1
667         mov     r1,r2
668         add     #-4,r2
669         mov.l   r2,@r14
670         mov.l   @(4,r14),r2
671         mov     r2,r1
672         add     #4,r1
673         mov.l   @r1,r2
674         mov.l   r2,@(12,r14)
675         mov.l   @(8,r14),r1
676         mov     r1,r2
677         add     #6,r2
678         mov.l   r2,@(8,r14)
679         bra     .L57
680         nop
681         .align 2
682 .L58:
683         mov.l   @(4,r14),r1
684         mov     r1,r2
685         add     #-12,r2
686         mov.l   r2,@(4,r14)
687         mov.l   @r14,r1
688         mov     r1,r2
689         add     #-8,r2
690         mov.l   r2,@r14
691         mov.l   @(4,r14),r2
692         mov     r2,r1
693         add     #8,r1
694         mov.l   @r1,r2
695         mov.l   r2,@(16,r14)
696         mov.l   @(8,r14),r1
697         mov     r1,r2
698         add     #5,r2
699         mov.l   r2,@(8,r14)
700         bra     .L59
701         nop
702         .align 2
703 .L60:
704         mov.l   @(4,r14),r1
705         mov     r1,r2
706         add     #-16,r2
707         mov.l   r2,@(4,r14)
708         mov.l   @r14,r1
709         mov     r1,r2
710         add     #-12,r2
711         mov.l   r2,@r14
712         mov.l   @(4,r14),r2
713         mov     r2,r1
714         add     #12,r1
715         mov.l   @r1,r2
716         mov.l   r2,@(12,r14)
717         mov.l   @(8,r14),r1
718         mov     r1,r2
719         add     #4,r2
720         mov.l   r2,@(8,r14)
721         bra     .L61
722         nop
723         .align 2
724 .L62:
725         mov.l   @(4,r14),r1
726         mov     r1,r2
727         add     #-20,r2
728         mov.l   r2,@(4,r14)
729         mov.l   @r14,r1
730         mov     r1,r2
731         add     #-16,r2
732         mov.l   r2,@r14
733         mov.l   @(4,r14),r2
734         mov     r2,r1
735         add     #16,r1
736         mov.l   @r1,r2
737         mov.l   r2,@(16,r14)
738         mov.l   @(8,r14),r1
739         mov     r1,r2
740         add     #3,r2
741         mov.l   r2,@(8,r14)
742         bra     .L63
743         nop
744         .align 2
745 .L64:
746         mov.l   @(4,r14),r1
747         mov     r1,r2
748         add     #-24,r2
749         mov.l   r2,@(4,r14)
750         mov.l   @r14,r1
751         mov     r1,r2
752         add     #-20,r2
753         mov.l   r2,@r14
754         mov.l   @(4,r14),r2
755         mov     r2,r1
756         add     #20,r1
757         mov.l   @r1,r2
758         mov.l   r2,@(12,r14)
759         mov.l   @(8,r14),r1
760         mov     r1,r2
761         add     #2,r2
762         mov.l   r2,@(8,r14)
763         bra     .L65
764         nop
765         .align 2
766 .L66:
767         mov.l   @(4,r14),r1
768         mov     r1,r2
769         add     #-28,r2
770         mov.l   r2,@(4,r14)
771         mov.l   @r14,r1
772         mov     r1,r2
773         add     #-24,r2
774         mov.l   r2,@r14
775         mov.l   @(4,r14),r2
776         mov     r2,r1
777         add     #24,r1
778         mov.l   @r1,r2
779         mov.l   r2,@(16,r14)
780         mov.l   @(8,r14),r1
781         mov     r1,r2
782         add     #1,r2
783         mov.l   r2,@(8,r14)
784         bra     .L67
785         nop
786         .align 2
787 .L68:
788         bra     .L69
789         nop
790         bra     .L54
791         nop
792         .align 2
793 .L69:
794         mov.l   @(4,r14),r1
795         mov     r1,r2
796         add     #-32,r2
797         mov.l   r2,@(4,r14)
798         mov.l   @r14,r1
799         mov     r1,r2
800         add     #-28,r2
801         mov.l   r2,@r14
802         mov.l   @(4,r14),r2
803         mov     r2,r1
804         add     #28,r1
805         mov.l   @r1,r2
806         mov.l   r2,@(12,r14)
807         bra     .L70
808         nop
809         .align 2
810 .L71:
811         mov.l   @(4,r14),r1
812         mov     r1,r2
813         add     #-36,r2
814         mov.l   r2,@(4,r14)
815         mov.l   @r14,r1
816         mov     r1,r2
817         add     #-32,r2
818         mov.l   r2,@r14
819         mov.l   @(4,r14),r2
820         mov     r2,r1
821         add     #32,r1
822         mov.l   @r1,r2
823         mov.l   r2,@(16,r14)
824         mov.l   @(8,r14),r1
825         mov     r1,r2
826         add     #-1,r2
827         mov.l   r2,@(8,r14)
828         bra     .L72
829         nop
830         bra     .L73
831         nop
832         .align 2
833 .L72:
834         bra     .L74
835         nop
836         .align 2
837 .L76:
838 .L55:
839         nop
840 .L77:
841 .L74:
842         mov.l   @(4,r14),r2
843         mov     r2,r1
844         add     #28,r1
845         mov.l   @r1,r2
846         mov.l   r2,@(12,r14)
847         mov.l   @r14,r2
848         mov     r2,r1
849         add     #28,r1
850         mov.l   @(16,r14),r2
851         mov.l   r2,@r1
852 .L70:
853         mov.l   @(4,r14),r2
854         mov     r2,r1
855         add     #24,r1
856         mov.l   @r1,r2
857         mov.l   r2,@(16,r14)
858         mov.l   @r14,r2
859         mov     r2,r1
860         add     #24,r1
861         mov.l   @(12,r14),r2
862         mov.l   r2,@r1
863 .L67:
864         mov.l   @(4,r14),r2
865         mov     r2,r1
866         add     #20,r1
867         mov.l   @r1,r2
868         mov.l   r2,@(12,r14)
869         mov.l   @r14,r2
870         mov     r2,r1
871         add     #20,r1
872         mov.l   @(16,r14),r2
873         mov.l   r2,@r1
874 .L65:
875         mov.l   @(4,r14),r2
876         mov     r2,r1
877         add     #16,r1
878         mov.l   @r1,r2
879         mov.l   r2,@(16,r14)
880         mov.l   @r14,r2
881         mov     r2,r1
882         add     #16,r1
883         mov.l   @(12,r14),r2
884         mov.l   r2,@r1
885 .L63:
886         mov.l   @(4,r14),r2
887         mov     r2,r1
888         add     #12,r1
889         mov.l   @r1,r2
890         mov.l   r2,@(12,r14)
891         mov.l   @r14,r2
892         mov     r2,r1
893         add     #12,r1
894         mov.l   @(16,r14),r2
895         mov.l   r2,@r1
896 .L61:
897         mov.l   @(4,r14),r2
898         mov     r2,r1
899         add     #8,r1
900         mov.l   @r1,r2
901         mov.l   r2,@(16,r14)
902         mov.l   @r14,r2
903         mov     r2,r1
904         add     #8,r1
905         mov.l   @(12,r14),r2
906         mov.l   r2,@r1
907 .L59:
908         mov.l   @(4,r14),r2
909         mov     r2,r1
910         add     #4,r1
911         mov.l   @r1,r2
912         mov.l   r2,@(12,r14)
913         mov.l   @r14,r2
914         mov     r2,r1
915         add     #4,r1
916         mov.l   @(16,r14),r2
917         mov.l   r2,@r1
918 .L57:
919         mov.l   @(4,r14),r1
920         mov.l   @r1,r2
921         mov.l   r2,@(16,r14)
922         mov.l   @r14,r1
923         mov.l   @(12,r14),r2
924         mov.l   r2,@r1
925         mov.l   @(4,r14),r1
926         mov     r1,r2
927         add     #-32,r2
928         mov.l   r2,@(4,r14)
929         mov.l   @r14,r1
930         mov     r1,r2
931         add     #-32,r2
932         mov.l   r2,@r14
933         mov.l   @(8,r14),r1
934         mov     r1,r2
935         add     #-8,r2
936         mov.l   r2,@(8,r14)
937 .L79:
938         mov.l   @(8,r14),r1
939         tst     r1,r1
940         bf      .L80
941         bra     .L78
942         nop
943         .align 2
944 .L80:
945         bra     .L74
946         nop
947         .align 2
948 .L78:
949         nop
950 .L73:
951         mov.l   @r14,r2
952         mov     r2,r1
953         add     #28,r1
954         mov.l   @(16,r14),r2
955         mov.l   r2,@r1
956 .L54:
957         add     #20,r14
958         mov     r14,r15
959         mov.l   @r15+,r14
960         rts     
961         nop
962 .Lfe3:
963         .size    __wordcopy_bwd_aligned,.Lfe3-__wordcopy_bwd_aligned
964         .align 2
965         .global __wordcopy_bwd_dest_aligned
966         .type    __wordcopy_bwd_dest_aligned,@function
967 __wordcopy_bwd_dest_aligned:
968         mov.l   r8,@-r15
969         mov.l   r9,@-r15
970         mov.l   r14,@-r15
971         sts.l   pr,@-r15
972         add     #-40,r15
973         mov     r15,r14
974         mov.l   r4,@r14
975         mov.l   r5,@(4,r14)
976         mov.l   r6,@(8,r14)
977         mov.l   @(4,r14),r1
978         mov     #3,r2
979         and     r1,r2
980         mov     r2,r1
981         mov     r1,r2
982         shll2   r2
983         add     r2,r2
984         mov.l   r2,@(28,r14)
985         mov.l   @(28,r14),r2
986         neg     r2,r1
987         add     #32,r1
988         mov.l   r1,@(32,r14)
989         mov.l   @(4,r14),r1
990         mov     #-4,r2
991         and     r2,r1
992         mov.l   r1,@(4,r14)
993         mov.l   @(4,r14),r1
994         mov     r1,r2
995         add     #4,r2
996         mov.l   r2,@(4,r14)
997         mov.l   @(8,r14),r2
998         mov     #3,r1
999         and     r2,r1
1000         mov     #0,r2
1001         mov     #3,r3
1002         sub     r2,r1
1003         cmp/hi  r3,r1
1004         bf      .L106
1005         bra     .L84
1006         nop
1007 .L106:
1008         mova    .L96,r0
1009         add     r1,r1
1010         mov.w   @(r0,r1),r1
1011         add     r0,r1
1012         jmp  @r1
1013         nop
1014         .align 2
1015         .align 2
1016 .L96:
1017         .word   .L89-.L96
1018         .word   .L92-.L96
1019         .word   .L85-.L96
1020         .word   .L87-.L96
1021         .align 2
1022 .L85:
1023         mov.l   @(4,r14),r1
1024         mov     r1,r2
1025         add     #-12,r2
1026         mov.l   r2,@(4,r14)
1027         mov.l   @r14,r1
1028         mov     r1,r2
1029         add     #-4,r2
1030         mov.l   r2,@r14
1031         mov.l   @(4,r14),r2
1032         mov     r2,r1
1033         add     #8,r1
1034         mov.l   @r1,r2
1035         mov.l   r2,@(20,r14)
1036         mov.l   @(4,r14),r2
1037         mov     r2,r1
1038         add     #4,r1
1039         mov.l   @r1,r2
1040         mov.l   r2,@(16,r14)
1041         mov.l   @(8,r14),r1
1042         mov     r1,r2
1043         add     #2,r2
1044         mov.l   r2,@(8,r14)
1045         bra     .L86
1046         nop
1047         .align 2
1048 .L87:
1049         mov.l   @(4,r14),r1
1050         mov     r1,r2
1051         add     #-16,r2
1052         mov.l   r2,@(4,r14)
1053         mov.l   @r14,r1
1054         mov     r1,r2
1055         add     #-8,r2
1056         mov.l   r2,@r14
1057         mov.l   @(4,r14),r2
1058         mov     r2,r1
1059         add     #12,r1
1060         mov.l   @r1,r2
1061         mov.l   r2,@(24,r14)
1062         mov.l   @(4,r14),r2
1063         mov     r2,r1
1064         add     #8,r1
1065         mov.l   @r1,r2
1066         mov.l   r2,@(20,r14)
1067         mov.l   @(8,r14),r1
1068         mov     r1,r2
1069         add     #1,r2
1070         mov.l   r2,@(8,r14)
1071         bra     .L88
1072         nop
1073         .align 2
1074 .L89:
1075         bra     .L90
1076         nop
1077         bra     .L83
1078         nop
1079         .align 2
1080 .L90:
1081         mov.l   @(4,r14),r1
1082         mov     r1,r2
1083         add     #-20,r2
1084         mov.l   r2,@(4,r14)
1085         mov.l   @r14,r1
1086         mov     r1,r2
1087         add     #-12,r2
1088         mov.l   r2,@r14
1089         mov.l   @(4,r14),r2
1090         mov     r2,r1
1091         add     #16,r1
1092         mov.l   @r1,r2
1093         mov.l   r2,@(12,r14)
1094         mov.l   @(4,r14),r2
1095         mov     r2,r1
1096         add     #12,r1
1097         mov.l   @r1,r2
1098         mov.l   r2,@(24,r14)
1099         bra     .L91
1100         nop
1101         .align 2
1102 .L92:
1103         mov.l   @(4,r14),r1
1104         mov     r1,r2
1105         add     #-24,r2
1106         mov.l   r2,@(4,r14)
1107         mov.l   @r14,r1
1108         mov     r1,r2
1109         add     #-16,r2
1110         mov.l   r2,@r14
1111         mov.l   @(4,r14),r2
1112         mov     r2,r1
1113         add     #20,r1
1114         mov.l   @r1,r2
1115         mov.l   r2,@(16,r14)
1116         mov.l   @(4,r14),r2
1117         mov     r2,r1
1118         add     #16,r1
1119         mov.l   @r1,r2
1120         mov.l   r2,@(12,r14)
1121         mov.l   @(8,r14),r1
1122         mov     r1,r2
1123         add     #-1,r2
1124         mov.l   r2,@(8,r14)
1125         bra     .L93
1126         nop
1127         bra     .L94
1128         nop
1129         .align 2
1130 .L93:
1131         bra     .L95
1132         nop
1133         .align 2
1134 .L97:
1135 .L84:
1136         nop
1137 .L98:
1138 .L95:
1139         mov.l   @(4,r14),r2
1140         mov     r2,r1
1141         add     #12,r1
1142         mov.l   @r1,r2
1143         mov.l   r2,@(24,r14)
1144         mov.l   @r14,r1
1145         mov     r1,r8
1146         add     #12,r8
1147         mov.l   .L102,r1
1148         mov.l   @(12,r14),r4
1149         mov.l   @(28,r14),r5
1150         jsr     @r1
1151         nop
1152         mov     r0,r9
1153         mov.l   .L103,r1
1154         mov.l   @(16,r14),r4
1155         mov.l   @(32,r14),r5
1156         jsr     @r1
1157         nop
1158         mov.l   r0,@(36,r14)
1159         mov.l   @(36,r14),r1
1160         or      r9,r1
1161         mov.l   r1,@r8
1162 .L91:
1163         mov.l   @(4,r14),r2
1164         mov     r2,r1
1165         add     #8,r1
1166         mov.l   @r1,r2
1167         mov.l   r2,@(20,r14)
1168         mov.l   @r14,r1
1169         mov     r1,r8
1170         add     #8,r8
1171         mov.l   .L102,r1
1172         mov.l   @(24,r14),r4
1173         mov.l   @(28,r14),r5
1174         jsr     @r1
1175         nop
1176         mov     r0,r9
1177         mov.l   .L103,r1
1178         mov.l   @(12,r14),r4
1179         mov.l   @(32,r14),r5
1180         jsr     @r1
1181         nop
1182         mov.l   r0,@(36,r14)
1183         mov.l   @(36,r14),r1
1184         or      r9,r1
1185         mov.l   r1,@r8
1186 .L88:
1187         mov.l   @(4,r14),r2
1188         mov     r2,r1
1189         add     #4,r1
1190         mov.l   @r1,r2
1191         mov.l   r2,@(16,r14)
1192         mov.l   @r14,r1
1193         mov     r1,r8
1194         add     #4,r8
1195         mov.l   .L102,r1
1196         mov.l   @(20,r14),r4
1197         mov.l   @(28,r14),r5
1198         jsr     @r1
1199         nop
1200         mov     r0,r9
1201         mov.l   .L103,r1
1202         mov.l   @(24,r14),r4
1203         mov.l   @(32,r14),r5
1204         jsr     @r1
1205         nop
1206         mov.l   r0,@(36,r14)
1207         mov.l   @(36,r14),r1
1208         or      r9,r1
1209         mov.l   r1,@r8
1210 .L86:
1211         mov.l   @(4,r14),r1
1212         mov.l   @r1,r2
1213         mov.l   r2,@(12,r14)
1214         mov.l   @r14,r8
1215         mov.l   .L102,r1
1216         mov.l   @(16,r14),r4
1217         mov.l   @(28,r14),r5
1218         jsr     @r1
1219         nop
1220         mov     r0,r9
1221         mov.l   .L103,r1
1222         mov.l   @(20,r14),r4
1223         mov.l   @(32,r14),r5
1224         jsr     @r1
1225         nop
1226         mov.l   r0,@(36,r14)
1227         mov.l   @(36,r14),r1
1228         or      r9,r1
1229         mov.l   r1,@r8
1230         mov.l   @(4,r14),r1
1231         mov     r1,r2
1232         add     #-16,r2
1233         mov.l   r2,@(4,r14)
1234         mov.l   @r14,r1
1235         mov     r1,r2
1236         add     #-16,r2
1237         mov.l   r2,@r14
1238         mov.l   @(8,r14),r1
1239         mov     r1,r2
1240         add     #-4,r2
1241         mov.l   r2,@(8,r14)
1242 .L100:
1243         mov.l   @(8,r14),r1
1244         tst     r1,r1
1245         bf      .L101
1246         bra     .L99
1247         nop
1248         .align 2
1249 .L101:
1250         bra     .L95
1251         nop
1252         .align 2
1253 .L99:
1254         nop
1255 .L94:
1256         mov.l   @r14,r1
1257         mov     r1,r8
1258         add     #12,r8
1259         mov.l   .L102,r1
1260         mov.l   @(12,r14),r4
1261         mov.l   @(28,r14),r5
1262         jsr     @r1
1263         nop
1264         mov     r0,r9
1265         mov.l   .L103,r1
1266         mov.l   @(16,r14),r4
1267         mov.l   @(32,r14),r5
1268         jsr     @r1
1269         nop
1270         mov.l   r0,@(36,r14)
1271         mov.l   @(36,r14),r1
1272         or      r9,r1
1273         mov.l   r1,@r8
1274 .L83:
1275         add     #40,r14
1276         mov     r14,r15
1277         lds.l   @r15+,pr
1278         mov.l   @r15+,r14
1279         mov.l   @r15+,r9
1280         mov.l   @r15+,r8
1281         rts     
1282         nop
1283 .L104:
1284         .align 2
1285 .L102:
1286         .long   ___lshrsi3
1287 .L103:
1288         .long   ___ashlsi3
1289 .Lfe4: