1.machine	"any"
2.text
3
4.globl	sha256_block_data_order
5.type	sha256_block_data_order,@function
6.align	6
7sha256_block_data_order:
8	stwu	1,-192(1)
9	mflr	0
10	slwi	5,5,6
11
12	stw	3,104(1)
13
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)
35
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)
45
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
56
57
58
59
60
61
62
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
76
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
94
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
106
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
135
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
152
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
166
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
181
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
195
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
210
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
224
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
239
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
253
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
268
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
282
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
297
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
311
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
326
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
340
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
355
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
369
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
384
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
398
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
413
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
427
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
442
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
456
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
471
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
485
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
500
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
514
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
529
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
543
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
558
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
572
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
587
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
601
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
633
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
647
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
674
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
688
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
715
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
729
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
756
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
770
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
797
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
811
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
838
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
852
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
879
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
893
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
920
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
934
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
961
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
975
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
1002
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
1016
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
1043
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
1057
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
1084
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
1098
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
1125
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
1139
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
1166
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
1180
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
1207
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
1221
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
1248
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
1262
1263	bdnz+	.Lrounds
1264
1265	lwz	3,104(1)
1266	lwz	31,100(1)
1267	lwz	5,96(1)
1268	subi	7,7,192
1269
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
1328