13a608692SPiotr Kubaj/* Do not modify. This file is auto-generated from x25519-ppc64.pl. */
23a608692SPiotr Kubaj.abiversion	2
33a608692SPiotr Kubaj.text
43a608692SPiotr Kubaj
53a608692SPiotr Kubaj.globl	x25519_fe51_mul
63a608692SPiotr Kubaj.type	x25519_fe51_mul,@function
73a608692SPiotr Kubaj.type	x25519_fe51_mul,@function
83a608692SPiotr Kubaj.align	5
93a608692SPiotr Kubajx25519_fe51_mul:
103a608692SPiotr Kubaj.localentry	x25519_fe51_mul,0
113a608692SPiotr Kubaj
123a608692SPiotr Kubaj	stdu	1,-144(1)
133a608692SPiotr Kubaj	std	21,56(1)
143a608692SPiotr Kubaj	std	22,64(1)
153a608692SPiotr Kubaj	std	23,72(1)
163a608692SPiotr Kubaj	std	24,80(1)
173a608692SPiotr Kubaj	std	25,88(1)
183a608692SPiotr Kubaj	std	26,96(1)
193a608692SPiotr Kubaj	std	27,104(1)
203a608692SPiotr Kubaj	std	28,112(1)
213a608692SPiotr Kubaj	std	29,120(1)
223a608692SPiotr Kubaj	std	30,128(1)
233a608692SPiotr Kubaj	std	31,136(1)
243a608692SPiotr Kubaj
253a608692SPiotr Kubaj	ld	6,0(5)
263a608692SPiotr Kubaj	ld	7,0(4)
273a608692SPiotr Kubaj	ld	8,8(4)
283a608692SPiotr Kubaj	ld	9,16(4)
293a608692SPiotr Kubaj	ld	10,24(4)
303a608692SPiotr Kubaj	ld	11,32(4)
313a608692SPiotr Kubaj
323a608692SPiotr Kubaj	mulld	22,7,6
333a608692SPiotr Kubaj	mulhdu	23,7,6
343a608692SPiotr Kubaj
353a608692SPiotr Kubaj	mulld	24,8,6
363a608692SPiotr Kubaj	mulhdu	25,8,6
373a608692SPiotr Kubaj
383a608692SPiotr Kubaj	mulld	30,11,6
393a608692SPiotr Kubaj	mulhdu	31,11,6
403a608692SPiotr Kubaj	ld	4,8(5)
413a608692SPiotr Kubaj	mulli	11,11,19
423a608692SPiotr Kubaj
433a608692SPiotr Kubaj	mulld	26,9,6
443a608692SPiotr Kubaj	mulhdu	27,9,6
453a608692SPiotr Kubaj
463a608692SPiotr Kubaj	mulld	28,10,6
473a608692SPiotr Kubaj	mulhdu	29,10,6
483a608692SPiotr Kubaj	mulld	12,11,4
493a608692SPiotr Kubaj	mulhdu	21,11,4
503a608692SPiotr Kubaj	addc	22,22,12
513a608692SPiotr Kubaj	adde	23,23,21
523a608692SPiotr Kubaj
533a608692SPiotr Kubaj	mulld	12,7,4
543a608692SPiotr Kubaj	mulhdu	21,7,4
553a608692SPiotr Kubaj	addc	24,24,12
563a608692SPiotr Kubaj	adde	25,25,21
573a608692SPiotr Kubaj
583a608692SPiotr Kubaj	mulld	12,10,4
593a608692SPiotr Kubaj	mulhdu	21,10,4
603a608692SPiotr Kubaj	ld	6,16(5)
613a608692SPiotr Kubaj	mulli	10,10,19
623a608692SPiotr Kubaj	addc	30,30,12
633a608692SPiotr Kubaj	adde	31,31,21
643a608692SPiotr Kubaj
653a608692SPiotr Kubaj	mulld	12,8,4
663a608692SPiotr Kubaj	mulhdu	21,8,4
673a608692SPiotr Kubaj	addc	26,26,12
683a608692SPiotr Kubaj	adde	27,27,21
693a608692SPiotr Kubaj
703a608692SPiotr Kubaj	mulld	12,9,4
713a608692SPiotr Kubaj	mulhdu	21,9,4
723a608692SPiotr Kubaj	addc	28,28,12
733a608692SPiotr Kubaj	adde	29,29,21
743a608692SPiotr Kubaj	mulld	12,10,6
753a608692SPiotr Kubaj	mulhdu	21,10,6
763a608692SPiotr Kubaj	addc	22,22,12
773a608692SPiotr Kubaj	adde	23,23,21
783a608692SPiotr Kubaj
793a608692SPiotr Kubaj	mulld	12,11,6
803a608692SPiotr Kubaj	mulhdu	21,11,6
813a608692SPiotr Kubaj	addc	24,24,12
823a608692SPiotr Kubaj	adde	25,25,21
833a608692SPiotr Kubaj
843a608692SPiotr Kubaj	mulld	12,9,6
853a608692SPiotr Kubaj	mulhdu	21,9,6
863a608692SPiotr Kubaj	ld	4,24(5)
873a608692SPiotr Kubaj	mulli	9,9,19
883a608692SPiotr Kubaj	addc	30,30,12
893a608692SPiotr Kubaj	adde	31,31,21
903a608692SPiotr Kubaj
913a608692SPiotr Kubaj	mulld	12,7,6
923a608692SPiotr Kubaj	mulhdu	21,7,6
933a608692SPiotr Kubaj	addc	26,26,12
943a608692SPiotr Kubaj	adde	27,27,21
953a608692SPiotr Kubaj
963a608692SPiotr Kubaj	mulld	12,8,6
973a608692SPiotr Kubaj	mulhdu	21,8,6
983a608692SPiotr Kubaj	addc	28,28,12
993a608692SPiotr Kubaj	adde	29,29,21
1003a608692SPiotr Kubaj	mulld	12,9,4
1013a608692SPiotr Kubaj	mulhdu	21,9,4
1023a608692SPiotr Kubaj	addc	22,22,12
1033a608692SPiotr Kubaj	adde	23,23,21
1043a608692SPiotr Kubaj
1053a608692SPiotr Kubaj	mulld	12,10,4
1063a608692SPiotr Kubaj	mulhdu	21,10,4
1073a608692SPiotr Kubaj	addc	24,24,12
1083a608692SPiotr Kubaj	adde	25,25,21
1093a608692SPiotr Kubaj
1103a608692SPiotr Kubaj	mulld	12,8,4
1113a608692SPiotr Kubaj	mulhdu	21,8,4
1123a608692SPiotr Kubaj	ld	6,32(5)
1133a608692SPiotr Kubaj	mulli	8,8,19
1143a608692SPiotr Kubaj	addc	30,30,12
1153a608692SPiotr Kubaj	adde	31,31,21
1163a608692SPiotr Kubaj
1173a608692SPiotr Kubaj	mulld	12,11,4
1183a608692SPiotr Kubaj	mulhdu	21,11,4
1193a608692SPiotr Kubaj	addc	26,26,12
1203a608692SPiotr Kubaj	adde	27,27,21
1213a608692SPiotr Kubaj
1223a608692SPiotr Kubaj	mulld	12,7,4
1233a608692SPiotr Kubaj	mulhdu	21,7,4
1243a608692SPiotr Kubaj	addc	28,28,12
1253a608692SPiotr Kubaj	adde	29,29,21
1263a608692SPiotr Kubaj	mulld	12,8,6
1273a608692SPiotr Kubaj	mulhdu	21,8,6
1283a608692SPiotr Kubaj	addc	22,22,12
1293a608692SPiotr Kubaj	adde	23,23,21
1303a608692SPiotr Kubaj
1313a608692SPiotr Kubaj	mulld	12,9,6
1323a608692SPiotr Kubaj	mulhdu	21,9,6
1333a608692SPiotr Kubaj	addc	24,24,12
1343a608692SPiotr Kubaj	adde	25,25,21
1353a608692SPiotr Kubaj
1363a608692SPiotr Kubaj	mulld	12,10,6
1373a608692SPiotr Kubaj	mulhdu	21,10,6
1383a608692SPiotr Kubaj	addc	26,26,12
1393a608692SPiotr Kubaj	adde	27,27,21
1403a608692SPiotr Kubaj
1413a608692SPiotr Kubaj	mulld	12,11,6
1423a608692SPiotr Kubaj	mulhdu	21,11,6
1433a608692SPiotr Kubaj	addc	28,28,12
1443a608692SPiotr Kubaj	adde	29,29,21
1453a608692SPiotr Kubaj
1463a608692SPiotr Kubaj	mulld	12,7,6
1473a608692SPiotr Kubaj	mulhdu	21,7,6
1483a608692SPiotr Kubaj	addc	30,30,12
1493a608692SPiotr Kubaj	adde	31,31,21
1503a608692SPiotr Kubaj
1513a608692SPiotr Kubaj.Lfe51_reduce:
1523a608692SPiotr Kubaj	li	0,-1
1533a608692SPiotr Kubaj	srdi	0,0,13
1543a608692SPiotr Kubaj
1553a608692SPiotr Kubaj	srdi	12,26,51
1563a608692SPiotr Kubaj	and	9,26,0
1573a608692SPiotr Kubaj	insrdi	12,27,51,0
1583a608692SPiotr Kubaj	srdi	21,22,51
1593a608692SPiotr Kubaj	and	7,22,0
1603a608692SPiotr Kubaj	insrdi	21,23,51,0
1613a608692SPiotr Kubaj	addc	28,28,12
1623a608692SPiotr Kubaj	addze	29,29
1633a608692SPiotr Kubaj	addc	24,24,21
1643a608692SPiotr Kubaj	addze	25,25
1653a608692SPiotr Kubaj
1663a608692SPiotr Kubaj	srdi	12,28,51
1673a608692SPiotr Kubaj	and	10,28,0
1683a608692SPiotr Kubaj	insrdi	12,29,51,0
1693a608692SPiotr Kubaj	srdi	21,24,51
1703a608692SPiotr Kubaj	and	8,24,0
1713a608692SPiotr Kubaj	insrdi	21,25,51,0
1723a608692SPiotr Kubaj	addc	30,30,12
1733a608692SPiotr Kubaj	addze	31,31
1743a608692SPiotr Kubaj	add	9,9,21
1753a608692SPiotr Kubaj
1763a608692SPiotr Kubaj	srdi	12,30,51
1773a608692SPiotr Kubaj	and	11,30,0
1783a608692SPiotr Kubaj	insrdi	12,31,51,0
1793a608692SPiotr Kubaj	mulli	12,12,19
1803a608692SPiotr Kubaj
1813a608692SPiotr Kubaj	add	7,7,12
1823a608692SPiotr Kubaj
1833a608692SPiotr Kubaj	srdi	21,9,51
1843a608692SPiotr Kubaj	and	9,9,0
1853a608692SPiotr Kubaj	add	10,10,21
1863a608692SPiotr Kubaj
1873a608692SPiotr Kubaj	srdi	12,7,51
1883a608692SPiotr Kubaj	and	7,7,0
1893a608692SPiotr Kubaj	add	8,8,12
1903a608692SPiotr Kubaj
1913a608692SPiotr Kubaj	std	9,16(3)
1923a608692SPiotr Kubaj	std	10,24(3)
1933a608692SPiotr Kubaj	std	11,32(3)
1943a608692SPiotr Kubaj	std	7,0(3)
1953a608692SPiotr Kubaj	std	8,8(3)
1963a608692SPiotr Kubaj
1973a608692SPiotr Kubaj	ld	21,56(1)
1983a608692SPiotr Kubaj	ld	22,64(1)
1993a608692SPiotr Kubaj	ld	23,72(1)
2003a608692SPiotr Kubaj	ld	24,80(1)
2013a608692SPiotr Kubaj	ld	25,88(1)
2023a608692SPiotr Kubaj	ld	26,96(1)
2033a608692SPiotr Kubaj	ld	27,104(1)
2043a608692SPiotr Kubaj	ld	28,112(1)
2053a608692SPiotr Kubaj	ld	29,120(1)
2063a608692SPiotr Kubaj	ld	30,128(1)
2073a608692SPiotr Kubaj	ld	31,136(1)
2083a608692SPiotr Kubaj	addi	1,1,144
2093a608692SPiotr Kubaj	blr
2103a608692SPiotr Kubaj.long	0
2113a608692SPiotr Kubaj.byte	0,12,4,0,0x80,11,3,0
2123a608692SPiotr Kubaj.long	0
2133a608692SPiotr Kubaj.size	x25519_fe51_mul,.-x25519_fe51_mul
2143a608692SPiotr Kubaj.globl	x25519_fe51_sqr
2153a608692SPiotr Kubaj.type	x25519_fe51_sqr,@function
2163a608692SPiotr Kubaj.type	x25519_fe51_sqr,@function
2173a608692SPiotr Kubaj.align	5
2183a608692SPiotr Kubajx25519_fe51_sqr:
2193a608692SPiotr Kubaj.localentry	x25519_fe51_sqr,0
2203a608692SPiotr Kubaj
2213a608692SPiotr Kubaj	stdu	1,-144(1)
2223a608692SPiotr Kubaj	std	21,56(1)
2233a608692SPiotr Kubaj	std	22,64(1)
2243a608692SPiotr Kubaj	std	23,72(1)
2253a608692SPiotr Kubaj	std	24,80(1)
2263a608692SPiotr Kubaj	std	25,88(1)
2273a608692SPiotr Kubaj	std	26,96(1)
2283a608692SPiotr Kubaj	std	27,104(1)
2293a608692SPiotr Kubaj	std	28,112(1)
2303a608692SPiotr Kubaj	std	29,120(1)
2313a608692SPiotr Kubaj	std	30,128(1)
2323a608692SPiotr Kubaj	std	31,136(1)
2333a608692SPiotr Kubaj
2343a608692SPiotr Kubaj	ld	7,0(4)
2353a608692SPiotr Kubaj	ld	8,8(4)
2363a608692SPiotr Kubaj	ld	9,16(4)
2373a608692SPiotr Kubaj	ld	10,24(4)
2383a608692SPiotr Kubaj	ld	11,32(4)
2393a608692SPiotr Kubaj
2403a608692SPiotr Kubaj	add	6,7,7
2413a608692SPiotr Kubaj	mulli	21,11,19
2423a608692SPiotr Kubaj
2433a608692SPiotr Kubaj	mulld	22,7,7
2443a608692SPiotr Kubaj	mulhdu	23,7,7
2453a608692SPiotr Kubaj	mulld	24,8,6
2463a608692SPiotr Kubaj	mulhdu	25,8,6
2473a608692SPiotr Kubaj	mulld	26,9,6
2483a608692SPiotr Kubaj	mulhdu	27,9,6
2493a608692SPiotr Kubaj	mulld	28,10,6
2503a608692SPiotr Kubaj	mulhdu	29,10,6
2513a608692SPiotr Kubaj	mulld	30,11,6
2523a608692SPiotr Kubaj	mulhdu	31,11,6
2533a608692SPiotr Kubaj	add	6,8,8
2543a608692SPiotr Kubaj	mulld	12,11,21
2553a608692SPiotr Kubaj	mulhdu	11,11,21
2563a608692SPiotr Kubaj	addc	28,28,12
2573a608692SPiotr Kubaj	adde	29,29,11
2583a608692SPiotr Kubaj
2593a608692SPiotr Kubaj	mulli	5,10,19
2603a608692SPiotr Kubaj
2613a608692SPiotr Kubaj	mulld	12,8,8
2623a608692SPiotr Kubaj	mulhdu	11,8,8
2633a608692SPiotr Kubaj	addc	26,26,12
2643a608692SPiotr Kubaj	adde	27,27,11
2653a608692SPiotr Kubaj	mulld	12,9,6
2663a608692SPiotr Kubaj	mulhdu	11,9,6
2673a608692SPiotr Kubaj	addc	28,28,12
2683a608692SPiotr Kubaj	adde	29,29,11
2693a608692SPiotr Kubaj	mulld	12,10,6
2703a608692SPiotr Kubaj	mulhdu	11,10,6
2713a608692SPiotr Kubaj	addc	30,30,12
2723a608692SPiotr Kubaj	adde	31,31,11
2733a608692SPiotr Kubaj	mulld	12,21,6
2743a608692SPiotr Kubaj	mulhdu	11,21,6
2753a608692SPiotr Kubaj	add	6,10,10
2763a608692SPiotr Kubaj	addc	22,22,12
2773a608692SPiotr Kubaj	adde	23,23,11
2783a608692SPiotr Kubaj	mulld	12,10,5
2793a608692SPiotr Kubaj	mulhdu	10,10,5
2803a608692SPiotr Kubaj	addc	24,24,12
2813a608692SPiotr Kubaj	adde	25,25,10
2823a608692SPiotr Kubaj	mulld	12,6,21
2833a608692SPiotr Kubaj	mulhdu	10,6,21
2843a608692SPiotr Kubaj	add	6,9,9
2853a608692SPiotr Kubaj	addc	26,26,12
2863a608692SPiotr Kubaj	adde	27,27,10
2873a608692SPiotr Kubaj
2883a608692SPiotr Kubaj	mulld	12,9,9
2893a608692SPiotr Kubaj	mulhdu	10,9,9
2903a608692SPiotr Kubaj	addc	30,30,12
2913a608692SPiotr Kubaj	adde	31,31,10
2923a608692SPiotr Kubaj	mulld	12,5,6
2933a608692SPiotr Kubaj	mulhdu	10,5,6
2943a608692SPiotr Kubaj	addc	22,22,12
2953a608692SPiotr Kubaj	adde	23,23,10
2963a608692SPiotr Kubaj	mulld	12,21,6
2973a608692SPiotr Kubaj	mulhdu	10,21,6
2983a608692SPiotr Kubaj	addc	24,24,12
2993a608692SPiotr Kubaj	adde	25,25,10
3003a608692SPiotr Kubaj
3013a608692SPiotr Kubaj	b	.Lfe51_reduce
3023a608692SPiotr Kubaj.long	0
3033a608692SPiotr Kubaj.byte	0,12,4,0,0x80,11,2,0
3043a608692SPiotr Kubaj.long	0
3053a608692SPiotr Kubaj.size	x25519_fe51_sqr,.-x25519_fe51_sqr
3063a608692SPiotr Kubaj.globl	x25519_fe51_mul121666
3073a608692SPiotr Kubaj.type	x25519_fe51_mul121666,@function
3083a608692SPiotr Kubaj.type	x25519_fe51_mul121666,@function
3093a608692SPiotr Kubaj.align	5
3103a608692SPiotr Kubajx25519_fe51_mul121666:
3113a608692SPiotr Kubaj.localentry	x25519_fe51_mul121666,0
3123a608692SPiotr Kubaj
3133a608692SPiotr Kubaj	stdu	1,-144(1)
3143a608692SPiotr Kubaj	std	21,56(1)
3153a608692SPiotr Kubaj	std	22,64(1)
3163a608692SPiotr Kubaj	std	23,72(1)
3173a608692SPiotr Kubaj	std	24,80(1)
3183a608692SPiotr Kubaj	std	25,88(1)
3193a608692SPiotr Kubaj	std	26,96(1)
3203a608692SPiotr Kubaj	std	27,104(1)
3213a608692SPiotr Kubaj	std	28,112(1)
3223a608692SPiotr Kubaj	std	29,120(1)
3233a608692SPiotr Kubaj	std	30,128(1)
3243a608692SPiotr Kubaj	std	31,136(1)
3253a608692SPiotr Kubaj
3263a608692SPiotr Kubaj	lis	6,1
3273a608692SPiotr Kubaj	ori	6,6,56130
3283a608692SPiotr Kubaj	ld	7,0(4)
3293a608692SPiotr Kubaj	ld	8,8(4)
3303a608692SPiotr Kubaj	ld	9,16(4)
3313a608692SPiotr Kubaj	ld	10,24(4)
3323a608692SPiotr Kubaj	ld	11,32(4)
3333a608692SPiotr Kubaj
3343a608692SPiotr Kubaj	mulld	22,7,6
3353a608692SPiotr Kubaj	mulhdu	23,7,6
3363a608692SPiotr Kubaj	mulld	24,8,6
3373a608692SPiotr Kubaj	mulhdu	25,8,6
3383a608692SPiotr Kubaj	mulld	26,9,6
3393a608692SPiotr Kubaj	mulhdu	27,9,6
3403a608692SPiotr Kubaj	mulld	28,10,6
3413a608692SPiotr Kubaj	mulhdu	29,10,6
3423a608692SPiotr Kubaj	mulld	30,11,6
3433a608692SPiotr Kubaj	mulhdu	31,11,6
3443a608692SPiotr Kubaj
3453a608692SPiotr Kubaj	b	.Lfe51_reduce
3463a608692SPiotr Kubaj.long	0
3473a608692SPiotr Kubaj.byte	0,12,4,0,0x80,11,2,0
3483a608692SPiotr Kubaj.long	0
3493a608692SPiotr Kubaj.size	x25519_fe51_mul121666,.-x25519_fe51_mul121666
350