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