1.text
2
3.globl	sha256_block_data_order
4.type	sha256_block_data_order,@function
5.align	6
6sha256_block_data_order:
7	mflr	0
8	stwu	1,-192(1)
9	slwi	5,5,6
10
11	stw	3,40(1)
12
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)
34
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)
44
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
92
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
110
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
139
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
153
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
168
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
182
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
197
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
211
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
226
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
240
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
255
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
269
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
284
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
298
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
313
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
327
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
342
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
356
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
371
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
385
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
400
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
414
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
429
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
443
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
458
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
472
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
487
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
501
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
516
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
530
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
545
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
559
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
574
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
588
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
620
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
634
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
661
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
675
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
702
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
716
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
743
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
757
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
784
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
798
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
825
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
839
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
866
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
880
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
907
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
921
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
948
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
962
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
989
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
1003
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
1030
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
1044
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
1071
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
1085
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
1112
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
1126
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
1153
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
1167
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
1194
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
1208
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
1235
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
1249
1250	bdnz+	.Lrounds
1251
1252	lwz	3,40(1)
1253	lwz	31,36(1)
1254	lwz	5,32(1)
1255	subi	7,7,192
1256
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
1320