• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.machine	"any"
2.abiversion	2
3.text
4.globl	poly1305_init_int
5.type	poly1305_init_int,@function
6.align	4
7poly1305_init_int:
8.localentry	poly1305_init_int,0
9
10	xor	0,0,0
11	std	0,0(3)
12	std	0,8(3)
13	std	0,16(3)
14	stw	0,24(3)
15
16	cmpld	4,0
17	beq-	.Lno_key
18	ld	10,0(4)
19	ld	11,8(4)
20	lis	8,0xfff
21	ori	8,8,0xfffc
22	insrdi	8,8,32,0
23	ori	7,8,3
24
25	and	10,10,7
26	and	11,11,8
27
28	std	10,32(3)
29	std	11,40(3)
30
31.Lno_key:
32	xor	3,3,3
33	blr
34.long	0
35.byte	0,12,0x14,0,0,0,2,0
36.size	poly1305_init_int,.-poly1305_init_int
37
38.globl	poly1305_blocks
39.type	poly1305_blocks,@function
40.align	4
41poly1305_blocks:
42.localentry	poly1305_blocks,0
43
44.Lpoly1305_blocks:
45	srdi.	5,5,4
46	beq-	.Labort
47
48	stdu	1,-192(1)
49	mflr	0
50	std	27,152(1)
51	std	28,160(1)
52	std	29,168(1)
53	std	30,176(1)
54	std	31,184(1)
55	std	0,208(1)
56
57	ld	27,32(3)
58	ld	28,40(3)
59
60	ld	7,0(3)
61	ld	8,8(3)
62	ld	9,16(3)
63
64	srdi	29,28,2
65	mtctr	5
66	add	29,29,28
67	li	0,3
68	b	.Loop
69
70.align	4
71.Loop:
72	ld	30,0(4)
73	ld	31,8(4)
74	addi	4,4,16
75
76	addc	7,7,30
77	adde	8,8,31
78
79	mulld	10,7,27
80	mulhdu	11,7,27
81	adde	9,9,6
82
83	mulld	30,8,29
84	mulhdu	31,8,29
85	addc	10,10,30
86	adde	11,11,31
87
88	mulld	30,7,28
89	mulhdu	12,7,28
90	addc	11,11,30
91	addze	12,12
92
93	mulld	30,8,27
94	mulhdu	31,8,27
95	addc	11,11,30
96	adde	12,12,31
97
98	mulld	30,9,29
99	mulld	31,9,27
100	addc	11,11,30
101	adde	12,12,31
102
103	andc	30,12,0
104	and	9,12,0
105	srdi	31,30,2
106	add	30,30,31
107	addc	7,10,30
108	addze	8,11
109	addze	9,9
110
111	bdnz	.Loop
112
113	std	7,0(3)
114	std	8,8(3)
115	std	9,16(3)
116
117	ld	27,152(1)
118	ld	28,160(1)
119	ld	29,168(1)
120	ld	30,176(1)
121	ld	31,184(1)
122	addi	1,1,192
123.Labort:
124	blr
125.long	0
126.byte	0,12,4,1,0x80,5,4,0
127.size	poly1305_blocks,.-poly1305_blocks
128.globl	poly1305_emit
129.type	poly1305_emit,@function
130.align	5
131poly1305_emit:
132.localentry	poly1305_emit,0
133
134	lwz	7,0(3)
135	lwz	8,4(3)
136	lwz	9,8(3)
137	lwz	10,12(3)
138	lwz	11,16(3)
139	lwz	0,24(3)
140
141	sldi	8,8,26
142	sldi	12,9,52
143	srdi	9,9,12
144	sldi	10,10,14
145	add	7,7,8
146	addc	7,7,12
147	sldi	12,11,40
148	srdi	11,11,24
149	adde	8,9,10
150	addc	8,8,12
151	addze	9,11
152
153	ld	10,0(3)
154	ld	11,8(3)
155	ld	12,16(3)
156
157	neg	0,0
158	xor	7,7,10
159	xor	8,8,11
160	xor	9,9,12
161	and	7,7,0
162	and	8,8,0
163	and	9,9,0
164	xor	7,7,10
165	xor	8,8,11
166	xor	9,9,12
167
168	addic	10,7,5
169	addze	11,8
170	addze	12,9
171
172	srdi	12,12,2
173	neg	12,12
174
175	andc	7,7,12
176	and	10,10,12
177	andc	8,8,12
178	and	11,11,12
179	or	7,7,10
180	or	8,8,11
181
182	lwz	12,4(5)
183	lwz	9,12(5)
184	lwz	10,0(5)
185	lwz	11,8(5)
186
187	insrdi	10,12,32,0
188	insrdi	11,9,32,0
189
190	addc	7,7,10
191	adde	8,8,11
192
193	addi	3,4,-1
194	addi	4,4,7
195
196	stbu	7,1(3)
197	srdi	7,7,8
198	stbu	8,1(4)
199	srdi	8,8,8
200
201	stbu	7,1(3)
202	srdi	7,7,8
203	stbu	8,1(4)
204	srdi	8,8,8
205
206	stbu	7,1(3)
207	srdi	7,7,8
208	stbu	8,1(4)
209	srdi	8,8,8
210
211	stbu	7,1(3)
212	srdi	7,7,8
213	stbu	8,1(4)
214	srdi	8,8,8
215
216	stbu	7,1(3)
217	srdi	7,7,8
218	stbu	8,1(4)
219	srdi	8,8,8
220
221	stbu	7,1(3)
222	srdi	7,7,8
223	stbu	8,1(4)
224	srdi	8,8,8
225
226	stbu	7,1(3)
227	srdi	7,7,8
228	stbu	8,1(4)
229	srdi	8,8,8
230
231	stbu	7,1(3)
232	stbu	8,1(4)
233
234	blr
235.long	0
236.byte	0,12,0x14,0,0,0,3,0
237.size	poly1305_emit,.-poly1305_emit
238.globl	poly1305_blocks_vsx
239.type	poly1305_blocks_vsx,@function
240.align	5
241poly1305_blocks_vsx:
242.localentry	poly1305_blocks_vsx,0
243
244	lwz	7,24(3)
245	cmpldi	5,128
246	bge	__poly1305_blocks_vsx
247
248	neg	0,7
249	lwz	7,0(3)
250	lwz	8,4(3)
251	lwz	9,8(3)
252	lwz	10,12(3)
253	lwz	11,16(3)
254
255	sldi	8,8,26
256	sldi	12,9,52
257	add	7,7,8
258	srdi	9,9,12
259	sldi	10,10,14
260	addc	7,7,12
261	sldi	8,11,40
262	adde	9,9,10
263	srdi	11,11,24
264	addc	9,9,8
265	addze	11,11
266
267	ld	8,0(3)
268	ld	10,8(3)
269	ld	12,16(3)
270
271	xor	7,7,8
272	xor	9,9,10
273	xor	11,11,12
274	and	7,7,0
275	and	9,9,0
276	and	11,11,0
277	xor	7,7,8
278	xor	9,9,10
279	xor	11,11,12
280
281	li	0,0
282	std	7,0(3)
283	std	9,8(3)
284	std	11,16(3)
285	stw	0,24(3)
286
287	b	.Lpoly1305_blocks
288.long	0
289.byte	0,12,0x14,0,0,0,4,0
290.size	poly1305_blocks_vsx,.-poly1305_blocks_vsx
291
292.align	5
293__poly1305_mul:
294	mulld	9,6,27
295	mulhdu	10,6,27
296
297	mulld	30,7,29
298	mulhdu	31,7,29
299	addc	9,9,30
300	adde	10,10,31
301
302	mulld	30,6,28
303	mulhdu	11,6,28
304	addc	10,10,30
305	addze	11,11
306
307	mulld	30,7,27
308	mulhdu	31,7,27
309	addc	10,10,30
310	adde	11,11,31
311
312	mulld	30,8,29
313	mulld	31,8,27
314	addc	10,10,30
315	adde	11,11,31
316
317	andc	30,11,0
318	and	8,11,0
319	srdi	31,30,2
320	add	30,30,31
321	addc	6,9,30
322	addze	7,10
323	addze	8,8
324
325	blr
326.long	0
327.byte	0,12,0x14,0,0,0,0,0
328.size	__poly1305_mul,.-__poly1305_mul
329
330.align	5
331__poly1305_splat:
332	rldicl	9,6,0,38
333	rldicl	10,6,38,38
334	stw	9,0x00(31)
335
336	rldicl	11,6,12,52
337	slwi	9,10,2
338	stw	10,0x10(31)
339	add	9,9,10
340	stw	9,0x20(31)
341
342	insrdi	11,7,14,38
343	slwi	9,11,2
344	stw	11,0x30(31)
345	add	9,9,11
346	stw	9,0x40(31)
347
348	rldicl	10,7,50,38
349	rldicl	11,7,24,40
350	slwi	9,10,2
351	stw	10,0x50(31)
352	add	9,9,10
353	stw	9,0x60(31)
354
355	insrdi	11,8,3,37
356	slwi	9,11,2
357	stw	11,0x70(31)
358	add	9,9,11
359	stw	9,0x80(31)
360
361	blr
362.long	0
363.byte	0,12,0x14,0,0,0,0,0
364.size	__poly1305_splat,.-__poly1305_splat
365
366.align	5
367__poly1305_blocks_vsx:
368	stdu	1,-432(1)
369	mflr	0
370	li	10,191
371	li	11,207
372	li	12,-1
373	stvx	20,10,1
374	addi	10,10,32
375	stvx	21,11,1
376	addi	11,11,32
377	stvx	22,10,1
378	addi	10,10,32
379	stvx	23,10,1
380	addi	10,10,32
381	stvx	24,11,1
382	addi	11,11,32
383	stvx	25,10,1
384	addi	10,10,32
385	stvx	26,10,1
386	addi	10,10,32
387	stvx	27,11,1
388	addi	11,11,32
389	stvx	28,10,1
390	addi	10,10,32
391	stvx	29,11,1
392	addi	11,11,32
393	stvx	30,10,1
394	stvx	31,11,1
395	stw	12,388(1)
396	li	12,-1
397	or	12,12,12
398	std	27,392(1)
399	std	28,400(1)
400	std	29,408(1)
401	std	30,416(1)
402	std	31,424(1)
403	std	0,448(1)
404
405	bl	.LPICmeup
406
407	li	27,0x10
408	li	28,0x20
409	li	29,0x30
410	li	30,0x40
411	li	31,0x50
412	.long	0x7FA06699
413	.long	0x7F3B6699
414	.long	0x7F7C6699
415	.long	0x7FFD6699
416	.long	0x7FDE6699
417
418	cmplwi	7,0
419	bne	.Lskip_init_vsx
420
421	ld	27,32(3)
422	ld	28,40(3)
423	srdi	29,28,2
424	li	0,3
425	add	29,29,28
426
427	mr	6,27
428	mr	7,28
429	li	8,0
430	addi	31,3,60
431	bl	__poly1305_splat
432
433	bl	__poly1305_mul
434	addi	31,3,52
435	bl	__poly1305_splat
436
437	bl	__poly1305_mul
438	addi	31,3,56
439	bl	__poly1305_splat
440
441	bl	__poly1305_mul
442	addi	31,3,48
443	bl	__poly1305_splat
444
445	ld	6,0(3)
446	ld	7,8(3)
447	ld	8,16(3)
448
449	rldicl	9,6,0,38
450	rldicl	10,6,38,38
451	rldicl	11,6,12,52
452	.long	0x7C0901E7
453	insrdi	11,7,14,38
454	.long	0x7C2A01E7
455	rldicl	10,7,50,38
456	.long	0x7C4B01E7
457	rldicl	11,7,24,40
458	.long	0x7C6A01E7
459	insrdi	11,8,3,37
460	.long	0x7C8B01E7
461	li	0,1
462	stw	0,24(3)
463	b	.Loaded_vsx
464
465.align	4
466.Lskip_init_vsx:
467	li	27,4
468	li	28,8
469	li	29,12
470	li	30,16
471	.long	0x7C001819
472	.long	0x7C3B1819
473	.long	0x7C5C1819
474	.long	0x7C7D1819
475	.long	0x7C9E1819
476
477.Loaded_vsx:
478	li	27,0x10
479	li	28,0x20
480	li	29,0x30
481	li	30,0x40
482	li	31,0x50
483	li	7,0x60
484	li	8,0x70
485	addi	10,3,64
486	addi	11,1,63
487
488	vxor	20,20,20
489	.long	0xF000A057
490	.long	0xF021A057
491	.long	0xF042A057
492	.long	0xF063A057
493	.long	0xF084A057
494
495
496	.long	0x7EA02699
497	.long	0x7EDB2699
498	.long	0x7EFC2699
499	.long	0x7F1D2699
500
501
502
503
504
505	.long	0xF0B5B057
506	vspltisb	26,4
507	vperm	7,21,22,31
508	vspltisb	28,14
509	.long	0xF115B357
510
511	.long	0x10C5CEC4
512	.long	0x10E7D6C4
513	.long	0x1128DEC4
514	.long	0x1108E6C4
515	vand	5,5,29
516	vand	6,6,29
517	vand	7,7,29
518	vand	8,8,29
519
520	.long	0xF2B7C057
521	vperm	22,23,24,31
522	.long	0xF2F7C357
523
524	.long	0x1295CEC4
525	.long	0x12D6D6C4
526	.long	0x1317DEC4
527	.long	0x12F7E6C4
528	vand	21,21,29
529	vand	20,20,29
530	vand	22,22,29
531	vand	23,23,29
532
533
534	.long	0x11384E8C
535	.long	0x10B52E8C
536	.long	0x10D4368C
537	.long	0x10F63E8C
538	.long	0x1117468C
539	vor	9,9,30
540
541	.long	0x7D5D1A99
542	.long	0x7D605299
543	.long	0x7D9B5299
544	.long	0x7DBC5299
545	.long	0x7DDD5299
546	.long	0x7EBE5299
547	.long	0x7EDF5299
548	.long	0x7EE75299
549	.long	0x7F085299
550	stvx	11,0,11
551	stvx	12,27,11
552	stvx	13,28,11
553	stvx	14,29,11
554	stvx	21,30,11
555	stvx	22,31,11
556	stvx	23,7,11
557	stvx	24,8,11
558
559	addi	4,4,0x40
560	addi	12,12,0x50
561	addi	0,5,-64
562	srdi	0,0,6
563	mtctr	0
564	b	.Loop_vsx
565
566.align	4
567.Loop_vsx:
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582	.long	0x11E55288
583	.long	0x12055A88
584	.long	0x12256A88
585	.long	0x12466A88
586
587	.long	0x12865288
588	.long	0x1210A0C0
589	.long	0x12865A88
590	.long	0x1231A0C0
591	.long	0x12676A88
592	.long	0x12896288
593	.long	0x11EFA0C0
594	.long	0x12875A88
595	.long	0x1252A0C0
596	lvx	12,31,11
597	.long	0x12885A88
598	.long	0x1273A0C0
599	lvx	11,30,11
600
601	.long	0x104238C0
602	.long	0x100028C0
603	.long	0x106340C0
604	.long	0x102130C0
605	.long	0x108448C0
606
607	.long	0x12887288
608	.long	0x11EFA0C0
609	.long	0x12897288
610	.long	0x1210A0C0
611	.long	0x12875288
612	.long	0x1231A0C0
613	.long	0x12885288
614	.long	0x1252A0C0
615	lvx	14,8,11
616	.long	0x12895288
617	.long	0x1273A0C0
618	lvx	13,7,11
619
620	.long	0x12876288
621	.long	0x11EFA0C0
622	.long	0x12886288
623	.long	0x1210A0C0
624	.long	0x12896288
625	.long	0x1231A0C0
626	.long	0x12855A88
627	.long	0x1252A0C0
628	.long	0x12865A88
629	.long	0x1273A0C0
630
631
632	.long	0x7EA02699
633	.long	0x7EDB2699
634	.long	0x7EFC2699
635	.long	0x7F1D2699
636
637
638
639
640
641	.long	0x12867288
642	.long	0x11EFA0C0
643	.long	0x12877288
644	.long	0x1210A0C0
645	.long	0x12887288
646	.long	0x1231A0C0
647	.long	0x12897288
648	.long	0x1252A0C0
649	.long	0x12856A88
650	.long	0x1273A0C0
651
652	.long	0xF0B5B057
653	vspltisb	26,4
654	vperm	7,21,22,31
655	.long	0xF115B357
656
657
658	.long	0x12805088
659	.long	0x11EFA0C0
660	.long	0x12815088
661	.long	0x1210A0C0
662	.long	0x12825088
663	.long	0x1231A0C0
664	.long	0x12835088
665	.long	0x1252A0C0
666	.long	0x12845088
667	.long	0x1273A0C0
668
669	.long	0xF2B7C057
670	vperm	22,23,24,31
671	.long	0xF2F7C357
672
673	.long	0x12826088
674	.long	0x11EFA0C0
675	.long	0x12836088
676	.long	0x1210A0C0
677	.long	0x12846088
678	.long	0x1231A0C0
679	.long	0x12805888
680	.long	0x1252A0C0
681	lvx	12,27,11
682	.long	0x12815888
683	.long	0x1273A0C0
684	lvx	11,0,11
685
686	.long	0x10C5CEC4
687	.long	0x10E7D6C4
688	.long	0x1128DEC4
689	.long	0x1108E6C4
690
691	.long	0x12817088
692	.long	0x11EFA0C0
693	.long	0x12827088
694	.long	0x1210A0C0
695	.long	0x12837088
696	.long	0x1231A0C0
697	.long	0x12847088
698	.long	0x1252A0C0
699	lvx	14,29,11
700	.long	0x12806888
701	.long	0x1273A0C0
702	lvx	13,28,11
703
704	vand	5,5,29
705	vand	6,6,29
706	vand	7,7,29
707	vand	8,8,29
708
709	.long	0x12846088
710	.long	0x11EFA0C0
711	.long	0x12805888
712	.long	0x1210A0C0
713	.long	0x12815888
714	.long	0x1231A0C0
715	.long	0x12825888
716	.long	0x1252A0C0
717	.long	0x12835888
718	.long	0x1273A0C0
719
720	.long	0x12D6D6C4
721	.long	0x1355CEC4
722	.long	0x1317DEC4
723	.long	0x12F7E6C4
724
725	.long	0x12837088
726	.long	0x11EFA0C0
727	.long	0x12847088
728	.long	0x1210A0C0
729	.long	0x12806888
730	.long	0x1231A0C0
731	.long	0x12816888
732	.long	0x1252A0C0
733	.long	0x12826888
734	.long	0x1273A0C0
735
736	vand	21,21,29
737	vand	26,26,29
738	vand	22,22,29
739	vand	23,23,29
740
741
742
743
744
745	vspltisb	20,2
746	.long	0x1092CEC4
747	.long	0x102FCEC4
748	vand	3,18,29
749	vand	0,15,29
750	.long	0x108498C0
751	.long	0x102180C0
752
753	.long	0x11384E8C
754	.long	0x10B52E8C
755	.long	0x10DA368C
756	.long	0x10F63E8C
757	.long	0x1117468C
758	vor	9,9,30
759
760	.long	0x1264CEC4
761	.long	0x1201CEC4
762	vand	4,4,29
763	vand	1,1,29
764	.long	0x100098C0
765	.long	0x105180C0
766
767	.long	0x1273A5C4
768	.long	0x1222CEC4
769	vand	2,2,29
770	.long	0x100098C0
771	.long	0x106388C0
772
773	.long	0x11E0CEC4
774	.long	0x1243CEC4
775	vand	0,0,29
776	vand	3,3,29
777	.long	0x102178C0
778	.long	0x108490C0
779
780	addi	4,4,0x40
781	bdnz	.Loop_vsx
782
783	neg	5,5
784	andi.	5,5,0x30
785	sub	4,4,5
786
787	.long	0x7D5D1E99
788	.long	0x7D605699
789	.long	0x7D9B5699
790	.long	0x7DBC5699
791	.long	0x7DDD5699
792
793.Last_vsx:
794	.long	0x11E55288
795	.long	0x12065288
796	.long	0x12275288
797	.long	0x12485288
798	.long	0x12695288
799
800	.long	0x12896288
801	.long	0x11EFA0C0
802	.long	0x12855A88
803	.long	0x1210A0C0
804	.long	0x12865A88
805	.long	0x1231A0C0
806	.long	0x12875A88
807	.long	0x1252A0C0
808	.long	0x7D9F5699
809	.long	0x12885A88
810	.long	0x1273A0C0
811	.long	0x7D7E5699
812
813	.long	0x104238C0
814	.long	0x100028C0
815	.long	0x106340C0
816	.long	0x102130C0
817	.long	0x108448C0
818
819	.long	0x12887288
820	.long	0x11EFA0C0
821	.long	0x12897288
822	.long	0x1210A0C0
823	.long	0x12856A88
824	.long	0x1231A0C0
825	.long	0x12866A88
826	.long	0x1252A0C0
827	.long	0x7DC85699
828	.long	0x12876A88
829	.long	0x1273A0C0
830	.long	0x7DA75699
831
832	.long	0x12876288
833	.long	0x11EFA0C0
834	.long	0x12886288
835	.long	0x1210A0C0
836	.long	0x12896288
837	.long	0x1231A0C0
838	.long	0x12855A88
839	.long	0x1252A0C0
840	.long	0x12865A88
841	.long	0x1273A0C0
842
843	.long	0x12867288
844	.long	0x11EFA0C0
845	.long	0x12877288
846	.long	0x1210A0C0
847	.long	0x12887288
848	.long	0x1231A0C0
849	.long	0x12897288
850	.long	0x1252A0C0
851	.long	0x12856A88
852	.long	0x1273A0C0
853
854
855	.long	0x12805088
856	.long	0x11EFA0C0
857	.long	0x12815088
858	.long	0x1210A0C0
859	.long	0x12825088
860	.long	0x1231A0C0
861	.long	0x12835088
862	.long	0x1252A0C0
863	.long	0x12845088
864	.long	0x1273A0C0
865
866	.long	0x12826088
867	.long	0x11EFA0C0
868	.long	0x12836088
869	.long	0x1210A0C0
870	.long	0x12846088
871	.long	0x1231A0C0
872	.long	0x12805888
873	.long	0x1252A0C0
874	.long	0x7D9B5699
875	.long	0x12815888
876	.long	0x1273A0C0
877	.long	0x7D605699
878
879	.long	0x12817088
880	.long	0x11EFA0C0
881	.long	0x12827088
882	.long	0x1210A0C0
883	.long	0x12837088
884	.long	0x1231A0C0
885	.long	0x12847088
886	.long	0x1252A0C0
887	.long	0x7DDD5699
888	.long	0x12806888
889	.long	0x1273A0C0
890	.long	0x7DBC5699
891
892	.long	0x12846088
893	.long	0x11EFA0C0
894	.long	0x12805888
895	.long	0x1210A0C0
896	.long	0x12815888
897	.long	0x1231A0C0
898	.long	0x12825888
899	.long	0x1252A0C0
900	.long	0x12835888
901	.long	0x1273A0C0
902
903	.long	0x12837088
904	.long	0x11EFA0C0
905	.long	0x12847088
906	.long	0x1210A0C0
907	.long	0x12806888
908	.long	0x1231A0C0
909	.long	0x12816888
910	.long	0x1252A0C0
911	.long	0x12826888
912	.long	0x1273A0C0
913
914
915
916
917	.long	0xF00F7A57
918	.long	0xF0308257
919	.long	0xF0518A57
920	.long	0xF0729257
921	.long	0xF0939A57
922	.long	0x11EF00C0
923	.long	0x121008C0
924	.long	0x123110C0
925	.long	0x125218C0
926	.long	0x127320C0
927
928
929
930
931	vspltisb	20,2
932	.long	0x1092CEC4
933	.long	0x102FCEC4
934	vand	3,18,29
935	vand	0,15,29
936	.long	0x108498C0
937	.long	0x102180C0
938
939	.long	0x1264CEC4
940	.long	0x1201CEC4
941	vand	4,4,29
942	vand	1,1,29
943	.long	0x100098C0
944	.long	0x105180C0
945
946	.long	0x1273A5C4
947	.long	0x1222CEC4
948	vand	2,2,29
949	.long	0x100098C0
950	.long	0x106388C0
951
952	.long	0x11E0CEC4
953	.long	0x1243CEC4
954	vand	0,0,29
955	vand	3,3,29
956	.long	0x102178C0
957	.long	0x108490C0
958
959	beq	.Ldone_vsx
960
961	add	6,12,5
962
963
964	.long	0x7EA02699
965	.long	0x7EDB2699
966	.long	0x7EFC2699
967	.long	0x7F1D2699
968
969
970
971
972
973	.long	0xF0B5B057
974	vspltisb	26,4
975	vperm	7,21,22,31
976	.long	0xF115B357
977
978	.long	0x10C5CEC4
979	.long	0x10E7D6C4
980	.long	0x1128DEC4
981	.long	0x1108E6C4
982	vand	5,5,29
983	vand	6,6,29
984	vand	7,7,29
985	vand	8,8,29
986
987	.long	0xF297C057
988	vperm	21,23,24,31
989	.long	0xF2D7C357
990
991	.long	0x7DE03699
992	.long	0x7E1D3699
993
994	.long	0x12F4CEC4
995	.long	0x12B5D6C4
996	.long	0x1316DEC4
997	.long	0x12D6E6C4
998	vand	20,20,29
999	vand	23,23,29
1000	vand	21,21,29
1001	vand	22,22,29
1002
1003
1004	.long	0x11384E8C
1005	.long	0x10B42E8C
1006	.long	0x10D7368C
1007	.long	0x10F53E8C
1008	.long	0x1116468C
1009	vor	9,9,30
1010
1011	vperm	0,0,0,15
1012	vand	5,5,    16
1013	vperm	1,1,1,15
1014	vand	6,6,    16
1015	vperm	2,2,2,15
1016	vand	7,7,    16
1017	vperm	3,3,3,15
1018	vand	8,8,    16
1019	vperm	4,4,4,15
1020	vand	9,9,    16
1021
1022	.long	0x10A500C0
1023	vxor	0,0,0
1024	.long	0x10C608C0
1025	vxor	1,1,1
1026	.long	0x10E710C0
1027	vxor	2,2,2
1028	.long	0x110818C0
1029	vxor	3,3,3
1030	.long	0x112920C0
1031	vxor	4,4,4
1032
1033	xor.	5,5,5
1034	b	.Last_vsx
1035
1036.align	4
1037.Ldone_vsx:
1038	ld	0,448(1)
1039	li	27,4
1040	li	28,8
1041	li	29,12
1042	li	30,16
1043	.long	0x7C001919
1044	.long	0x7C3B1919
1045	.long	0x7C5C1919
1046	.long	0x7C7D1919
1047	.long	0x7C9E1919
1048
1049	lwz	12,388(1)
1050	mtlr	0
1051	li	10,191
1052	li	11,207
1053	or	12,12,12
1054	lvx	20,10,1
1055	addi	10,10,32
1056	lvx	21,10,1
1057	addi	10,10,32
1058	lvx	22,11,1
1059	addi	11,11,32
1060	lvx	23,10,1
1061	addi	10,10,32
1062	lvx	24,11,1
1063	addi	11,11,32
1064	lvx	25,10,1
1065	addi	10,10,32
1066	lvx	26,11,1
1067	addi	11,11,32
1068	lvx	27,10,1
1069	addi	10,10,32
1070	lvx	28,11,1
1071	addi	11,11,32
1072	lvx	29,10,1
1073	addi	10,10,32
1074	lvx	30,11,1
1075	lvx	31,10,1
1076	ld	27,392(1)
1077	ld	28,400(1)
1078	ld	29,408(1)
1079	ld	30,416(1)
1080	ld	31,424(1)
1081	addi	1,1,432
1082	blr
1083.long	0
1084.byte	0,12,0x04,1,0x80,5,4,0
1085.long	0
1086.size	__poly1305_blocks_vsx,.-__poly1305_blocks_vsx
1087
1088.align	6
1089.LPICmeup:
1090	mflr	0
1091	bcl	20,31,$+4
1092	mflr	12
1093	addi	12,12,56
1094	mtlr	0
1095	blr
1096.long	0
1097.byte	0,12,0x14,0,0,0,0,0
1098.space	28
1099
1100.long	0x03ffffff,0x00000000
1101.long	0x03ffffff,0x00000000
1102.long	0x0000001a,0x00000000
1103.long	0x0000001a,0x00000000
1104.long	0x00000028,0x00000000
1105.long	0x00000028,0x00000000
1106.long	0x0e0f0001,0x00000000
1107.long	0x1e1f1011,0x00000000
1108.long	0x01000000,0x01000000
1109.long	0x01000000,0x01000000
1110.long	0x03020100,0x07060504
1111.long	0x0b0a0908,0x0f0e0d0c
1112
1113.long	0x00000000,0x00000000
1114.long	0x04050607,0x00000000
1115.long	0x00000000,0x04050607
1116.long	0x00000000,0x00000000
1117.long	0x00000000,0x00000000
1118.long	0x00000000,0x04050607
1119
1120.long	0x00000000,0xffffffff
1121.long	0xffffffff,0xffffffff
1122.long	0x00000000,0xffffffff
1123.long	0x00000000,0xffffffff
1124.long	0x00000000,0x00000000
1125.long	0x00000000,0xffffffff
1126.byte	80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,64,100,111,116,45,97,115,109,0
1127.align	2
1128