xref: /freebsd/sys/crypto/openssl/powerpc/poly1305-ppc.S (revision c0855eaa3ee9614804b6bd6a255aa9f71e095f43)
13a608692SPiotr Kubaj/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
23a608692SPiotr Kubaj.machine	"any"
33a608692SPiotr Kubaj.text
43a608692SPiotr Kubaj.globl	poly1305_init_int
53a608692SPiotr Kubaj.type	poly1305_init_int,@function
63a608692SPiotr Kubaj.align	4
73a608692SPiotr Kubajpoly1305_init_int:
83a608692SPiotr Kubaj	xor	0,0,0
93a608692SPiotr Kubaj	stw	0,0(3)
103a608692SPiotr Kubaj	stw	0,4(3)
113a608692SPiotr Kubaj	stw	0,8(3)
123a608692SPiotr Kubaj	stw	0,12(3)
133a608692SPiotr Kubaj	stw	0,16(3)
14*c0855eaaSJohn Baldwin	stw	0,24(3)
153a608692SPiotr Kubaj
163a608692SPiotr Kubaj	.long	0x7c040040
173a608692SPiotr Kubaj	beq-	.Lno_key
183a608692SPiotr Kubaj	li	8,4
193a608692SPiotr Kubaj	lwbrx	7,0,4
203a608692SPiotr Kubaj	li	9,8
213a608692SPiotr Kubaj	lwbrx	8,8,4
223a608692SPiotr Kubaj	li	10,12
233a608692SPiotr Kubaj	lwbrx	9,9,4
243a608692SPiotr Kubaj	lwbrx	10,10,4
253a608692SPiotr Kubaj	lis	0,0xf000
263a608692SPiotr Kubaj	li	12,-4
273a608692SPiotr Kubaj	andc	12,12,0
283a608692SPiotr Kubaj
293a608692SPiotr Kubaj	andc	7,7,0
303a608692SPiotr Kubaj	and	8,8,12
313a608692SPiotr Kubaj	and	9,9,12
323a608692SPiotr Kubaj	and	10,10,12
333a608692SPiotr Kubaj
343a608692SPiotr Kubaj	stw	7,32(3)
353a608692SPiotr Kubaj	stw	8,36(3)
363a608692SPiotr Kubaj	stw	9,40(3)
373a608692SPiotr Kubaj	stw	10,44(3)
383a608692SPiotr Kubaj
393a608692SPiotr Kubaj.Lno_key:
403a608692SPiotr Kubaj	xor	3,3,3
413a608692SPiotr Kubaj	blr
423a608692SPiotr Kubaj.long	0
433a608692SPiotr Kubaj.byte	0,12,0x14,0,0,0,2,0
443a608692SPiotr Kubaj.size	poly1305_init_int,.-poly1305_init_int
453a608692SPiotr Kubaj
463a608692SPiotr Kubaj.globl	poly1305_blocks
473a608692SPiotr Kubaj.type	poly1305_blocks,@function
483a608692SPiotr Kubaj.align	4
493a608692SPiotr Kubajpoly1305_blocks:
50*c0855eaaSJohn Baldwin.Lpoly1305_blocks:
513a608692SPiotr Kubaj	srwi.	5,5,4
523a608692SPiotr Kubaj	beq-	.Labort
533a608692SPiotr Kubaj
543a608692SPiotr Kubaj	stwu	1,-96(1)
553a608692SPiotr Kubaj	mflr	0
563a608692SPiotr Kubaj	stw	14,24(1)
573a608692SPiotr Kubaj	stw	15,28(1)
583a608692SPiotr Kubaj	stw	16,32(1)
593a608692SPiotr Kubaj	stw	17,36(1)
603a608692SPiotr Kubaj	stw	18,40(1)
613a608692SPiotr Kubaj	stw	19,44(1)
623a608692SPiotr Kubaj	stw	20,48(1)
633a608692SPiotr Kubaj	stw	21,52(1)
643a608692SPiotr Kubaj	stw	22,56(1)
653a608692SPiotr Kubaj	stw	23,60(1)
663a608692SPiotr Kubaj	stw	24,64(1)
673a608692SPiotr Kubaj	stw	25,68(1)
683a608692SPiotr Kubaj	stw	26,72(1)
693a608692SPiotr Kubaj	stw	27,76(1)
703a608692SPiotr Kubaj	stw	28,80(1)
713a608692SPiotr Kubaj	stw	29,84(1)
723a608692SPiotr Kubaj	stw	30,88(1)
733a608692SPiotr Kubaj	stw	31,92(1)
743a608692SPiotr Kubaj	stw	0,100(1)
753a608692SPiotr Kubaj
763a608692SPiotr Kubaj	lwz	12,32(3)
773a608692SPiotr Kubaj	lwz	14,36(3)
783a608692SPiotr Kubaj	lwz	15,40(3)
793a608692SPiotr Kubaj	lwz	16,44(3)
803a608692SPiotr Kubaj
813a608692SPiotr Kubaj	lwz	7,0(3)
823a608692SPiotr Kubaj	lwz	8,4(3)
833a608692SPiotr Kubaj	lwz	9,8(3)
843a608692SPiotr Kubaj	lwz	10,12(3)
853a608692SPiotr Kubaj	lwz	11,16(3)
863a608692SPiotr Kubaj
873a608692SPiotr Kubaj	srwi	17,14,2
883a608692SPiotr Kubaj	srwi	18,15,2
893a608692SPiotr Kubaj	srwi	19,16,2
903a608692SPiotr Kubaj	add	17,17,14
913a608692SPiotr Kubaj	add	18,18,15
923a608692SPiotr Kubaj	add	19,19,16
933a608692SPiotr Kubaj	mtctr	5
943a608692SPiotr Kubaj	li	0,3
953a608692SPiotr Kubaj	b	.Loop
963a608692SPiotr Kubaj
973a608692SPiotr Kubaj.align	4
983a608692SPiotr Kubaj.Loop:
993a608692SPiotr Kubaj	li	29,4
1003a608692SPiotr Kubaj	lwbrx	28,0,4
1013a608692SPiotr Kubaj	li	30,8
1023a608692SPiotr Kubaj	lwbrx	29,29,4
1033a608692SPiotr Kubaj	li	31,12
1043a608692SPiotr Kubaj	lwbrx	30,30,4
1053a608692SPiotr Kubaj	lwbrx	31,31,4
1063a608692SPiotr Kubaj	addi	4,4,16
1073a608692SPiotr Kubaj
1083a608692SPiotr Kubaj	addc	7,7,28
1093a608692SPiotr Kubaj	adde	8,8,29
1103a608692SPiotr Kubaj	adde	9,9,30
1113a608692SPiotr Kubaj
1123a608692SPiotr Kubaj	mullw	28,7,12
1133a608692SPiotr Kubaj	mulhwu	24,7,12
1143a608692SPiotr Kubaj
1153a608692SPiotr Kubaj	mullw	29,7,14
1163a608692SPiotr Kubaj	mulhwu	25,7,14
1173a608692SPiotr Kubaj
1183a608692SPiotr Kubaj	mullw	30,7,15
1193a608692SPiotr Kubaj	mulhwu	26,7,15
1203a608692SPiotr Kubaj
1213a608692SPiotr Kubaj	adde	10,10,31
1223a608692SPiotr Kubaj	adde	11,11,6
1233a608692SPiotr Kubaj
1243a608692SPiotr Kubaj	mullw	31,7,16
1253a608692SPiotr Kubaj	mulhwu	27,7,16
1263a608692SPiotr Kubaj
1273a608692SPiotr Kubaj	mullw	20,8,19
1283a608692SPiotr Kubaj	mulhwu	21,8,19
1293a608692SPiotr Kubaj
1303a608692SPiotr Kubaj	mullw	22,8,12
1313a608692SPiotr Kubaj	mulhwu	23,8,12
1323a608692SPiotr Kubaj	addc	28,28,20
1333a608692SPiotr Kubaj	adde	24,24,21
1343a608692SPiotr Kubaj
1353a608692SPiotr Kubaj	mullw	20,8,14
1363a608692SPiotr Kubaj	mulhwu	21,8,14
1373a608692SPiotr Kubaj	addc	29,29,22
1383a608692SPiotr Kubaj	adde	25,25,23
1393a608692SPiotr Kubaj
1403a608692SPiotr Kubaj	mullw	22,8,15
1413a608692SPiotr Kubaj	mulhwu	23,8,15
1423a608692SPiotr Kubaj	addc	30,30,20
1433a608692SPiotr Kubaj	adde	26,26,21
1443a608692SPiotr Kubaj
1453a608692SPiotr Kubaj	mullw	20,9,18
1463a608692SPiotr Kubaj	mulhwu	21,9,18
1473a608692SPiotr Kubaj	addc	31,31,22
1483a608692SPiotr Kubaj	adde	27,27,23
1493a608692SPiotr Kubaj
1503a608692SPiotr Kubaj	mullw	22,9,19
1513a608692SPiotr Kubaj	mulhwu	23,9,19
1523a608692SPiotr Kubaj	addc	28,28,20
1533a608692SPiotr Kubaj	adde	24,24,21
1543a608692SPiotr Kubaj
1553a608692SPiotr Kubaj	mullw	20,9,12
1563a608692SPiotr Kubaj	mulhwu	21,9,12
1573a608692SPiotr Kubaj	addc	29,29,22
1583a608692SPiotr Kubaj	adde	25,25,23
1593a608692SPiotr Kubaj
1603a608692SPiotr Kubaj	mullw	22,9,14
1613a608692SPiotr Kubaj	mulhwu	23,9,14
1623a608692SPiotr Kubaj	addc	30,30,20
1633a608692SPiotr Kubaj	adde	26,26,21
1643a608692SPiotr Kubaj
1653a608692SPiotr Kubaj	mullw	20,10,17
1663a608692SPiotr Kubaj	mulhwu	21,10,17
1673a608692SPiotr Kubaj	addc	31,31,22
1683a608692SPiotr Kubaj	adde	27,27,23
1693a608692SPiotr Kubaj
1703a608692SPiotr Kubaj	mullw	22,10,18
1713a608692SPiotr Kubaj	mulhwu	23,10,18
1723a608692SPiotr Kubaj	addc	28,28,20
1733a608692SPiotr Kubaj	adde	24,24,21
1743a608692SPiotr Kubaj
1753a608692SPiotr Kubaj	mullw	20,10,19
1763a608692SPiotr Kubaj	mulhwu	21,10,19
1773a608692SPiotr Kubaj	addc	29,29,22
1783a608692SPiotr Kubaj	adde	25,25,23
1793a608692SPiotr Kubaj
1803a608692SPiotr Kubaj	mullw	22,10,12
1813a608692SPiotr Kubaj	mulhwu	23,10,12
1823a608692SPiotr Kubaj	addc	30,30,20
1833a608692SPiotr Kubaj	adde	26,26,21
1843a608692SPiotr Kubaj
1853a608692SPiotr Kubaj	mullw	20,11,17
1863a608692SPiotr Kubaj	addc	31,31,22
1873a608692SPiotr Kubaj	adde	27,27,23
1883a608692SPiotr Kubaj	addc	29,29,20
1893a608692SPiotr Kubaj
1903a608692SPiotr Kubaj	mullw	21,11,18
1913a608692SPiotr Kubaj	addze	25,25
1923a608692SPiotr Kubaj	addc	30,30,21
1933a608692SPiotr Kubaj	addze	26,26
1943a608692SPiotr Kubaj
1953a608692SPiotr Kubaj	mullw	22,11,19
1963a608692SPiotr Kubaj	addc	31,31,22
1973a608692SPiotr Kubaj	addze	27,27
1983a608692SPiotr Kubaj
1993a608692SPiotr Kubaj	mullw	11,11,12
2003a608692SPiotr Kubaj
2013a608692SPiotr Kubaj	addc	8,29,24
2023a608692SPiotr Kubaj	adde	9,30,25
2033a608692SPiotr Kubaj	adde	10,31,26
2043a608692SPiotr Kubaj	adde	11,11,27
2053a608692SPiotr Kubaj
2063a608692SPiotr Kubaj	andc	24,11,0
2073a608692SPiotr Kubaj	and	11,11,0
2083a608692SPiotr Kubaj	srwi	25,24,2
2093a608692SPiotr Kubaj	add	24,24,25
2103a608692SPiotr Kubaj	addc	7,28,24
2113a608692SPiotr Kubaj	addze	8,8
2123a608692SPiotr Kubaj	addze	9,9
2133a608692SPiotr Kubaj	addze	10,10
2143a608692SPiotr Kubaj	addze	11,11
2153a608692SPiotr Kubaj
2163a608692SPiotr Kubaj	bdnz	.Loop
2173a608692SPiotr Kubaj
2183a608692SPiotr Kubaj	stw	7,0(3)
2193a608692SPiotr Kubaj	stw	8,4(3)
2203a608692SPiotr Kubaj	stw	9,8(3)
2213a608692SPiotr Kubaj	stw	10,12(3)
2223a608692SPiotr Kubaj	stw	11,16(3)
2233a608692SPiotr Kubaj
2243a608692SPiotr Kubaj	lwz	14,24(1)
2253a608692SPiotr Kubaj	lwz	15,28(1)
2263a608692SPiotr Kubaj	lwz	16,32(1)
2273a608692SPiotr Kubaj	lwz	17,36(1)
2283a608692SPiotr Kubaj	lwz	18,40(1)
2293a608692SPiotr Kubaj	lwz	19,44(1)
2303a608692SPiotr Kubaj	lwz	20,48(1)
2313a608692SPiotr Kubaj	lwz	21,52(1)
2323a608692SPiotr Kubaj	lwz	22,56(1)
2333a608692SPiotr Kubaj	lwz	23,60(1)
2343a608692SPiotr Kubaj	lwz	24,64(1)
2353a608692SPiotr Kubaj	lwz	25,68(1)
2363a608692SPiotr Kubaj	lwz	26,72(1)
2373a608692SPiotr Kubaj	lwz	27,76(1)
2383a608692SPiotr Kubaj	lwz	28,80(1)
2393a608692SPiotr Kubaj	lwz	29,84(1)
2403a608692SPiotr Kubaj	lwz	30,88(1)
2413a608692SPiotr Kubaj	lwz	31,92(1)
2423a608692SPiotr Kubaj	addi	1,1,96
2433a608692SPiotr Kubaj.Labort:
2443a608692SPiotr Kubaj	blr
2453a608692SPiotr Kubaj.long	0
2463a608692SPiotr Kubaj.byte	0,12,4,1,0x80,18,4,0
2473a608692SPiotr Kubaj.size	poly1305_blocks,.-poly1305_blocks
2483a608692SPiotr Kubaj.globl	poly1305_emit
2493a608692SPiotr Kubaj.type	poly1305_emit,@function
250*c0855eaaSJohn Baldwin.align	5
2513a608692SPiotr Kubajpoly1305_emit:
252*c0855eaaSJohn Baldwin	lwz	0,24(3)
253*c0855eaaSJohn Baldwin	lwz	6,0(3)
254*c0855eaaSJohn Baldwin	lwz	7,4(3)
255*c0855eaaSJohn Baldwin	lwz	8,8(3)
256*c0855eaaSJohn Baldwin	lwz	9,12(3)
257*c0855eaaSJohn Baldwin	lwz	10,16(3)
258*c0855eaaSJohn Baldwin	cmplwi	0,0
259*c0855eaaSJohn Baldwin	beq	.Lemit_base2_32
260*c0855eaaSJohn Baldwin
261*c0855eaaSJohn Baldwin	slwi	11,7,26
262*c0855eaaSJohn Baldwin	srwi	7,7,6
263*c0855eaaSJohn Baldwin	slwi	12,8,20
264*c0855eaaSJohn Baldwin	srwi	8,8,12
265*c0855eaaSJohn Baldwin	addc	6,6,11
266*c0855eaaSJohn Baldwin	slwi	11,9,14
267*c0855eaaSJohn Baldwin	srwi	9,9,18
268*c0855eaaSJohn Baldwin	adde	7,7,12
269*c0855eaaSJohn Baldwin	slwi	12,10,8
270*c0855eaaSJohn Baldwin	srwi	10,10,24
271*c0855eaaSJohn Baldwin	adde	8,8,11
272*c0855eaaSJohn Baldwin	adde	9,9,12
273*c0855eaaSJohn Baldwin	addze	10,10
274*c0855eaaSJohn Baldwin
275*c0855eaaSJohn Baldwin.Lemit_base2_32:
276*c0855eaaSJohn Baldwin	addic	0,6,5
277*c0855eaaSJohn Baldwin	addze	0,7
278*c0855eaaSJohn Baldwin	addze	0,8
279*c0855eaaSJohn Baldwin	addze	0,9
280*c0855eaaSJohn Baldwin	addze	0,10
281*c0855eaaSJohn Baldwin
282*c0855eaaSJohn Baldwin	srwi	0,0,2
283*c0855eaaSJohn Baldwin	neg	0,0
284*c0855eaaSJohn Baldwin	andi.	0,0,5
285*c0855eaaSJohn Baldwin
286*c0855eaaSJohn Baldwin	addc	6,6,0
287*c0855eaaSJohn Baldwin	lwz	0,0(5)
288*c0855eaaSJohn Baldwin	addze	7,7
289*c0855eaaSJohn Baldwin	lwz	11,4(5)
290*c0855eaaSJohn Baldwin	addze	8,8
291*c0855eaaSJohn Baldwin	lwz	12,8(5)
292*c0855eaaSJohn Baldwin	addze	9,9
293*c0855eaaSJohn Baldwin	lwz	10,12(5)
294*c0855eaaSJohn Baldwin
295*c0855eaaSJohn Baldwin	addc	6,6,0
296*c0855eaaSJohn Baldwin	adde	7,7,11
297*c0855eaaSJohn Baldwin	adde	8,8,12
298*c0855eaaSJohn Baldwin	adde	9,9,10
299*c0855eaaSJohn Baldwin
300*c0855eaaSJohn Baldwin	addi	3,4,-1
301*c0855eaaSJohn Baldwin	addi	4,4,7
302*c0855eaaSJohn Baldwin
303*c0855eaaSJohn Baldwin	stbu	6,1(3)
304*c0855eaaSJohn Baldwin	srwi	6,6,8
305*c0855eaaSJohn Baldwin	stbu	8,1(4)
306*c0855eaaSJohn Baldwin	srwi	8,8,8
307*c0855eaaSJohn Baldwin
308*c0855eaaSJohn Baldwin	stbu	6,1(3)
309*c0855eaaSJohn Baldwin	srwi	6,6,8
310*c0855eaaSJohn Baldwin	stbu	8,1(4)
311*c0855eaaSJohn Baldwin	srwi	8,8,8
312*c0855eaaSJohn Baldwin
313*c0855eaaSJohn Baldwin	stbu	6,1(3)
314*c0855eaaSJohn Baldwin	srwi	6,6,8
315*c0855eaaSJohn Baldwin	stbu	8,1(4)
316*c0855eaaSJohn Baldwin	srwi	8,8,8
317*c0855eaaSJohn Baldwin
318*c0855eaaSJohn Baldwin	stbu	6,1(3)
319*c0855eaaSJohn Baldwin	stbu	8,1(4)
320*c0855eaaSJohn Baldwin
321*c0855eaaSJohn Baldwin	stbu	7,1(3)
322*c0855eaaSJohn Baldwin	srwi	7,7,8
323*c0855eaaSJohn Baldwin	stbu	9,1(4)
324*c0855eaaSJohn Baldwin	srwi	9,9,8
325*c0855eaaSJohn Baldwin
326*c0855eaaSJohn Baldwin	stbu	7,1(3)
327*c0855eaaSJohn Baldwin	srwi	7,7,8
328*c0855eaaSJohn Baldwin	stbu	9,1(4)
329*c0855eaaSJohn Baldwin	srwi	9,9,8
330*c0855eaaSJohn Baldwin
331*c0855eaaSJohn Baldwin	stbu	7,1(3)
332*c0855eaaSJohn Baldwin	srwi	7,7,8
333*c0855eaaSJohn Baldwin	stbu	9,1(4)
334*c0855eaaSJohn Baldwin	srwi	9,9,8
335*c0855eaaSJohn Baldwin
336*c0855eaaSJohn Baldwin	stbu	7,1(3)
337*c0855eaaSJohn Baldwin	stbu	9,1(4)
338*c0855eaaSJohn Baldwin
339*c0855eaaSJohn Baldwin	blr
340*c0855eaaSJohn Baldwin.long	0
341*c0855eaaSJohn Baldwin.byte	0,12,0x14,0,0,0,3,0
342*c0855eaaSJohn Baldwin.size	poly1305_emit,.-poly1305_emit
343*c0855eaaSJohn Baldwin.globl	poly1305_blocks_vsx
344*c0855eaaSJohn Baldwin.type	poly1305_blocks_vsx,@function
345*c0855eaaSJohn Baldwin.align	5
346*c0855eaaSJohn Baldwinpoly1305_blocks_vsx:
347*c0855eaaSJohn Baldwin	lwz	7,24(3)
348*c0855eaaSJohn Baldwin	cmplwi	5,128
349*c0855eaaSJohn Baldwin	bge	__poly1305_blocks_vsx
350*c0855eaaSJohn Baldwin	cmplwi	7,0
351*c0855eaaSJohn Baldwin	beq	.Lpoly1305_blocks
3523a608692SPiotr Kubaj
3533a608692SPiotr Kubaj	lwz	7,0(3)
3543a608692SPiotr Kubaj	lwz	8,4(3)
3553a608692SPiotr Kubaj	lwz	9,8(3)
3563a608692SPiotr Kubaj	lwz	10,12(3)
3573a608692SPiotr Kubaj	lwz	11,16(3)
3583a608692SPiotr Kubaj
359*c0855eaaSJohn Baldwin	slwi	0,8,26
360*c0855eaaSJohn Baldwin	srwi	8,8,6
361*c0855eaaSJohn Baldwin	slwi	12,9,20
362*c0855eaaSJohn Baldwin	srwi	9,9,12
363*c0855eaaSJohn Baldwin	addc	7,7,0
364*c0855eaaSJohn Baldwin	slwi	0,10,14
365*c0855eaaSJohn Baldwin	srwi	10,10,18
366*c0855eaaSJohn Baldwin	adde	8,8,12
367*c0855eaaSJohn Baldwin	slwi	12,11,8
368*c0855eaaSJohn Baldwin	srwi	11,11,24
369*c0855eaaSJohn Baldwin	adde	9,9,0
370*c0855eaaSJohn Baldwin	li	0,0
371*c0855eaaSJohn Baldwin	adde	10,10,12
372*c0855eaaSJohn Baldwin	addze	11,11
3733a608692SPiotr Kubaj
374*c0855eaaSJohn Baldwin	stw	7,0(3)
375*c0855eaaSJohn Baldwin	stw	8,4(3)
376*c0855eaaSJohn Baldwin	stw	9,8(3)
377*c0855eaaSJohn Baldwin	stw	10,12(3)
378*c0855eaaSJohn Baldwin	stw	11,16(3)
379*c0855eaaSJohn Baldwin	stw	0,24(3)
3803a608692SPiotr Kubaj
381*c0855eaaSJohn Baldwin	b	.Lpoly1305_blocks
382*c0855eaaSJohn Baldwin.long	0
383*c0855eaaSJohn Baldwin.byte	0,12,0x14,0,0,0,4,0
384*c0855eaaSJohn Baldwin.size	poly1305_blocks_vsx,.-poly1305_blocks_vsx
3853a608692SPiotr Kubaj
386*c0855eaaSJohn Baldwin.align	5
387*c0855eaaSJohn Baldwin__poly1305_mul:
388*c0855eaaSJohn Baldwin	.long	0x11E05088
389*c0855eaaSJohn Baldwin	.long	0x12015088
390*c0855eaaSJohn Baldwin	.long	0x12225088
391*c0855eaaSJohn Baldwin	.long	0x12435088
392*c0855eaaSJohn Baldwin	.long	0x12645088
393*c0855eaaSJohn Baldwin
394*c0855eaaSJohn Baldwin	.long	0x12846088
395*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
396*c0855eaaSJohn Baldwin	.long	0x12805888
397*c0855eaaSJohn Baldwin	.long	0x1210A0C0
398*c0855eaaSJohn Baldwin	.long	0x12815888
399*c0855eaaSJohn Baldwin	.long	0x1231A0C0
400*c0855eaaSJohn Baldwin	.long	0x12825888
401*c0855eaaSJohn Baldwin	.long	0x1252A0C0
402*c0855eaaSJohn Baldwin	.long	0x12835888
403*c0855eaaSJohn Baldwin	.long	0x1273A0C0
404*c0855eaaSJohn Baldwin
405*c0855eaaSJohn Baldwin	.long	0x12837088
406*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
407*c0855eaaSJohn Baldwin	.long	0x12847088
408*c0855eaaSJohn Baldwin	.long	0x1210A0C0
409*c0855eaaSJohn Baldwin	.long	0x12806888
410*c0855eaaSJohn Baldwin	.long	0x1231A0C0
411*c0855eaaSJohn Baldwin	.long	0x12816888
412*c0855eaaSJohn Baldwin	.long	0x1252A0C0
413*c0855eaaSJohn Baldwin	.long	0x12826888
414*c0855eaaSJohn Baldwin	.long	0x1273A0C0
415*c0855eaaSJohn Baldwin
416*c0855eaaSJohn Baldwin	.long	0x12823888
417*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
418*c0855eaaSJohn Baldwin	.long	0x12833888
419*c0855eaaSJohn Baldwin	.long	0x1210A0C0
420*c0855eaaSJohn Baldwin	.long	0x12843888
421*c0855eaaSJohn Baldwin	.long	0x1231A0C0
422*c0855eaaSJohn Baldwin	.long	0x12803088
423*c0855eaaSJohn Baldwin	.long	0x1252A0C0
424*c0855eaaSJohn Baldwin	.long	0x12813088
425*c0855eaaSJohn Baldwin	.long	0x1273A0C0
426*c0855eaaSJohn Baldwin
427*c0855eaaSJohn Baldwin	.long	0x12814888
428*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
429*c0855eaaSJohn Baldwin	.long	0x12824888
430*c0855eaaSJohn Baldwin	.long	0x1210A0C0
431*c0855eaaSJohn Baldwin	.long	0x12834888
432*c0855eaaSJohn Baldwin	.long	0x1231A0C0
433*c0855eaaSJohn Baldwin	.long	0x12844888
434*c0855eaaSJohn Baldwin	.long	0x1252A0C0
435*c0855eaaSJohn Baldwin	.long	0x12804088
436*c0855eaaSJohn Baldwin	.long	0x1273A0C0
437*c0855eaaSJohn Baldwin
438*c0855eaaSJohn Baldwin
439*c0855eaaSJohn Baldwin
440*c0855eaaSJohn Baldwin
441*c0855eaaSJohn Baldwin	vspltisb	20,2
442*c0855eaaSJohn Baldwin	.long	0x1092CEC4
443*c0855eaaSJohn Baldwin	.long	0x102FCEC4
444*c0855eaaSJohn Baldwin	vand	3,18,29
445*c0855eaaSJohn Baldwin	vand	0,15,29
446*c0855eaaSJohn Baldwin	.long	0x108498C0
447*c0855eaaSJohn Baldwin	.long	0x102180C0
448*c0855eaaSJohn Baldwin
449*c0855eaaSJohn Baldwin	.long	0x1264CEC4
450*c0855eaaSJohn Baldwin	.long	0x1201CEC4
451*c0855eaaSJohn Baldwin	vand	4,4,29
452*c0855eaaSJohn Baldwin	vand	1,1,29
453*c0855eaaSJohn Baldwin	.long	0x100098C0
454*c0855eaaSJohn Baldwin	.long	0x105180C0
455*c0855eaaSJohn Baldwin
456*c0855eaaSJohn Baldwin	.long	0x1273A5C4
457*c0855eaaSJohn Baldwin	.long	0x1222CEC4
458*c0855eaaSJohn Baldwin	vand	2,2,29
459*c0855eaaSJohn Baldwin	.long	0x100098C0
460*c0855eaaSJohn Baldwin	.long	0x106388C0
461*c0855eaaSJohn Baldwin
462*c0855eaaSJohn Baldwin	.long	0x11E0CEC4
463*c0855eaaSJohn Baldwin	.long	0x1243CEC4
464*c0855eaaSJohn Baldwin	vand	0,0,29
465*c0855eaaSJohn Baldwin	vand	3,3,29
466*c0855eaaSJohn Baldwin	.long	0x102178C0
467*c0855eaaSJohn Baldwin	.long	0x108490C0
468*c0855eaaSJohn Baldwin
4693a608692SPiotr Kubaj	blr
4703a608692SPiotr Kubaj.long	0
471*c0855eaaSJohn Baldwin.byte	0,12,0x14,0,0,0,0,0
472*c0855eaaSJohn Baldwin.size	__poly1305_mul,.-__poly1305_mul
473*c0855eaaSJohn Baldwin
474*c0855eaaSJohn Baldwin.align	5
475*c0855eaaSJohn Baldwin__poly1305_blocks_vsx:
476*c0855eaaSJohn Baldwin	stwu	1,-384(1)
477*c0855eaaSJohn Baldwin	mflr	0
478*c0855eaaSJohn Baldwin	li	10,167
479*c0855eaaSJohn Baldwin	li	11,183
480*c0855eaaSJohn Baldwin	mfspr	12,256
481*c0855eaaSJohn Baldwin	stvx	20,10,1
482*c0855eaaSJohn Baldwin	addi	10,10,32
483*c0855eaaSJohn Baldwin	stvx	21,11,1
484*c0855eaaSJohn Baldwin	addi	11,11,32
485*c0855eaaSJohn Baldwin	stvx	22,10,1
486*c0855eaaSJohn Baldwin	addi	10,10,32
487*c0855eaaSJohn Baldwin	stvx	23,10,1
488*c0855eaaSJohn Baldwin	addi	10,10,32
489*c0855eaaSJohn Baldwin	stvx	24,11,1
490*c0855eaaSJohn Baldwin	addi	11,11,32
491*c0855eaaSJohn Baldwin	stvx	25,10,1
492*c0855eaaSJohn Baldwin	addi	10,10,32
493*c0855eaaSJohn Baldwin	stvx	26,10,1
494*c0855eaaSJohn Baldwin	addi	10,10,32
495*c0855eaaSJohn Baldwin	stvx	27,11,1
496*c0855eaaSJohn Baldwin	addi	11,11,32
497*c0855eaaSJohn Baldwin	stvx	28,10,1
498*c0855eaaSJohn Baldwin	addi	10,10,32
499*c0855eaaSJohn Baldwin	stvx	29,11,1
500*c0855eaaSJohn Baldwin	addi	11,11,32
501*c0855eaaSJohn Baldwin	stvx	30,10,1
502*c0855eaaSJohn Baldwin	stvx	31,11,1
503*c0855eaaSJohn Baldwin	stw	12,360(1)
504*c0855eaaSJohn Baldwin	li	12,-1
505*c0855eaaSJohn Baldwin	mtspr	256,12
506*c0855eaaSJohn Baldwin	stw	27,364(1)
507*c0855eaaSJohn Baldwin	stw	28,368(1)
508*c0855eaaSJohn Baldwin	stw	29,372(1)
509*c0855eaaSJohn Baldwin	stw	30,376(1)
510*c0855eaaSJohn Baldwin	stw	31,380(1)
511*c0855eaaSJohn Baldwin	stw	0,388(1)
512*c0855eaaSJohn Baldwin
513*c0855eaaSJohn Baldwin	bl	.LPICmeup
514*c0855eaaSJohn Baldwin
515*c0855eaaSJohn Baldwin	li	27,0x10
516*c0855eaaSJohn Baldwin	li	28,0x20
517*c0855eaaSJohn Baldwin	li	29,0x30
518*c0855eaaSJohn Baldwin	li	30,0x40
519*c0855eaaSJohn Baldwin	li	31,0x50
520*c0855eaaSJohn Baldwin	.long	0x7FA06699
521*c0855eaaSJohn Baldwin	.long	0x7F3B6699
522*c0855eaaSJohn Baldwin	.long	0x7F7C6699
523*c0855eaaSJohn Baldwin	.long	0x7FFD6699
524*c0855eaaSJohn Baldwin	.long	0x7FDE6699
525*c0855eaaSJohn Baldwin
526*c0855eaaSJohn Baldwin	cmplwi	7,0
527*c0855eaaSJohn Baldwin	bne	.Lskip_init_vsx
528*c0855eaaSJohn Baldwin
529*c0855eaaSJohn Baldwin	lwz	8,32(3)
530*c0855eaaSJohn Baldwin	lwz	9,36(3)
531*c0855eaaSJohn Baldwin	lwz	10,40(3)
532*c0855eaaSJohn Baldwin	lwz	11,44(3)
533*c0855eaaSJohn Baldwin
534*c0855eaaSJohn Baldwin	extrwi	7,8,26,6
535*c0855eaaSJohn Baldwin	extrwi	8,8,6,0
536*c0855eaaSJohn Baldwin	insrwi	8,9,20,6
537*c0855eaaSJohn Baldwin	extrwi	9,9,12,0
538*c0855eaaSJohn Baldwin	insrwi	9,10,14,6
539*c0855eaaSJohn Baldwin	extrwi	10,10,18,0
540*c0855eaaSJohn Baldwin	insrwi	10,11,8,6
541*c0855eaaSJohn Baldwin	extrwi	11,11,24,0
542*c0855eaaSJohn Baldwin
543*c0855eaaSJohn Baldwin	.long	0x7D4701E7
544*c0855eaaSJohn Baldwin	slwi	7,8,2
545*c0855eaaSJohn Baldwin	.long	0x7D6801E7
546*c0855eaaSJohn Baldwin	add	8,8,7
547*c0855eaaSJohn Baldwin	.long	0x7D8801E7
548*c0855eaaSJohn Baldwin	slwi	8,9,2
549*c0855eaaSJohn Baldwin	.long	0x7DA901E7
550*c0855eaaSJohn Baldwin	add	9,9,8
551*c0855eaaSJohn Baldwin	.long	0x7DC901E7
552*c0855eaaSJohn Baldwin	slwi	9,10,2
553*c0855eaaSJohn Baldwin	.long	0x7CCA01E7
554*c0855eaaSJohn Baldwin	add	10,10,9
555*c0855eaaSJohn Baldwin	.long	0x7CEA01E7
556*c0855eaaSJohn Baldwin	slwi	10,11,2
557*c0855eaaSJohn Baldwin	.long	0x7D0B01E7
558*c0855eaaSJohn Baldwin	add	11,11,10
559*c0855eaaSJohn Baldwin	.long	0x7D2B01E7
560*c0855eaaSJohn Baldwin
561*c0855eaaSJohn Baldwin	vor	0,10,10
562*c0855eaaSJohn Baldwin	vor	1,11,11
563*c0855eaaSJohn Baldwin	vor	2,13,13
564*c0855eaaSJohn Baldwin	vor	3,6,6
565*c0855eaaSJohn Baldwin	vor	4,8,8
566*c0855eaaSJohn Baldwin
567*c0855eaaSJohn Baldwin	bl	__poly1305_mul
568*c0855eaaSJohn Baldwin
569*c0855eaaSJohn Baldwin	.long	0xF1405057
570*c0855eaaSJohn Baldwin	.long	0xF1615857
571*c0855eaaSJohn Baldwin	.long	0xF1A26857
572*c0855eaaSJohn Baldwin	.long	0xF0C33057
573*c0855eaaSJohn Baldwin	.long	0xF1044057
574*c0855eaaSJohn Baldwin	.long	0xF0000057
575*c0855eaaSJohn Baldwin	.long	0xF0210857
576*c0855eaaSJohn Baldwin	.long	0xF0421057
577*c0855eaaSJohn Baldwin	.long	0xF0631857
578*c0855eaaSJohn Baldwin	.long	0xF0842057
579*c0855eaaSJohn Baldwin	.long	0x118BA5C4
580*c0855eaaSJohn Baldwin	.long	0x11CDA5C4
581*c0855eaaSJohn Baldwin	.long	0x10E6A5C4
582*c0855eaaSJohn Baldwin	.long	0x1128A5C4
583*c0855eaaSJohn Baldwin	.long	0x118C58C0
584*c0855eaaSJohn Baldwin	.long	0x11CE68C0
585*c0855eaaSJohn Baldwin	.long	0x10E730C0
586*c0855eaaSJohn Baldwin	.long	0x112940C0
587*c0855eaaSJohn Baldwin
588*c0855eaaSJohn Baldwin	bl	__poly1305_mul
589*c0855eaaSJohn Baldwin
590*c0855eaaSJohn Baldwin	addi	7,3,0x60
591*c0855eaaSJohn Baldwin	lwz	8,0(3)
592*c0855eaaSJohn Baldwin	lwz	9,4(3)
593*c0855eaaSJohn Baldwin	lwz	10,8(3)
594*c0855eaaSJohn Baldwin	lwz	11,12(3)
595*c0855eaaSJohn Baldwin	lwz	0,16(3)
596*c0855eaaSJohn Baldwin
597*c0855eaaSJohn Baldwin	.long	0x114A068C
598*c0855eaaSJohn Baldwin	.long	0x116B0E8C
599*c0855eaaSJohn Baldwin	.long	0x11AD168C
600*c0855eaaSJohn Baldwin	.long	0x10C61E8C
601*c0855eaaSJohn Baldwin	.long	0x1108268C
602*c0855eaaSJohn Baldwin	vslw	12,11,20
603*c0855eaaSJohn Baldwin	vslw	14,13,20
604*c0855eaaSJohn Baldwin	vslw	7,6,20
605*c0855eaaSJohn Baldwin	vslw	9,8,20
606*c0855eaaSJohn Baldwin	vadduwm	12,12,11
607*c0855eaaSJohn Baldwin	vadduwm	14,14,13
608*c0855eaaSJohn Baldwin	vadduwm	7,7,6
609*c0855eaaSJohn Baldwin	vadduwm	9,9,8
610*c0855eaaSJohn Baldwin
611*c0855eaaSJohn Baldwin	.long	0x7D5D1F99
612*c0855eaaSJohn Baldwin	.long	0x7D7E1F99
613*c0855eaaSJohn Baldwin	.long	0x7D9F1F99
614*c0855eaaSJohn Baldwin	.long	0x7DA03F99
615*c0855eaaSJohn Baldwin	.long	0x7DDB3F99
616*c0855eaaSJohn Baldwin	.long	0x7CDC3F99
617*c0855eaaSJohn Baldwin	.long	0x7CFD3F99
618*c0855eaaSJohn Baldwin	.long	0x7D1E3F99
619*c0855eaaSJohn Baldwin	.long	0x7D3F3F99
620*c0855eaaSJohn Baldwin
621*c0855eaaSJohn Baldwin	extrwi	7,8,26,6
622*c0855eaaSJohn Baldwin	extrwi	8,8,6,0
623*c0855eaaSJohn Baldwin	.long	0x7C0701E7
624*c0855eaaSJohn Baldwin	insrwi	8,9,20,6
625*c0855eaaSJohn Baldwin	extrwi	9,9,12,0
626*c0855eaaSJohn Baldwin	.long	0x7C2801E7
627*c0855eaaSJohn Baldwin	insrwi	9,10,14,6
628*c0855eaaSJohn Baldwin	extrwi	10,10,18,0
629*c0855eaaSJohn Baldwin	.long	0x7C4901E7
630*c0855eaaSJohn Baldwin	insrwi	10,11,8,6
631*c0855eaaSJohn Baldwin	extrwi	11,11,24,0
632*c0855eaaSJohn Baldwin	.long	0x7C6A01E7
633*c0855eaaSJohn Baldwin	insrwi	11,0,3,5
634*c0855eaaSJohn Baldwin	.long	0x7C8B01E7
635*c0855eaaSJohn Baldwin	li	0,1
636*c0855eaaSJohn Baldwin	stw	0,24(3)
637*c0855eaaSJohn Baldwin	b	.Loaded_vsx
638*c0855eaaSJohn Baldwin
639*c0855eaaSJohn Baldwin.align	4
640*c0855eaaSJohn Baldwin.Lskip_init_vsx:
641*c0855eaaSJohn Baldwin	li	27,4
642*c0855eaaSJohn Baldwin	li	28,8
643*c0855eaaSJohn Baldwin	li	29,12
644*c0855eaaSJohn Baldwin	li	30,16
645*c0855eaaSJohn Baldwin	.long	0x7C001819
646*c0855eaaSJohn Baldwin	.long	0x7C3B1819
647*c0855eaaSJohn Baldwin	.long	0x7C5C1819
648*c0855eaaSJohn Baldwin	.long	0x7C7D1819
649*c0855eaaSJohn Baldwin	.long	0x7C9E1819
650*c0855eaaSJohn Baldwin
651*c0855eaaSJohn Baldwin.Loaded_vsx:
652*c0855eaaSJohn Baldwin	li	27,0x10
653*c0855eaaSJohn Baldwin	li	28,0x20
654*c0855eaaSJohn Baldwin	li	29,0x30
655*c0855eaaSJohn Baldwin	li	30,0x40
656*c0855eaaSJohn Baldwin	li	31,0x50
657*c0855eaaSJohn Baldwin	li	7,0x60
658*c0855eaaSJohn Baldwin	li	8,0x70
659*c0855eaaSJohn Baldwin	addi	10,3,64
660*c0855eaaSJohn Baldwin	addi	11,1,39
661*c0855eaaSJohn Baldwin
662*c0855eaaSJohn Baldwin	vxor	20,20,20
663*c0855eaaSJohn Baldwin	.long	0xF000A057
664*c0855eaaSJohn Baldwin	.long	0xF021A057
665*c0855eaaSJohn Baldwin	.long	0xF042A057
666*c0855eaaSJohn Baldwin	.long	0xF063A057
667*c0855eaaSJohn Baldwin	.long	0xF084A057
668*c0855eaaSJohn Baldwin
669*c0855eaaSJohn Baldwin	.long	0x7F5F6699
670*c0855eaaSJohn Baldwin	.long	0x7EA02699
671*c0855eaaSJohn Baldwin	.long	0x7EDB2699
672*c0855eaaSJohn Baldwin	.long	0x7EFC2699
673*c0855eaaSJohn Baldwin	.long	0x7F1D2699
674*c0855eaaSJohn Baldwin	vperm	21,21,21,26
675*c0855eaaSJohn Baldwin	vperm	22,22,22,26
676*c0855eaaSJohn Baldwin	vperm	23,23,23,26
677*c0855eaaSJohn Baldwin	vperm	24,24,24,26
678*c0855eaaSJohn Baldwin
679*c0855eaaSJohn Baldwin	.long	0xF0B5B057
680*c0855eaaSJohn Baldwin	vspltisb	26,4
681*c0855eaaSJohn Baldwin	vperm	7,21,22,31
682*c0855eaaSJohn Baldwin	vspltisb	28,14
683*c0855eaaSJohn Baldwin	.long	0xF115B357
684*c0855eaaSJohn Baldwin
685*c0855eaaSJohn Baldwin	.long	0x10C5CEC4
686*c0855eaaSJohn Baldwin	.long	0x10E7D6C4
687*c0855eaaSJohn Baldwin	.long	0x1128DEC4
688*c0855eaaSJohn Baldwin	.long	0x1108E6C4
689*c0855eaaSJohn Baldwin	vand	5,5,29
690*c0855eaaSJohn Baldwin	vand	6,6,29
691*c0855eaaSJohn Baldwin	vand	7,7,29
692*c0855eaaSJohn Baldwin	vand	8,8,29
693*c0855eaaSJohn Baldwin
694*c0855eaaSJohn Baldwin	.long	0xF2B7C057
695*c0855eaaSJohn Baldwin	vperm	22,23,24,31
696*c0855eaaSJohn Baldwin	.long	0xF2F7C357
697*c0855eaaSJohn Baldwin
698*c0855eaaSJohn Baldwin	.long	0x1295CEC4
699*c0855eaaSJohn Baldwin	.long	0x12D6D6C4
700*c0855eaaSJohn Baldwin	.long	0x1317DEC4
701*c0855eaaSJohn Baldwin	.long	0x12F7E6C4
702*c0855eaaSJohn Baldwin	vand	21,21,29
703*c0855eaaSJohn Baldwin	vand	20,20,29
704*c0855eaaSJohn Baldwin	vand	22,22,29
705*c0855eaaSJohn Baldwin	vand	23,23,29
706*c0855eaaSJohn Baldwin
707*c0855eaaSJohn Baldwin
708*c0855eaaSJohn Baldwin	.long	0x11384E8C
709*c0855eaaSJohn Baldwin	.long	0x10B52E8C
710*c0855eaaSJohn Baldwin	.long	0x10D4368C
711*c0855eaaSJohn Baldwin	.long	0x10F63E8C
712*c0855eaaSJohn Baldwin	.long	0x1117468C
713*c0855eaaSJohn Baldwin	vor	9,9,30
714*c0855eaaSJohn Baldwin
715*c0855eaaSJohn Baldwin	.long	0x7D5D1A99
716*c0855eaaSJohn Baldwin	.long	0x7D605299
717*c0855eaaSJohn Baldwin	.long	0x7D9B5299
718*c0855eaaSJohn Baldwin	.long	0x7DBC5299
719*c0855eaaSJohn Baldwin	.long	0x7DDD5299
720*c0855eaaSJohn Baldwin	.long	0x7EBE5299
721*c0855eaaSJohn Baldwin	.long	0x7EDF5299
722*c0855eaaSJohn Baldwin	.long	0x7EE75299
723*c0855eaaSJohn Baldwin	.long	0x7F085299
724*c0855eaaSJohn Baldwin	stvx	11,0,11
725*c0855eaaSJohn Baldwin	stvx	12,27,11
726*c0855eaaSJohn Baldwin	stvx	13,28,11
727*c0855eaaSJohn Baldwin	stvx	14,29,11
728*c0855eaaSJohn Baldwin	stvx	21,30,11
729*c0855eaaSJohn Baldwin	stvx	22,31,11
730*c0855eaaSJohn Baldwin	stvx	23,7,11
731*c0855eaaSJohn Baldwin	stvx	24,8,11
732*c0855eaaSJohn Baldwin
733*c0855eaaSJohn Baldwin	addi	4,4,0x40
734*c0855eaaSJohn Baldwin	addi	12,12,0x50
735*c0855eaaSJohn Baldwin	addi	0,5,-64
736*c0855eaaSJohn Baldwin	srdi	0,0,6
737*c0855eaaSJohn Baldwin	mtctr	0
738*c0855eaaSJohn Baldwin	b	.Loop_vsx
739*c0855eaaSJohn Baldwin
740*c0855eaaSJohn Baldwin.align	4
741*c0855eaaSJohn Baldwin.Loop_vsx:
742*c0855eaaSJohn Baldwin
743*c0855eaaSJohn Baldwin
744*c0855eaaSJohn Baldwin
745*c0855eaaSJohn Baldwin
746*c0855eaaSJohn Baldwin
747*c0855eaaSJohn Baldwin
748*c0855eaaSJohn Baldwin
749*c0855eaaSJohn Baldwin
750*c0855eaaSJohn Baldwin
751*c0855eaaSJohn Baldwin
752*c0855eaaSJohn Baldwin
753*c0855eaaSJohn Baldwin
754*c0855eaaSJohn Baldwin
755*c0855eaaSJohn Baldwin
756*c0855eaaSJohn Baldwin	.long	0x11E55288
757*c0855eaaSJohn Baldwin	.long	0x12055A88
758*c0855eaaSJohn Baldwin	.long	0x12256A88
759*c0855eaaSJohn Baldwin	.long	0x12466A88
760*c0855eaaSJohn Baldwin
761*c0855eaaSJohn Baldwin	.long	0x12865288
762*c0855eaaSJohn Baldwin	.long	0x1210A0C0
763*c0855eaaSJohn Baldwin	.long	0x12865A88
764*c0855eaaSJohn Baldwin	.long	0x1231A0C0
765*c0855eaaSJohn Baldwin	.long	0x12676A88
766*c0855eaaSJohn Baldwin	.long	0x12896288
767*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
768*c0855eaaSJohn Baldwin	.long	0x12875A88
769*c0855eaaSJohn Baldwin	.long	0x1252A0C0
770*c0855eaaSJohn Baldwin	lvx	12,31,11
771*c0855eaaSJohn Baldwin	.long	0x12885A88
772*c0855eaaSJohn Baldwin	.long	0x1273A0C0
773*c0855eaaSJohn Baldwin	lvx	11,30,11
774*c0855eaaSJohn Baldwin
775*c0855eaaSJohn Baldwin	.long	0x104238C0
776*c0855eaaSJohn Baldwin	.long	0x100028C0
777*c0855eaaSJohn Baldwin	.long	0x106340C0
778*c0855eaaSJohn Baldwin	.long	0x102130C0
779*c0855eaaSJohn Baldwin	.long	0x108448C0
780*c0855eaaSJohn Baldwin
781*c0855eaaSJohn Baldwin	.long	0x12887288
782*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
783*c0855eaaSJohn Baldwin	.long	0x12897288
784*c0855eaaSJohn Baldwin	.long	0x1210A0C0
785*c0855eaaSJohn Baldwin	.long	0x12875288
786*c0855eaaSJohn Baldwin	.long	0x1231A0C0
787*c0855eaaSJohn Baldwin	.long	0x12885288
788*c0855eaaSJohn Baldwin	.long	0x1252A0C0
789*c0855eaaSJohn Baldwin	lvx	14,8,11
790*c0855eaaSJohn Baldwin	.long	0x12895288
791*c0855eaaSJohn Baldwin	.long	0x1273A0C0
792*c0855eaaSJohn Baldwin	lvx	13,7,11
793*c0855eaaSJohn Baldwin
794*c0855eaaSJohn Baldwin	.long	0x12876288
795*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
796*c0855eaaSJohn Baldwin	.long	0x12886288
797*c0855eaaSJohn Baldwin	.long	0x1210A0C0
798*c0855eaaSJohn Baldwin	.long	0x12896288
799*c0855eaaSJohn Baldwin	.long	0x1231A0C0
800*c0855eaaSJohn Baldwin	.long	0x12855A88
801*c0855eaaSJohn Baldwin	.long	0x1252A0C0
802*c0855eaaSJohn Baldwin	.long	0x12865A88
803*c0855eaaSJohn Baldwin	.long	0x1273A0C0
804*c0855eaaSJohn Baldwin
805*c0855eaaSJohn Baldwin	.long	0x7F406699
806*c0855eaaSJohn Baldwin	.long	0x7EA02699
807*c0855eaaSJohn Baldwin	.long	0x7EDB2699
808*c0855eaaSJohn Baldwin	.long	0x7EFC2699
809*c0855eaaSJohn Baldwin	.long	0x7F1D2699
810*c0855eaaSJohn Baldwin	vperm	21,21,21,26
811*c0855eaaSJohn Baldwin	vperm	22,22,22,26
812*c0855eaaSJohn Baldwin	vperm	23,23,23,26
813*c0855eaaSJohn Baldwin	vperm	24,24,24,26
814*c0855eaaSJohn Baldwin
815*c0855eaaSJohn Baldwin	.long	0x12867288
816*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
817*c0855eaaSJohn Baldwin	.long	0x12877288
818*c0855eaaSJohn Baldwin	.long	0x1210A0C0
819*c0855eaaSJohn Baldwin	.long	0x12887288
820*c0855eaaSJohn Baldwin	.long	0x1231A0C0
821*c0855eaaSJohn Baldwin	.long	0x12897288
822*c0855eaaSJohn Baldwin	.long	0x1252A0C0
823*c0855eaaSJohn Baldwin	.long	0x12856A88
824*c0855eaaSJohn Baldwin	.long	0x1273A0C0
825*c0855eaaSJohn Baldwin
826*c0855eaaSJohn Baldwin	.long	0xF0B5B057
827*c0855eaaSJohn Baldwin	vspltisb	26,4
828*c0855eaaSJohn Baldwin	vperm	7,21,22,31
829*c0855eaaSJohn Baldwin	.long	0xF115B357
830*c0855eaaSJohn Baldwin
831*c0855eaaSJohn Baldwin
832*c0855eaaSJohn Baldwin	.long	0x12805088
833*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
834*c0855eaaSJohn Baldwin	.long	0x12815088
835*c0855eaaSJohn Baldwin	.long	0x1210A0C0
836*c0855eaaSJohn Baldwin	.long	0x12825088
837*c0855eaaSJohn Baldwin	.long	0x1231A0C0
838*c0855eaaSJohn Baldwin	.long	0x12835088
839*c0855eaaSJohn Baldwin	.long	0x1252A0C0
840*c0855eaaSJohn Baldwin	.long	0x12845088
841*c0855eaaSJohn Baldwin	.long	0x1273A0C0
842*c0855eaaSJohn Baldwin
843*c0855eaaSJohn Baldwin	.long	0xF2B7C057
844*c0855eaaSJohn Baldwin	vperm	22,23,24,31
845*c0855eaaSJohn Baldwin	.long	0xF2F7C357
846*c0855eaaSJohn Baldwin
847*c0855eaaSJohn Baldwin	.long	0x12826088
848*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
849*c0855eaaSJohn Baldwin	.long	0x12836088
850*c0855eaaSJohn Baldwin	.long	0x1210A0C0
851*c0855eaaSJohn Baldwin	.long	0x12846088
852*c0855eaaSJohn Baldwin	.long	0x1231A0C0
853*c0855eaaSJohn Baldwin	.long	0x12805888
854*c0855eaaSJohn Baldwin	.long	0x1252A0C0
855*c0855eaaSJohn Baldwin	lvx	12,27,11
856*c0855eaaSJohn Baldwin	.long	0x12815888
857*c0855eaaSJohn Baldwin	.long	0x1273A0C0
858*c0855eaaSJohn Baldwin	lvx	11,0,11
859*c0855eaaSJohn Baldwin
860*c0855eaaSJohn Baldwin	.long	0x10C5CEC4
861*c0855eaaSJohn Baldwin	.long	0x10E7D6C4
862*c0855eaaSJohn Baldwin	.long	0x1128DEC4
863*c0855eaaSJohn Baldwin	.long	0x1108E6C4
864*c0855eaaSJohn Baldwin
865*c0855eaaSJohn Baldwin	.long	0x12817088
866*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
867*c0855eaaSJohn Baldwin	.long	0x12827088
868*c0855eaaSJohn Baldwin	.long	0x1210A0C0
869*c0855eaaSJohn Baldwin	.long	0x12837088
870*c0855eaaSJohn Baldwin	.long	0x1231A0C0
871*c0855eaaSJohn Baldwin	.long	0x12847088
872*c0855eaaSJohn Baldwin	.long	0x1252A0C0
873*c0855eaaSJohn Baldwin	lvx	14,29,11
874*c0855eaaSJohn Baldwin	.long	0x12806888
875*c0855eaaSJohn Baldwin	.long	0x1273A0C0
876*c0855eaaSJohn Baldwin	lvx	13,28,11
877*c0855eaaSJohn Baldwin
878*c0855eaaSJohn Baldwin	vand	5,5,29
879*c0855eaaSJohn Baldwin	vand	6,6,29
880*c0855eaaSJohn Baldwin	vand	7,7,29
881*c0855eaaSJohn Baldwin	vand	8,8,29
882*c0855eaaSJohn Baldwin
883*c0855eaaSJohn Baldwin	.long	0x12846088
884*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
885*c0855eaaSJohn Baldwin	.long	0x12805888
886*c0855eaaSJohn Baldwin	.long	0x1210A0C0
887*c0855eaaSJohn Baldwin	.long	0x12815888
888*c0855eaaSJohn Baldwin	.long	0x1231A0C0
889*c0855eaaSJohn Baldwin	.long	0x12825888
890*c0855eaaSJohn Baldwin	.long	0x1252A0C0
891*c0855eaaSJohn Baldwin	.long	0x12835888
892*c0855eaaSJohn Baldwin	.long	0x1273A0C0
893*c0855eaaSJohn Baldwin
894*c0855eaaSJohn Baldwin	.long	0x12D6D6C4
895*c0855eaaSJohn Baldwin	.long	0x1355CEC4
896*c0855eaaSJohn Baldwin	.long	0x1317DEC4
897*c0855eaaSJohn Baldwin	.long	0x12F7E6C4
898*c0855eaaSJohn Baldwin
899*c0855eaaSJohn Baldwin	.long	0x12837088
900*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
901*c0855eaaSJohn Baldwin	.long	0x12847088
902*c0855eaaSJohn Baldwin	.long	0x1210A0C0
903*c0855eaaSJohn Baldwin	.long	0x12806888
904*c0855eaaSJohn Baldwin	.long	0x1231A0C0
905*c0855eaaSJohn Baldwin	.long	0x12816888
906*c0855eaaSJohn Baldwin	.long	0x1252A0C0
907*c0855eaaSJohn Baldwin	.long	0x12826888
908*c0855eaaSJohn Baldwin	.long	0x1273A0C0
909*c0855eaaSJohn Baldwin
910*c0855eaaSJohn Baldwin	vand	21,21,29
911*c0855eaaSJohn Baldwin	vand	26,26,29
912*c0855eaaSJohn Baldwin	vand	22,22,29
913*c0855eaaSJohn Baldwin	vand	23,23,29
914*c0855eaaSJohn Baldwin
915*c0855eaaSJohn Baldwin
916*c0855eaaSJohn Baldwin
917*c0855eaaSJohn Baldwin
918*c0855eaaSJohn Baldwin
919*c0855eaaSJohn Baldwin	vspltisb	20,2
920*c0855eaaSJohn Baldwin	.long	0x1092CEC4
921*c0855eaaSJohn Baldwin	.long	0x102FCEC4
922*c0855eaaSJohn Baldwin	vand	3,18,29
923*c0855eaaSJohn Baldwin	vand	0,15,29
924*c0855eaaSJohn Baldwin	.long	0x108498C0
925*c0855eaaSJohn Baldwin	.long	0x102180C0
926*c0855eaaSJohn Baldwin
927*c0855eaaSJohn Baldwin	.long	0x11384E8C
928*c0855eaaSJohn Baldwin	.long	0x10B52E8C
929*c0855eaaSJohn Baldwin	.long	0x10DA368C
930*c0855eaaSJohn Baldwin	.long	0x10F63E8C
931*c0855eaaSJohn Baldwin	.long	0x1117468C
932*c0855eaaSJohn Baldwin	vor	9,9,30
933*c0855eaaSJohn Baldwin
934*c0855eaaSJohn Baldwin	.long	0x1264CEC4
935*c0855eaaSJohn Baldwin	.long	0x1201CEC4
936*c0855eaaSJohn Baldwin	vand	4,4,29
937*c0855eaaSJohn Baldwin	vand	1,1,29
938*c0855eaaSJohn Baldwin	.long	0x100098C0
939*c0855eaaSJohn Baldwin	.long	0x105180C0
940*c0855eaaSJohn Baldwin
941*c0855eaaSJohn Baldwin	.long	0x1273A5C4
942*c0855eaaSJohn Baldwin	.long	0x1222CEC4
943*c0855eaaSJohn Baldwin	vand	2,2,29
944*c0855eaaSJohn Baldwin	.long	0x100098C0
945*c0855eaaSJohn Baldwin	.long	0x106388C0
946*c0855eaaSJohn Baldwin
947*c0855eaaSJohn Baldwin	.long	0x11E0CEC4
948*c0855eaaSJohn Baldwin	.long	0x1243CEC4
949*c0855eaaSJohn Baldwin	vand	0,0,29
950*c0855eaaSJohn Baldwin	vand	3,3,29
951*c0855eaaSJohn Baldwin	.long	0x102178C0
952*c0855eaaSJohn Baldwin	.long	0x108490C0
953*c0855eaaSJohn Baldwin
954*c0855eaaSJohn Baldwin	addi	4,4,0x40
955*c0855eaaSJohn Baldwin	bdnz	.Loop_vsx
956*c0855eaaSJohn Baldwin
957*c0855eaaSJohn Baldwin	neg	5,5
958*c0855eaaSJohn Baldwin	andi.	5,5,0x30
959*c0855eaaSJohn Baldwin	sub	4,4,5
960*c0855eaaSJohn Baldwin
961*c0855eaaSJohn Baldwin	.long	0x7D5D1E99
962*c0855eaaSJohn Baldwin	.long	0x7D605699
963*c0855eaaSJohn Baldwin	.long	0x7D9B5699
964*c0855eaaSJohn Baldwin	.long	0x7DBC5699
965*c0855eaaSJohn Baldwin	.long	0x7DDD5699
966*c0855eaaSJohn Baldwin
967*c0855eaaSJohn Baldwin.Last_vsx:
968*c0855eaaSJohn Baldwin	.long	0x11E55288
969*c0855eaaSJohn Baldwin	.long	0x12065288
970*c0855eaaSJohn Baldwin	.long	0x12275288
971*c0855eaaSJohn Baldwin	.long	0x12485288
972*c0855eaaSJohn Baldwin	.long	0x12695288
973*c0855eaaSJohn Baldwin
974*c0855eaaSJohn Baldwin	.long	0x12896288
975*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
976*c0855eaaSJohn Baldwin	.long	0x12855A88
977*c0855eaaSJohn Baldwin	.long	0x1210A0C0
978*c0855eaaSJohn Baldwin	.long	0x12865A88
979*c0855eaaSJohn Baldwin	.long	0x1231A0C0
980*c0855eaaSJohn Baldwin	.long	0x12875A88
981*c0855eaaSJohn Baldwin	.long	0x1252A0C0
982*c0855eaaSJohn Baldwin	.long	0x7D9F5699
983*c0855eaaSJohn Baldwin	.long	0x12885A88
984*c0855eaaSJohn Baldwin	.long	0x1273A0C0
985*c0855eaaSJohn Baldwin	.long	0x7D7E5699
986*c0855eaaSJohn Baldwin
987*c0855eaaSJohn Baldwin	.long	0x104238C0
988*c0855eaaSJohn Baldwin	.long	0x100028C0
989*c0855eaaSJohn Baldwin	.long	0x106340C0
990*c0855eaaSJohn Baldwin	.long	0x102130C0
991*c0855eaaSJohn Baldwin	.long	0x108448C0
992*c0855eaaSJohn Baldwin
993*c0855eaaSJohn Baldwin	.long	0x12887288
994*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
995*c0855eaaSJohn Baldwin	.long	0x12897288
996*c0855eaaSJohn Baldwin	.long	0x1210A0C0
997*c0855eaaSJohn Baldwin	.long	0x12856A88
998*c0855eaaSJohn Baldwin	.long	0x1231A0C0
999*c0855eaaSJohn Baldwin	.long	0x12866A88
1000*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1001*c0855eaaSJohn Baldwin	.long	0x7DC85699
1002*c0855eaaSJohn Baldwin	.long	0x12876A88
1003*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1004*c0855eaaSJohn Baldwin	.long	0x7DA75699
1005*c0855eaaSJohn Baldwin
1006*c0855eaaSJohn Baldwin	.long	0x12876288
1007*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1008*c0855eaaSJohn Baldwin	.long	0x12886288
1009*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1010*c0855eaaSJohn Baldwin	.long	0x12896288
1011*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1012*c0855eaaSJohn Baldwin	.long	0x12855A88
1013*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1014*c0855eaaSJohn Baldwin	.long	0x12865A88
1015*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1016*c0855eaaSJohn Baldwin
1017*c0855eaaSJohn Baldwin	.long	0x12867288
1018*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1019*c0855eaaSJohn Baldwin	.long	0x12877288
1020*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1021*c0855eaaSJohn Baldwin	.long	0x12887288
1022*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1023*c0855eaaSJohn Baldwin	.long	0x12897288
1024*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1025*c0855eaaSJohn Baldwin	.long	0x12856A88
1026*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1027*c0855eaaSJohn Baldwin
1028*c0855eaaSJohn Baldwin
1029*c0855eaaSJohn Baldwin	.long	0x12805088
1030*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1031*c0855eaaSJohn Baldwin	.long	0x12815088
1032*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1033*c0855eaaSJohn Baldwin	.long	0x12825088
1034*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1035*c0855eaaSJohn Baldwin	.long	0x12835088
1036*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1037*c0855eaaSJohn Baldwin	.long	0x12845088
1038*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1039*c0855eaaSJohn Baldwin
1040*c0855eaaSJohn Baldwin	.long	0x12826088
1041*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1042*c0855eaaSJohn Baldwin	.long	0x12836088
1043*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1044*c0855eaaSJohn Baldwin	.long	0x12846088
1045*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1046*c0855eaaSJohn Baldwin	.long	0x12805888
1047*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1048*c0855eaaSJohn Baldwin	.long	0x7D9B5699
1049*c0855eaaSJohn Baldwin	.long	0x12815888
1050*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1051*c0855eaaSJohn Baldwin	.long	0x7D605699
1052*c0855eaaSJohn Baldwin
1053*c0855eaaSJohn Baldwin	.long	0x12817088
1054*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1055*c0855eaaSJohn Baldwin	.long	0x12827088
1056*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1057*c0855eaaSJohn Baldwin	.long	0x12837088
1058*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1059*c0855eaaSJohn Baldwin	.long	0x12847088
1060*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1061*c0855eaaSJohn Baldwin	.long	0x7DDD5699
1062*c0855eaaSJohn Baldwin	.long	0x12806888
1063*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1064*c0855eaaSJohn Baldwin	.long	0x7DBC5699
1065*c0855eaaSJohn Baldwin
1066*c0855eaaSJohn Baldwin	.long	0x12846088
1067*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1068*c0855eaaSJohn Baldwin	.long	0x12805888
1069*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1070*c0855eaaSJohn Baldwin	.long	0x12815888
1071*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1072*c0855eaaSJohn Baldwin	.long	0x12825888
1073*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1074*c0855eaaSJohn Baldwin	.long	0x12835888
1075*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1076*c0855eaaSJohn Baldwin
1077*c0855eaaSJohn Baldwin	.long	0x12837088
1078*c0855eaaSJohn Baldwin	.long	0x11EFA0C0
1079*c0855eaaSJohn Baldwin	.long	0x12847088
1080*c0855eaaSJohn Baldwin	.long	0x1210A0C0
1081*c0855eaaSJohn Baldwin	.long	0x12806888
1082*c0855eaaSJohn Baldwin	.long	0x1231A0C0
1083*c0855eaaSJohn Baldwin	.long	0x12816888
1084*c0855eaaSJohn Baldwin	.long	0x1252A0C0
1085*c0855eaaSJohn Baldwin	.long	0x12826888
1086*c0855eaaSJohn Baldwin	.long	0x1273A0C0
1087*c0855eaaSJohn Baldwin
1088*c0855eaaSJohn Baldwin
1089*c0855eaaSJohn Baldwin
1090*c0855eaaSJohn Baldwin
1091*c0855eaaSJohn Baldwin	.long	0xF00F7A57
1092*c0855eaaSJohn Baldwin	.long	0xF0308257
1093*c0855eaaSJohn Baldwin	.long	0xF0518A57
1094*c0855eaaSJohn Baldwin	.long	0xF0729257
1095*c0855eaaSJohn Baldwin	.long	0xF0939A57
1096*c0855eaaSJohn Baldwin	.long	0x11EF00C0
1097*c0855eaaSJohn Baldwin	.long	0x121008C0
1098*c0855eaaSJohn Baldwin	.long	0x123110C0
1099*c0855eaaSJohn Baldwin	.long	0x125218C0
1100*c0855eaaSJohn Baldwin	.long	0x127320C0
1101*c0855eaaSJohn Baldwin
1102*c0855eaaSJohn Baldwin
1103*c0855eaaSJohn Baldwin
1104*c0855eaaSJohn Baldwin
1105*c0855eaaSJohn Baldwin	vspltisb	20,2
1106*c0855eaaSJohn Baldwin	.long	0x1092CEC4
1107*c0855eaaSJohn Baldwin	.long	0x102FCEC4
1108*c0855eaaSJohn Baldwin	vand	3,18,29
1109*c0855eaaSJohn Baldwin	vand	0,15,29
1110*c0855eaaSJohn Baldwin	.long	0x108498C0
1111*c0855eaaSJohn Baldwin	.long	0x102180C0
1112*c0855eaaSJohn Baldwin
1113*c0855eaaSJohn Baldwin	.long	0x1264CEC4
1114*c0855eaaSJohn Baldwin	.long	0x1201CEC4
1115*c0855eaaSJohn Baldwin	vand	4,4,29
1116*c0855eaaSJohn Baldwin	vand	1,1,29
1117*c0855eaaSJohn Baldwin	.long	0x100098C0
1118*c0855eaaSJohn Baldwin	.long	0x105180C0
1119*c0855eaaSJohn Baldwin
1120*c0855eaaSJohn Baldwin	.long	0x1273A5C4
1121*c0855eaaSJohn Baldwin	.long	0x1222CEC4
1122*c0855eaaSJohn Baldwin	vand	2,2,29
1123*c0855eaaSJohn Baldwin	.long	0x100098C0
1124*c0855eaaSJohn Baldwin	.long	0x106388C0
1125*c0855eaaSJohn Baldwin
1126*c0855eaaSJohn Baldwin	.long	0x11E0CEC4
1127*c0855eaaSJohn Baldwin	.long	0x1243CEC4
1128*c0855eaaSJohn Baldwin	vand	0,0,29
1129*c0855eaaSJohn Baldwin	vand	3,3,29
1130*c0855eaaSJohn Baldwin	.long	0x102178C0
1131*c0855eaaSJohn Baldwin	.long	0x108490C0
1132*c0855eaaSJohn Baldwin
1133*c0855eaaSJohn Baldwin	beq	.Ldone_vsx
1134*c0855eaaSJohn Baldwin
1135*c0855eaaSJohn Baldwin	add	6,12,5
1136*c0855eaaSJohn Baldwin
1137*c0855eaaSJohn Baldwin	.long	0x7F406699
1138*c0855eaaSJohn Baldwin	.long	0x7EA02699
1139*c0855eaaSJohn Baldwin	.long	0x7EDB2699
1140*c0855eaaSJohn Baldwin	.long	0x7EFC2699
1141*c0855eaaSJohn Baldwin	.long	0x7F1D2699
1142*c0855eaaSJohn Baldwin	vperm	21,21,21,26
1143*c0855eaaSJohn Baldwin	vperm	22,22,22,26
1144*c0855eaaSJohn Baldwin	vperm	23,23,23,26
1145*c0855eaaSJohn Baldwin	vperm	24,24,24,26
1146*c0855eaaSJohn Baldwin
1147*c0855eaaSJohn Baldwin	.long	0xF0B5B057
1148*c0855eaaSJohn Baldwin	vspltisb	26,4
1149*c0855eaaSJohn Baldwin	vperm	7,21,22,31
1150*c0855eaaSJohn Baldwin	.long	0xF115B357
1151*c0855eaaSJohn Baldwin
1152*c0855eaaSJohn Baldwin	.long	0x10C5CEC4
1153*c0855eaaSJohn Baldwin	.long	0x10E7D6C4
1154*c0855eaaSJohn Baldwin	.long	0x1128DEC4
1155*c0855eaaSJohn Baldwin	.long	0x1108E6C4
1156*c0855eaaSJohn Baldwin	vand	5,5,29
1157*c0855eaaSJohn Baldwin	vand	6,6,29
1158*c0855eaaSJohn Baldwin	vand	7,7,29
1159*c0855eaaSJohn Baldwin	vand	8,8,29
1160*c0855eaaSJohn Baldwin
1161*c0855eaaSJohn Baldwin	.long	0xF297C057
1162*c0855eaaSJohn Baldwin	vperm	21,23,24,31
1163*c0855eaaSJohn Baldwin	.long	0xF2D7C357
1164*c0855eaaSJohn Baldwin
1165*c0855eaaSJohn Baldwin	.long	0x7DE03699
1166*c0855eaaSJohn Baldwin	.long	0x7E1D3699
1167*c0855eaaSJohn Baldwin
1168*c0855eaaSJohn Baldwin	.long	0x12F4CEC4
1169*c0855eaaSJohn Baldwin	.long	0x12B5D6C4
1170*c0855eaaSJohn Baldwin	.long	0x1316DEC4
1171*c0855eaaSJohn Baldwin	.long	0x12D6E6C4
1172*c0855eaaSJohn Baldwin	vand	20,20,29
1173*c0855eaaSJohn Baldwin	vand	23,23,29
1174*c0855eaaSJohn Baldwin	vand	21,21,29
1175*c0855eaaSJohn Baldwin	vand	22,22,29
1176*c0855eaaSJohn Baldwin
1177*c0855eaaSJohn Baldwin
1178*c0855eaaSJohn Baldwin	.long	0x11384E8C
1179*c0855eaaSJohn Baldwin	.long	0x10B42E8C
1180*c0855eaaSJohn Baldwin	.long	0x10D7368C
1181*c0855eaaSJohn Baldwin	.long	0x10F53E8C
1182*c0855eaaSJohn Baldwin	.long	0x1116468C
1183*c0855eaaSJohn Baldwin	vor	9,9,30
1184*c0855eaaSJohn Baldwin
1185*c0855eaaSJohn Baldwin	vperm	0,0,0,15
1186*c0855eaaSJohn Baldwin	vand	5,5,    16
1187*c0855eaaSJohn Baldwin	vperm	1,1,1,15
1188*c0855eaaSJohn Baldwin	vand	6,6,    16
1189*c0855eaaSJohn Baldwin	vperm	2,2,2,15
1190*c0855eaaSJohn Baldwin	vand	7,7,    16
1191*c0855eaaSJohn Baldwin	vperm	3,3,3,15
1192*c0855eaaSJohn Baldwin	vand	8,8,    16
1193*c0855eaaSJohn Baldwin	vperm	4,4,4,15
1194*c0855eaaSJohn Baldwin	vand	9,9,    16
1195*c0855eaaSJohn Baldwin
1196*c0855eaaSJohn Baldwin	.long	0x10A500C0
1197*c0855eaaSJohn Baldwin	vxor	0,0,0
1198*c0855eaaSJohn Baldwin	.long	0x10C608C0
1199*c0855eaaSJohn Baldwin	vxor	1,1,1
1200*c0855eaaSJohn Baldwin	.long	0x10E710C0
1201*c0855eaaSJohn Baldwin	vxor	2,2,2
1202*c0855eaaSJohn Baldwin	.long	0x110818C0
1203*c0855eaaSJohn Baldwin	vxor	3,3,3
1204*c0855eaaSJohn Baldwin	.long	0x112920C0
1205*c0855eaaSJohn Baldwin	vxor	4,4,4
1206*c0855eaaSJohn Baldwin
1207*c0855eaaSJohn Baldwin	xor.	5,5,5
1208*c0855eaaSJohn Baldwin	b	.Last_vsx
1209*c0855eaaSJohn Baldwin
1210*c0855eaaSJohn Baldwin.align	4
1211*c0855eaaSJohn Baldwin.Ldone_vsx:
1212*c0855eaaSJohn Baldwin	lwz	0,388(1)
1213*c0855eaaSJohn Baldwin	li	27,4
1214*c0855eaaSJohn Baldwin	li	28,8
1215*c0855eaaSJohn Baldwin	li	29,12
1216*c0855eaaSJohn Baldwin	li	30,16
1217*c0855eaaSJohn Baldwin	.long	0x7C001919
1218*c0855eaaSJohn Baldwin	.long	0x7C3B1919
1219*c0855eaaSJohn Baldwin	.long	0x7C5C1919
1220*c0855eaaSJohn Baldwin	.long	0x7C7D1919
1221*c0855eaaSJohn Baldwin	.long	0x7C9E1919
1222*c0855eaaSJohn Baldwin
1223*c0855eaaSJohn Baldwin	lwz	12,360(1)
1224*c0855eaaSJohn Baldwin	mtlr	0
1225*c0855eaaSJohn Baldwin	li	10,167
1226*c0855eaaSJohn Baldwin	li	11,183
1227*c0855eaaSJohn Baldwin	mtspr	256,12
1228*c0855eaaSJohn Baldwin	lvx	20,10,1
1229*c0855eaaSJohn Baldwin	addi	10,10,32
1230*c0855eaaSJohn Baldwin	lvx	21,10,1
1231*c0855eaaSJohn Baldwin	addi	10,10,32
1232*c0855eaaSJohn Baldwin	lvx	22,11,1
1233*c0855eaaSJohn Baldwin	addi	11,11,32
1234*c0855eaaSJohn Baldwin	lvx	23,10,1
1235*c0855eaaSJohn Baldwin	addi	10,10,32
1236*c0855eaaSJohn Baldwin	lvx	24,11,1
1237*c0855eaaSJohn Baldwin	addi	11,11,32
1238*c0855eaaSJohn Baldwin	lvx	25,10,1
1239*c0855eaaSJohn Baldwin	addi	10,10,32
1240*c0855eaaSJohn Baldwin	lvx	26,11,1
1241*c0855eaaSJohn Baldwin	addi	11,11,32
1242*c0855eaaSJohn Baldwin	lvx	27,10,1
1243*c0855eaaSJohn Baldwin	addi	10,10,32
1244*c0855eaaSJohn Baldwin	lvx	28,11,1
1245*c0855eaaSJohn Baldwin	addi	11,11,32
1246*c0855eaaSJohn Baldwin	lvx	29,10,1
1247*c0855eaaSJohn Baldwin	addi	10,10,32
1248*c0855eaaSJohn Baldwin	lvx	30,11,1
1249*c0855eaaSJohn Baldwin	lvx	31,10,1
1250*c0855eaaSJohn Baldwin	lwz	27,364(1)
1251*c0855eaaSJohn Baldwin	lwz	28,368(1)
1252*c0855eaaSJohn Baldwin	lwz	29,372(1)
1253*c0855eaaSJohn Baldwin	lwz	30,376(1)
1254*c0855eaaSJohn Baldwin	lwz	31,380(1)
1255*c0855eaaSJohn Baldwin	addi	1,1,384
1256*c0855eaaSJohn Baldwin	blr
1257*c0855eaaSJohn Baldwin.long	0
1258*c0855eaaSJohn Baldwin.byte	0,12,0x04,1,0x80,5,4,0
1259*c0855eaaSJohn Baldwin.long	0
1260*c0855eaaSJohn Baldwin.size	__poly1305_blocks_vsx,.-__poly1305_blocks_vsx
1261*c0855eaaSJohn Baldwin
1262*c0855eaaSJohn Baldwin.align	6
1263*c0855eaaSJohn Baldwin.LPICmeup:
1264*c0855eaaSJohn Baldwin	mflr	0
1265*c0855eaaSJohn Baldwin	bcl	20,31,$+4
1266*c0855eaaSJohn Baldwin	mflr	12
1267*c0855eaaSJohn Baldwin	addi	12,12,56
1268*c0855eaaSJohn Baldwin	mtlr	0
1269*c0855eaaSJohn Baldwin	blr
1270*c0855eaaSJohn Baldwin.long	0
1271*c0855eaaSJohn Baldwin.byte	0,12,0x14,0,0,0,0,0
1272*c0855eaaSJohn Baldwin.space	28
1273*c0855eaaSJohn Baldwin
1274*c0855eaaSJohn Baldwin.long	0x00000000,0x03ffffff
1275*c0855eaaSJohn Baldwin.long	0x00000000,0x03ffffff
1276*c0855eaaSJohn Baldwin.long	0x00000000,0x0000001a
1277*c0855eaaSJohn Baldwin.long	0x00000000,0x0000001a
1278*c0855eaaSJohn Baldwin.long	0x00000000,0x00000028
1279*c0855eaaSJohn Baldwin.long	0x00000000,0x00000028
1280*c0855eaaSJohn Baldwin.long	0x00000000,0x0e0f0001
1281*c0855eaaSJohn Baldwin.long	0x00000000,0x1e1f1011
1282*c0855eaaSJohn Baldwin.long	0x01000000,0x01000000
1283*c0855eaaSJohn Baldwin.long	0x01000000,0x01000000
1284*c0855eaaSJohn Baldwin.long	0x07060504,0x03020100
1285*c0855eaaSJohn Baldwin.long	0x0f0e0d0c,0x0b0a0908
1286*c0855eaaSJohn Baldwin
1287*c0855eaaSJohn Baldwin.long	0x00000000,0x00000000
1288*c0855eaaSJohn Baldwin.long	0x00000000,0x04050607
1289*c0855eaaSJohn Baldwin.long	0x04050607,0x00000000
1290*c0855eaaSJohn Baldwin.long	0x00000000,0x00000000
1291*c0855eaaSJohn Baldwin.long	0x00000000,0x00000000
1292*c0855eaaSJohn Baldwin.long	0x04050607,0x00000000
1293*c0855eaaSJohn Baldwin
1294*c0855eaaSJohn Baldwin.long	0xffffffff,0x00000000
1295*c0855eaaSJohn Baldwin.long	0xffffffff,0xffffffff
1296*c0855eaaSJohn Baldwin.long	0xffffffff,0x00000000
1297*c0855eaaSJohn Baldwin.long	0xffffffff,0x00000000
1298*c0855eaaSJohn Baldwin.long	0x00000000,0x00000000
1299*c0855eaaSJohn Baldwin.long	0xffffffff,0x00000000
1300*c0855eaaSJohn Baldwin.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
13013a608692SPiotr Kubaj.align	2
1302