Sync usage with man page.
[netbsd-mini2440.git] / crypto / external / bsd / openssl / lib / libcrypto / arch / powerpc / sha512-ppc.S
blob20521be7fb31463cee24dbfd65dcac84a4446c8a
1 .text
3 .globl  sha256_block_data_order
4 .type   sha256_block_data_order,@function
5 .align  6
6 sha256_block_data_order:
7         mflr    0
8         stwu    1,-192(1)
9         slwi    5,5,6
11         stw     3,40(1)
13         stw     0,44(1)
14         stw     2,48(1)
15         stw     13,52(1)
16         stw     14,56(1)
17         stw     15,60(1)
18         stw     16,64(1)
19         stw     17,68(1)
20         stw     18,72(1)
21         stw     19,76(1)
22         stw     20,80(1)
23         stw     21,84(1)
24         stw     22,88(1)
25         stw     23,92(1)
26         stw     24,96(1)
27         stw     25,100(1)
28         stw     26,104(1)
29         stw     27,108(1)
30         stw     28,112(1)
31         stw     29,116(1)
32         stw     30,120(1)
33         stw     31,124(1)
35         lwz     8,0(3)
36         mr      31,4
37         lwz     9,4(3)
38         lwz     10,8(3)
39         lwz     11,12(3)
40         lwz     12,16(3)
41         lwz     13,20(3)
42         lwz     14,24(3)
43         lwz     15,28(3)
45         b       .LPICmeup
46 .LPICedup:
47         andi.   0,31,3
48         bne     .Lunaligned
49 .Laligned:
50         add     5,31,5
51         stw     5,32(1)
52         stw     31,36(1)
53         bl      .Lsha2_block_private
54 .Ldone:
55         lwz     0,44(1)
56         lwz     2,48(1)
57         lwz     13,52(1)
58         lwz     14,56(1)
59         lwz     15,60(1)
60         lwz     16,64(1)
61         lwz     17,68(1)
62         lwz     18,72(1)
63         lwz     19,76(1)
64         lwz     20,80(1)
65         lwz     21,84(1)
66         lwz     22,88(1)
67         lwz     23,92(1)
68         lwz     24,96(1)
69         lwz     25,100(1)
70         lwz     26,104(1)
71         lwz     27,108(1)
72         lwz     28,112(1)
73         lwz     29,116(1)
74         lwz     30,120(1)
75         lwz     31,124(1)
76         mtlr    0
77         addi    1,1,192
78         blr     
79 .align  4
80 .Lunaligned:
81         subfic  6,31,4096
82         andi.   6,6,4032
83         beq     .Lcross_page
84         .long   0x7c053040
85         ble-    .Laligned
86         subfc   5,6,5
87         add     6,31,6
88         stw     5,28(1)
89         stw     6,32(1)
90         stw     31,36(1)
91         bl      .Lsha2_block_private
93         lwz     5,28(1)
94 .Lcross_page:
95         li      6,16
96         mtctr   6
97         addi    20,1,128
98 .Lmemcpy:
99         lbz     16,0(31)
100         lbz     17,1(31)
101         lbz     18,2(31)
102         lbz     19,3(31)
103         addi    31,31,4
104         stb     16,0(20)
105         stb     17,1(20)
106         stb     18,2(20)
107         stb     19,3(20)
108         addi    20,20,4
109         bc      16,0,.Lmemcpy
111         stw     31,24(1)
112         addi    6,1,192
113         addi    31,1,128
114         stw     5,28(1)
115         stw     6,32(1)
116         stw     31,36(1)
117         bl      .Lsha2_block_private
118         lwz     31,24(1)
119         lwz     5,28(1)
120         addic.  5,5,-64
121         bne-    .Lunaligned
122         b       .Ldone
123 .align  4
124 .Lsha2_block_private:
125         lwz     16,0(31)
126         lwz     0,0(7)
127         rotrwi  3,12,6
128         rotrwi  4,12,11
129         and     5,13,12
130         andc    6,14,12
131         add     0,0,15
132         xor     3,3,4
133         rotrwi  4,4,14
134         or      5,5,6
135         add     0,0,16
136         xor     3,3,4
137         add     0,0,5
138         add     0,0,3
140         rotrwi  3,8,2
141         rotrwi  4,8,13
142         and     5,8,9
143         and     6,8,10
144         xor     3,3,4
145         rotrwi  4,4,9
146         xor     5,5,6
147         and     6,9,10
148         xor     3,3,4
149         add     11,11,0
150         xor     5,5,6
151         add     15,0,3
152         add     15,15,5
154         lwz     17,4(31)
155         lwz     0,4(7)
156         rotrwi  3,11,6
157         rotrwi  4,11,11
158         and     5,12,11
159         andc    6,13,11
160         add     0,0,14
161         xor     3,3,4
162         rotrwi  4,4,14
163         or      5,5,6
164         add     0,0,17
165         xor     3,3,4
166         add     0,0,5
167         add     0,0,3
169         rotrwi  3,15,2
170         rotrwi  4,15,13
171         and     5,15,8
172         and     6,15,9
173         xor     3,3,4
174         rotrwi  4,4,9
175         xor     5,5,6
176         and     6,8,9
177         xor     3,3,4
178         add     10,10,0
179         xor     5,5,6
180         add     14,0,3
181         add     14,14,5
183         lwz     18,8(31)
184         lwz     0,8(7)
185         rotrwi  3,10,6
186         rotrwi  4,10,11
187         and     5,11,10
188         andc    6,12,10
189         add     0,0,13
190         xor     3,3,4
191         rotrwi  4,4,14
192         or      5,5,6
193         add     0,0,18
194         xor     3,3,4
195         add     0,0,5
196         add     0,0,3
198         rotrwi  3,14,2
199         rotrwi  4,14,13
200         and     5,14,15
201         and     6,14,8
202         xor     3,3,4
203         rotrwi  4,4,9
204         xor     5,5,6
205         and     6,15,8
206         xor     3,3,4
207         add     9,9,0
208         xor     5,5,6
209         add     13,0,3
210         add     13,13,5
212         lwz     19,12(31)
213         lwz     0,12(7)
214         rotrwi  3,9,6
215         rotrwi  4,9,11
216         and     5,10,9
217         andc    6,11,9
218         add     0,0,12
219         xor     3,3,4
220         rotrwi  4,4,14
221         or      5,5,6
222         add     0,0,19
223         xor     3,3,4
224         add     0,0,5
225         add     0,0,3
227         rotrwi  3,13,2
228         rotrwi  4,13,13
229         and     5,13,14
230         and     6,13,15
231         xor     3,3,4
232         rotrwi  4,4,9
233         xor     5,5,6
234         and     6,14,15
235         xor     3,3,4
236         add     8,8,0
237         xor     5,5,6
238         add     12,0,3
239         add     12,12,5
241         lwz     20,16(31)
242         lwz     0,16(7)
243         rotrwi  3,8,6
244         rotrwi  4,8,11
245         and     5,9,8
246         andc    6,10,8
247         add     0,0,11
248         xor     3,3,4
249         rotrwi  4,4,14
250         or      5,5,6
251         add     0,0,20
252         xor     3,3,4
253         add     0,0,5
254         add     0,0,3
256         rotrwi  3,12,2
257         rotrwi  4,12,13
258         and     5,12,13
259         and     6,12,14
260         xor     3,3,4
261         rotrwi  4,4,9
262         xor     5,5,6
263         and     6,13,14
264         xor     3,3,4
265         add     15,15,0
266         xor     5,5,6
267         add     11,0,3
268         add     11,11,5
270         lwz     21,20(31)
271         lwz     0,20(7)
272         rotrwi  3,15,6
273         rotrwi  4,15,11
274         and     5,8,15
275         andc    6,9,15
276         add     0,0,10
277         xor     3,3,4
278         rotrwi  4,4,14
279         or      5,5,6
280         add     0,0,21
281         xor     3,3,4
282         add     0,0,5
283         add     0,0,3
285         rotrwi  3,11,2
286         rotrwi  4,11,13
287         and     5,11,12
288         and     6,11,13
289         xor     3,3,4
290         rotrwi  4,4,9
291         xor     5,5,6
292         and     6,12,13
293         xor     3,3,4
294         add     14,14,0
295         xor     5,5,6
296         add     10,0,3
297         add     10,10,5
299         lwz     22,24(31)
300         lwz     0,24(7)
301         rotrwi  3,14,6
302         rotrwi  4,14,11
303         and     5,15,14
304         andc    6,8,14
305         add     0,0,9
306         xor     3,3,4
307         rotrwi  4,4,14
308         or      5,5,6
309         add     0,0,22
310         xor     3,3,4
311         add     0,0,5
312         add     0,0,3
314         rotrwi  3,10,2
315         rotrwi  4,10,13
316         and     5,10,11
317         and     6,10,12
318         xor     3,3,4
319         rotrwi  4,4,9
320         xor     5,5,6
321         and     6,11,12
322         xor     3,3,4
323         add     13,13,0
324         xor     5,5,6
325         add     9,0,3
326         add     9,9,5
328         lwz     23,28(31)
329         lwz     0,28(7)
330         rotrwi  3,13,6
331         rotrwi  4,13,11
332         and     5,14,13
333         andc    6,15,13
334         add     0,0,8
335         xor     3,3,4
336         rotrwi  4,4,14
337         or      5,5,6
338         add     0,0,23
339         xor     3,3,4
340         add     0,0,5
341         add     0,0,3
343         rotrwi  3,9,2
344         rotrwi  4,9,13
345         and     5,9,10
346         and     6,9,11
347         xor     3,3,4
348         rotrwi  4,4,9
349         xor     5,5,6
350         and     6,10,11
351         xor     3,3,4
352         add     12,12,0
353         xor     5,5,6
354         add     8,0,3
355         add     8,8,5
357         lwz     24,32(31)
358         lwz     0,32(7)
359         rotrwi  3,12,6
360         rotrwi  4,12,11
361         and     5,13,12
362         andc    6,14,12
363         add     0,0,15
364         xor     3,3,4
365         rotrwi  4,4,14
366         or      5,5,6
367         add     0,0,24
368         xor     3,3,4
369         add     0,0,5
370         add     0,0,3
372         rotrwi  3,8,2
373         rotrwi  4,8,13
374         and     5,8,9
375         and     6,8,10
376         xor     3,3,4
377         rotrwi  4,4,9
378         xor     5,5,6
379         and     6,9,10
380         xor     3,3,4
381         add     11,11,0
382         xor     5,5,6
383         add     15,0,3
384         add     15,15,5
386         lwz     25,36(31)
387         lwz     0,36(7)
388         rotrwi  3,11,6
389         rotrwi  4,11,11
390         and     5,12,11
391         andc    6,13,11
392         add     0,0,14
393         xor     3,3,4
394         rotrwi  4,4,14
395         or      5,5,6
396         add     0,0,25
397         xor     3,3,4
398         add     0,0,5
399         add     0,0,3
401         rotrwi  3,15,2
402         rotrwi  4,15,13
403         and     5,15,8
404         and     6,15,9
405         xor     3,3,4
406         rotrwi  4,4,9
407         xor     5,5,6
408         and     6,8,9
409         xor     3,3,4
410         add     10,10,0
411         xor     5,5,6
412         add     14,0,3
413         add     14,14,5
415         lwz     26,40(31)
416         lwz     0,40(7)
417         rotrwi  3,10,6
418         rotrwi  4,10,11
419         and     5,11,10
420         andc    6,12,10
421         add     0,0,13
422         xor     3,3,4
423         rotrwi  4,4,14
424         or      5,5,6
425         add     0,0,26
426         xor     3,3,4
427         add     0,0,5
428         add     0,0,3
430         rotrwi  3,14,2
431         rotrwi  4,14,13
432         and     5,14,15
433         and     6,14,8
434         xor     3,3,4
435         rotrwi  4,4,9
436         xor     5,5,6
437         and     6,15,8
438         xor     3,3,4
439         add     9,9,0
440         xor     5,5,6
441         add     13,0,3
442         add     13,13,5
444         lwz     27,44(31)
445         lwz     0,44(7)
446         rotrwi  3,9,6
447         rotrwi  4,9,11
448         and     5,10,9
449         andc    6,11,9
450         add     0,0,12
451         xor     3,3,4
452         rotrwi  4,4,14
453         or      5,5,6
454         add     0,0,27
455         xor     3,3,4
456         add     0,0,5
457         add     0,0,3
459         rotrwi  3,13,2
460         rotrwi  4,13,13
461         and     5,13,14
462         and     6,13,15
463         xor     3,3,4
464         rotrwi  4,4,9
465         xor     5,5,6
466         and     6,14,15
467         xor     3,3,4
468         add     8,8,0
469         xor     5,5,6
470         add     12,0,3
471         add     12,12,5
473         lwz     28,48(31)
474         lwz     0,48(7)
475         rotrwi  3,8,6
476         rotrwi  4,8,11
477         and     5,9,8
478         andc    6,10,8
479         add     0,0,11
480         xor     3,3,4
481         rotrwi  4,4,14
482         or      5,5,6
483         add     0,0,28
484         xor     3,3,4
485         add     0,0,5
486         add     0,0,3
488         rotrwi  3,12,2
489         rotrwi  4,12,13
490         and     5,12,13
491         and     6,12,14
492         xor     3,3,4
493         rotrwi  4,4,9
494         xor     5,5,6
495         and     6,13,14
496         xor     3,3,4
497         add     15,15,0
498         xor     5,5,6
499         add     11,0,3
500         add     11,11,5
502         lwz     29,52(31)
503         lwz     0,52(7)
504         rotrwi  3,15,6
505         rotrwi  4,15,11
506         and     5,8,15
507         andc    6,9,15
508         add     0,0,10
509         xor     3,3,4
510         rotrwi  4,4,14
511         or      5,5,6
512         add     0,0,29
513         xor     3,3,4
514         add     0,0,5
515         add     0,0,3
517         rotrwi  3,11,2
518         rotrwi  4,11,13
519         and     5,11,12
520         and     6,11,13
521         xor     3,3,4
522         rotrwi  4,4,9
523         xor     5,5,6
524         and     6,12,13
525         xor     3,3,4
526         add     14,14,0
527         xor     5,5,6
528         add     10,0,3
529         add     10,10,5
531         lwz     30,56(31)
532         lwz     0,56(7)
533         rotrwi  3,14,6
534         rotrwi  4,14,11
535         and     5,15,14
536         andc    6,8,14
537         add     0,0,9
538         xor     3,3,4
539         rotrwi  4,4,14
540         or      5,5,6
541         add     0,0,30
542         xor     3,3,4
543         add     0,0,5
544         add     0,0,3
546         rotrwi  3,10,2
547         rotrwi  4,10,13
548         and     5,10,11
549         and     6,10,12
550         xor     3,3,4
551         rotrwi  4,4,9
552         xor     5,5,6
553         and     6,11,12
554         xor     3,3,4
555         add     13,13,0
556         xor     5,5,6
557         add     9,0,3
558         add     9,9,5
560         lwz     31,60(31)
561         lwz     0,60(7)
562         rotrwi  3,13,6
563         rotrwi  4,13,11
564         and     5,14,13
565         andc    6,15,13
566         add     0,0,8
567         xor     3,3,4
568         rotrwi  4,4,14
569         or      5,5,6
570         add     0,0,31
571         xor     3,3,4
572         add     0,0,5
573         add     0,0,3
575         rotrwi  3,9,2
576         rotrwi  4,9,13
577         and     5,9,10
578         and     6,9,11
579         xor     3,3,4
580         rotrwi  4,4,9
581         xor     5,5,6
582         and     6,10,11
583         xor     3,3,4
584         add     12,12,0
585         xor     5,5,6
586         add     8,0,3
587         add     8,8,5
589         li      0,3
590         mtctr   0
591 .align  4
592 .Lrounds:
593         addi    7,7,64
594         rotrwi  3,17,7
595         rotrwi  4,17,18
596         rotrwi  5,30,17
597         rotrwi  6,30,19
598         xor     3,3,4
599         srwi    4,17,3
600         xor     5,5,6
601         srwi    6,30,10
602         add     16,16,25
603         xor     3,3,4
604         xor     5,5,6
605         add     16,16,3
606         add     16,16,5
607         lwz     0,0(7)
608         rotrwi  3,12,6
609         rotrwi  4,12,11
610         and     5,13,12
611         andc    6,14,12
612         add     0,0,15
613         xor     3,3,4
614         rotrwi  4,4,14
615         or      5,5,6
616         add     0,0,16
617         xor     3,3,4
618         add     0,0,5
619         add     0,0,3
621         rotrwi  3,8,2
622         rotrwi  4,8,13
623         and     5,8,9
624         and     6,8,10
625         xor     3,3,4
626         rotrwi  4,4,9
627         xor     5,5,6
628         and     6,9,10
629         xor     3,3,4
630         add     11,11,0
631         xor     5,5,6
632         add     15,0,3
633         add     15,15,5
635         rotrwi  3,18,7
636         rotrwi  4,18,18
637         rotrwi  5,31,17
638         rotrwi  6,31,19
639         xor     3,3,4
640         srwi    4,18,3
641         xor     5,5,6
642         srwi    6,31,10
643         add     17,17,26
644         xor     3,3,4
645         xor     5,5,6
646         add     17,17,3
647         add     17,17,5
648         lwz     0,4(7)
649         rotrwi  3,11,6
650         rotrwi  4,11,11
651         and     5,12,11
652         andc    6,13,11
653         add     0,0,14
654         xor     3,3,4
655         rotrwi  4,4,14
656         or      5,5,6
657         add     0,0,17
658         xor     3,3,4
659         add     0,0,5
660         add     0,0,3
662         rotrwi  3,15,2
663         rotrwi  4,15,13
664         and     5,15,8
665         and     6,15,9
666         xor     3,3,4
667         rotrwi  4,4,9
668         xor     5,5,6
669         and     6,8,9
670         xor     3,3,4
671         add     10,10,0
672         xor     5,5,6
673         add     14,0,3
674         add     14,14,5
676         rotrwi  3,19,7
677         rotrwi  4,19,18
678         rotrwi  5,16,17
679         rotrwi  6,16,19
680         xor     3,3,4
681         srwi    4,19,3
682         xor     5,5,6
683         srwi    6,16,10
684         add     18,18,27
685         xor     3,3,4
686         xor     5,5,6
687         add     18,18,3
688         add     18,18,5
689         lwz     0,8(7)
690         rotrwi  3,10,6
691         rotrwi  4,10,11
692         and     5,11,10
693         andc    6,12,10
694         add     0,0,13
695         xor     3,3,4
696         rotrwi  4,4,14
697         or      5,5,6
698         add     0,0,18
699         xor     3,3,4
700         add     0,0,5
701         add     0,0,3
703         rotrwi  3,14,2
704         rotrwi  4,14,13
705         and     5,14,15
706         and     6,14,8
707         xor     3,3,4
708         rotrwi  4,4,9
709         xor     5,5,6
710         and     6,15,8
711         xor     3,3,4
712         add     9,9,0
713         xor     5,5,6
714         add     13,0,3
715         add     13,13,5
717         rotrwi  3,20,7
718         rotrwi  4,20,18
719         rotrwi  5,17,17
720         rotrwi  6,17,19
721         xor     3,3,4
722         srwi    4,20,3
723         xor     5,5,6
724         srwi    6,17,10
725         add     19,19,28
726         xor     3,3,4
727         xor     5,5,6
728         add     19,19,3
729         add     19,19,5
730         lwz     0,12(7)
731         rotrwi  3,9,6
732         rotrwi  4,9,11
733         and     5,10,9
734         andc    6,11,9
735         add     0,0,12
736         xor     3,3,4
737         rotrwi  4,4,14
738         or      5,5,6
739         add     0,0,19
740         xor     3,3,4
741         add     0,0,5
742         add     0,0,3
744         rotrwi  3,13,2
745         rotrwi  4,13,13
746         and     5,13,14
747         and     6,13,15
748         xor     3,3,4
749         rotrwi  4,4,9
750         xor     5,5,6
751         and     6,14,15
752         xor     3,3,4
753         add     8,8,0
754         xor     5,5,6
755         add     12,0,3
756         add     12,12,5
758         rotrwi  3,21,7
759         rotrwi  4,21,18
760         rotrwi  5,18,17
761         rotrwi  6,18,19
762         xor     3,3,4
763         srwi    4,21,3
764         xor     5,5,6
765         srwi    6,18,10
766         add     20,20,29
767         xor     3,3,4
768         xor     5,5,6
769         add     20,20,3
770         add     20,20,5
771         lwz     0,16(7)
772         rotrwi  3,8,6
773         rotrwi  4,8,11
774         and     5,9,8
775         andc    6,10,8
776         add     0,0,11
777         xor     3,3,4
778         rotrwi  4,4,14
779         or      5,5,6
780         add     0,0,20
781         xor     3,3,4
782         add     0,0,5
783         add     0,0,3
785         rotrwi  3,12,2
786         rotrwi  4,12,13
787         and     5,12,13
788         and     6,12,14
789         xor     3,3,4
790         rotrwi  4,4,9
791         xor     5,5,6
792         and     6,13,14
793         xor     3,3,4
794         add     15,15,0
795         xor     5,5,6
796         add     11,0,3
797         add     11,11,5
799         rotrwi  3,22,7
800         rotrwi  4,22,18
801         rotrwi  5,19,17
802         rotrwi  6,19,19
803         xor     3,3,4
804         srwi    4,22,3
805         xor     5,5,6
806         srwi    6,19,10
807         add     21,21,30
808         xor     3,3,4
809         xor     5,5,6
810         add     21,21,3
811         add     21,21,5
812         lwz     0,20(7)
813         rotrwi  3,15,6
814         rotrwi  4,15,11
815         and     5,8,15
816         andc    6,9,15
817         add     0,0,10
818         xor     3,3,4
819         rotrwi  4,4,14
820         or      5,5,6
821         add     0,0,21
822         xor     3,3,4
823         add     0,0,5
824         add     0,0,3
826         rotrwi  3,11,2
827         rotrwi  4,11,13
828         and     5,11,12
829         and     6,11,13
830         xor     3,3,4
831         rotrwi  4,4,9
832         xor     5,5,6
833         and     6,12,13
834         xor     3,3,4
835         add     14,14,0
836         xor     5,5,6
837         add     10,0,3
838         add     10,10,5
840         rotrwi  3,23,7
841         rotrwi  4,23,18
842         rotrwi  5,20,17
843         rotrwi  6,20,19
844         xor     3,3,4
845         srwi    4,23,3
846         xor     5,5,6
847         srwi    6,20,10
848         add     22,22,31
849         xor     3,3,4
850         xor     5,5,6
851         add     22,22,3
852         add     22,22,5
853         lwz     0,24(7)
854         rotrwi  3,14,6
855         rotrwi  4,14,11
856         and     5,15,14
857         andc    6,8,14
858         add     0,0,9
859         xor     3,3,4
860         rotrwi  4,4,14
861         or      5,5,6
862         add     0,0,22
863         xor     3,3,4
864         add     0,0,5
865         add     0,0,3
867         rotrwi  3,10,2
868         rotrwi  4,10,13
869         and     5,10,11
870         and     6,10,12
871         xor     3,3,4
872         rotrwi  4,4,9
873         xor     5,5,6
874         and     6,11,12
875         xor     3,3,4
876         add     13,13,0
877         xor     5,5,6
878         add     9,0,3
879         add     9,9,5
881         rotrwi  3,24,7
882         rotrwi  4,24,18
883         rotrwi  5,21,17
884         rotrwi  6,21,19
885         xor     3,3,4
886         srwi    4,24,3
887         xor     5,5,6
888         srwi    6,21,10
889         add     23,23,16
890         xor     3,3,4
891         xor     5,5,6
892         add     23,23,3
893         add     23,23,5
894         lwz     0,28(7)
895         rotrwi  3,13,6
896         rotrwi  4,13,11
897         and     5,14,13
898         andc    6,15,13
899         add     0,0,8
900         xor     3,3,4
901         rotrwi  4,4,14
902         or      5,5,6
903         add     0,0,23
904         xor     3,3,4
905         add     0,0,5
906         add     0,0,3
908         rotrwi  3,9,2
909         rotrwi  4,9,13
910         and     5,9,10
911         and     6,9,11
912         xor     3,3,4
913         rotrwi  4,4,9
914         xor     5,5,6
915         and     6,10,11
916         xor     3,3,4
917         add     12,12,0
918         xor     5,5,6
919         add     8,0,3
920         add     8,8,5
922         rotrwi  3,25,7
923         rotrwi  4,25,18
924         rotrwi  5,22,17
925         rotrwi  6,22,19
926         xor     3,3,4
927         srwi    4,25,3
928         xor     5,5,6
929         srwi    6,22,10
930         add     24,24,17
931         xor     3,3,4
932         xor     5,5,6
933         add     24,24,3
934         add     24,24,5
935         lwz     0,32(7)
936         rotrwi  3,12,6
937         rotrwi  4,12,11
938         and     5,13,12
939         andc    6,14,12
940         add     0,0,15
941         xor     3,3,4
942         rotrwi  4,4,14
943         or      5,5,6
944         add     0,0,24
945         xor     3,3,4
946         add     0,0,5
947         add     0,0,3
949         rotrwi  3,8,2
950         rotrwi  4,8,13
951         and     5,8,9
952         and     6,8,10
953         xor     3,3,4
954         rotrwi  4,4,9
955         xor     5,5,6
956         and     6,9,10
957         xor     3,3,4
958         add     11,11,0
959         xor     5,5,6
960         add     15,0,3
961         add     15,15,5
963         rotrwi  3,26,7
964         rotrwi  4,26,18
965         rotrwi  5,23,17
966         rotrwi  6,23,19
967         xor     3,3,4
968         srwi    4,26,3
969         xor     5,5,6
970         srwi    6,23,10
971         add     25,25,18
972         xor     3,3,4
973         xor     5,5,6
974         add     25,25,3
975         add     25,25,5
976         lwz     0,36(7)
977         rotrwi  3,11,6
978         rotrwi  4,11,11
979         and     5,12,11
980         andc    6,13,11
981         add     0,0,14
982         xor     3,3,4
983         rotrwi  4,4,14
984         or      5,5,6
985         add     0,0,25
986         xor     3,3,4
987         add     0,0,5
988         add     0,0,3
990         rotrwi  3,15,2
991         rotrwi  4,15,13
992         and     5,15,8
993         and     6,15,9
994         xor     3,3,4
995         rotrwi  4,4,9
996         xor     5,5,6
997         and     6,8,9
998         xor     3,3,4
999         add     10,10,0
1000         xor     5,5,6
1001         add     14,0,3
1002         add     14,14,5
1004         rotrwi  3,27,7
1005         rotrwi  4,27,18
1006         rotrwi  5,24,17
1007         rotrwi  6,24,19
1008         xor     3,3,4
1009         srwi    4,27,3
1010         xor     5,5,6
1011         srwi    6,24,10
1012         add     26,26,19
1013         xor     3,3,4
1014         xor     5,5,6
1015         add     26,26,3
1016         add     26,26,5
1017         lwz     0,40(7)
1018         rotrwi  3,10,6
1019         rotrwi  4,10,11
1020         and     5,11,10
1021         andc    6,12,10
1022         add     0,0,13
1023         xor     3,3,4
1024         rotrwi  4,4,14
1025         or      5,5,6
1026         add     0,0,26
1027         xor     3,3,4
1028         add     0,0,5
1029         add     0,0,3
1031         rotrwi  3,14,2
1032         rotrwi  4,14,13
1033         and     5,14,15
1034         and     6,14,8
1035         xor     3,3,4
1036         rotrwi  4,4,9
1037         xor     5,5,6
1038         and     6,15,8
1039         xor     3,3,4
1040         add     9,9,0
1041         xor     5,5,6
1042         add     13,0,3
1043         add     13,13,5
1045         rotrwi  3,28,7
1046         rotrwi  4,28,18
1047         rotrwi  5,25,17
1048         rotrwi  6,25,19
1049         xor     3,3,4
1050         srwi    4,28,3
1051         xor     5,5,6
1052         srwi    6,25,10
1053         add     27,27,20
1054         xor     3,3,4
1055         xor     5,5,6
1056         add     27,27,3
1057         add     27,27,5
1058         lwz     0,44(7)
1059         rotrwi  3,9,6
1060         rotrwi  4,9,11
1061         and     5,10,9
1062         andc    6,11,9
1063         add     0,0,12
1064         xor     3,3,4
1065         rotrwi  4,4,14
1066         or      5,5,6
1067         add     0,0,27
1068         xor     3,3,4
1069         add     0,0,5
1070         add     0,0,3
1072         rotrwi  3,13,2
1073         rotrwi  4,13,13
1074         and     5,13,14
1075         and     6,13,15
1076         xor     3,3,4
1077         rotrwi  4,4,9
1078         xor     5,5,6
1079         and     6,14,15
1080         xor     3,3,4
1081         add     8,8,0
1082         xor     5,5,6
1083         add     12,0,3
1084         add     12,12,5
1086         rotrwi  3,29,7
1087         rotrwi  4,29,18
1088         rotrwi  5,26,17
1089         rotrwi  6,26,19
1090         xor     3,3,4
1091         srwi    4,29,3
1092         xor     5,5,6
1093         srwi    6,26,10
1094         add     28,28,21
1095         xor     3,3,4
1096         xor     5,5,6
1097         add     28,28,3
1098         add     28,28,5
1099         lwz     0,48(7)
1100         rotrwi  3,8,6
1101         rotrwi  4,8,11
1102         and     5,9,8
1103         andc    6,10,8
1104         add     0,0,11
1105         xor     3,3,4
1106         rotrwi  4,4,14
1107         or      5,5,6
1108         add     0,0,28
1109         xor     3,3,4
1110         add     0,0,5
1111         add     0,0,3
1113         rotrwi  3,12,2
1114         rotrwi  4,12,13
1115         and     5,12,13
1116         and     6,12,14
1117         xor     3,3,4
1118         rotrwi  4,4,9
1119         xor     5,5,6
1120         and     6,13,14
1121         xor     3,3,4
1122         add     15,15,0
1123         xor     5,5,6
1124         add     11,0,3
1125         add     11,11,5
1127         rotrwi  3,30,7
1128         rotrwi  4,30,18
1129         rotrwi  5,27,17
1130         rotrwi  6,27,19
1131         xor     3,3,4
1132         srwi    4,30,3
1133         xor     5,5,6
1134         srwi    6,27,10
1135         add     29,29,22
1136         xor     3,3,4
1137         xor     5,5,6
1138         add     29,29,3
1139         add     29,29,5
1140         lwz     0,52(7)
1141         rotrwi  3,15,6
1142         rotrwi  4,15,11
1143         and     5,8,15
1144         andc    6,9,15
1145         add     0,0,10
1146         xor     3,3,4
1147         rotrwi  4,4,14
1148         or      5,5,6
1149         add     0,0,29
1150         xor     3,3,4
1151         add     0,0,5
1152         add     0,0,3
1154         rotrwi  3,11,2
1155         rotrwi  4,11,13
1156         and     5,11,12
1157         and     6,11,13
1158         xor     3,3,4
1159         rotrwi  4,4,9
1160         xor     5,5,6
1161         and     6,12,13
1162         xor     3,3,4
1163         add     14,14,0
1164         xor     5,5,6
1165         add     10,0,3
1166         add     10,10,5
1168         rotrwi  3,31,7
1169         rotrwi  4,31,18
1170         rotrwi  5,28,17
1171         rotrwi  6,28,19
1172         xor     3,3,4
1173         srwi    4,31,3
1174         xor     5,5,6
1175         srwi    6,28,10
1176         add     30,30,23
1177         xor     3,3,4
1178         xor     5,5,6
1179         add     30,30,3
1180         add     30,30,5
1181         lwz     0,56(7)
1182         rotrwi  3,14,6
1183         rotrwi  4,14,11
1184         and     5,15,14
1185         andc    6,8,14
1186         add     0,0,9
1187         xor     3,3,4
1188         rotrwi  4,4,14
1189         or      5,5,6
1190         add     0,0,30
1191         xor     3,3,4
1192         add     0,0,5
1193         add     0,0,3
1195         rotrwi  3,10,2
1196         rotrwi  4,10,13
1197         and     5,10,11
1198         and     6,10,12
1199         xor     3,3,4
1200         rotrwi  4,4,9
1201         xor     5,5,6
1202         and     6,11,12
1203         xor     3,3,4
1204         add     13,13,0
1205         xor     5,5,6
1206         add     9,0,3
1207         add     9,9,5
1209         rotrwi  3,16,7
1210         rotrwi  4,16,18
1211         rotrwi  5,29,17
1212         rotrwi  6,29,19
1213         xor     3,3,4
1214         srwi    4,16,3
1215         xor     5,5,6
1216         srwi    6,29,10
1217         add     31,31,24
1218         xor     3,3,4
1219         xor     5,5,6
1220         add     31,31,3
1221         add     31,31,5
1222         lwz     0,60(7)
1223         rotrwi  3,13,6
1224         rotrwi  4,13,11
1225         and     5,14,13
1226         andc    6,15,13
1227         add     0,0,8
1228         xor     3,3,4
1229         rotrwi  4,4,14
1230         or      5,5,6
1231         add     0,0,31
1232         xor     3,3,4
1233         add     0,0,5
1234         add     0,0,3
1236         rotrwi  3,9,2
1237         rotrwi  4,9,13
1238         and     5,9,10
1239         and     6,9,11
1240         xor     3,3,4
1241         rotrwi  4,4,9
1242         xor     5,5,6
1243         and     6,10,11
1244         xor     3,3,4
1245         add     12,12,0
1246         xor     5,5,6
1247         add     8,0,3
1248         add     8,8,5
1250         bdnz+   .Lrounds
1252         lwz     3,40(1)
1253         lwz     31,36(1)
1254         lwz     5,32(1)
1255         subi    7,7,192
1257         lwz     16,0(3)
1258         lwz     17,4(3)
1259         lwz     18,8(3)
1260         lwz     19,12(3)
1261         lwz     20,16(3)
1262         lwz     21,20(3)
1263         lwz     22,24(3)
1264         addi    31,31,64
1265         lwz     23,28(3)
1266         add     8,8,16
1267         add     9,9,17
1268         stw     31,36(1)
1269         add     10,10,18
1270         stw     8,0(3)
1271         add     11,11,19
1272         stw     9,4(3)
1273         add     12,12,20
1274         stw     10,8(3)
1275         add     13,13,21
1276         stw     11,12(3)
1277         add     14,14,22
1278         stw     12,16(3)
1279         add     15,15,23
1280         stw     13,20(3)
1281         stw     14,24(3)
1282         .long   0x7c1f2840
1283         stw     15,28(3)
1284         bne     .Lsha2_block_private
1285         blr     
1286 .align  6
1287 .LPICmeup:
1288         bl      .LPIC
1289         addi    7,7,60
1290         b       .LPICedup
1291         nop     
1292         nop     
1293         nop     
1294         nop     
1295         nop     
1296 .LPIC:  mflr    7
1297         blr     
1298         nop     
1299         nop     
1300         nop     
1301         nop     
1302         nop     
1303         nop     
1304 .long   0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1305 .long   0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1306 .long   0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1307 .long   0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1308 .long   0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1309 .long   0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1310 .long   0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1311 .long   0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1312 .long   0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1313 .long   0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1314 .long   0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1315 .long   0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1316 .long   0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1317 .long   0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1318 .long   0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1319 .long   0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2