• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.abiversion	2
2.text
3
4.globl	x25519_fe51_mul
5.type	x25519_fe51_mul,@function
6.type	x25519_fe51_mul,@function
7.align	5
8x25519_fe51_mul:
9.localentry	x25519_fe51_mul,0
10
11	stdu	1,-144(1)
12	std	21,56(1)
13	std	22,64(1)
14	std	23,72(1)
15	std	24,80(1)
16	std	25,88(1)
17	std	26,96(1)
18	std	27,104(1)
19	std	28,112(1)
20	std	29,120(1)
21	std	30,128(1)
22	std	31,136(1)
23
24	ld	6,0(5)
25	ld	7,0(4)
26	ld	8,8(4)
27	ld	9,16(4)
28	ld	10,24(4)
29	ld	11,32(4)
30
31	mulld	22,7,6
32	mulhdu	23,7,6
33
34	mulld	24,8,6
35	mulhdu	25,8,6
36
37	mulld	30,11,6
38	mulhdu	31,11,6
39	ld	4,8(5)
40	mulli	11,11,19
41
42	mulld	26,9,6
43	mulhdu	27,9,6
44
45	mulld	28,10,6
46	mulhdu	29,10,6
47	mulld	12,11,4
48	mulhdu	21,11,4
49	addc	22,22,12
50	adde	23,23,21
51
52	mulld	12,7,4
53	mulhdu	21,7,4
54	addc	24,24,12
55	adde	25,25,21
56
57	mulld	12,10,4
58	mulhdu	21,10,4
59	ld	6,16(5)
60	mulli	10,10,19
61	addc	30,30,12
62	adde	31,31,21
63
64	mulld	12,8,4
65	mulhdu	21,8,4
66	addc	26,26,12
67	adde	27,27,21
68
69	mulld	12,9,4
70	mulhdu	21,9,4
71	addc	28,28,12
72	adde	29,29,21
73	mulld	12,10,6
74	mulhdu	21,10,6
75	addc	22,22,12
76	adde	23,23,21
77
78	mulld	12,11,6
79	mulhdu	21,11,6
80	addc	24,24,12
81	adde	25,25,21
82
83	mulld	12,9,6
84	mulhdu	21,9,6
85	ld	4,24(5)
86	mulli	9,9,19
87	addc	30,30,12
88	adde	31,31,21
89
90	mulld	12,7,6
91	mulhdu	21,7,6
92	addc	26,26,12
93	adde	27,27,21
94
95	mulld	12,8,6
96	mulhdu	21,8,6
97	addc	28,28,12
98	adde	29,29,21
99	mulld	12,9,4
100	mulhdu	21,9,4
101	addc	22,22,12
102	adde	23,23,21
103
104	mulld	12,10,4
105	mulhdu	21,10,4
106	addc	24,24,12
107	adde	25,25,21
108
109	mulld	12,8,4
110	mulhdu	21,8,4
111	ld	6,32(5)
112	mulli	8,8,19
113	addc	30,30,12
114	adde	31,31,21
115
116	mulld	12,11,4
117	mulhdu	21,11,4
118	addc	26,26,12
119	adde	27,27,21
120
121	mulld	12,7,4
122	mulhdu	21,7,4
123	addc	28,28,12
124	adde	29,29,21
125	mulld	12,8,6
126	mulhdu	21,8,6
127	addc	22,22,12
128	adde	23,23,21
129
130	mulld	12,9,6
131	mulhdu	21,9,6
132	addc	24,24,12
133	adde	25,25,21
134
135	mulld	12,10,6
136	mulhdu	21,10,6
137	addc	26,26,12
138	adde	27,27,21
139
140	mulld	12,11,6
141	mulhdu	21,11,6
142	addc	28,28,12
143	adde	29,29,21
144
145	mulld	12,7,6
146	mulhdu	21,7,6
147	addc	30,30,12
148	adde	31,31,21
149
150.Lfe51_reduce:
151	li	0,-1
152	srdi	0,0,13
153
154	srdi	12,26,51
155	and	9,26,0
156	insrdi	12,27,51,0
157	srdi	21,22,51
158	and	7,22,0
159	insrdi	21,23,51,0
160	addc	28,28,12
161	addze	29,29
162	addc	24,24,21
163	addze	25,25
164
165	srdi	12,28,51
166	and	10,28,0
167	insrdi	12,29,51,0
168	srdi	21,24,51
169	and	8,24,0
170	insrdi	21,25,51,0
171	addc	30,30,12
172	addze	31,31
173	add	9,9,21
174
175	srdi	12,30,51
176	and	11,30,0
177	insrdi	12,31,51,0
178	mulli	12,12,19
179
180	add	7,7,12
181
182	srdi	21,9,51
183	and	9,9,0
184	add	10,10,21
185
186	srdi	12,7,51
187	and	7,7,0
188	add	8,8,12
189
190	std	9,16(3)
191	std	10,24(3)
192	std	11,32(3)
193	std	7,0(3)
194	std	8,8(3)
195
196	ld	21,56(1)
197	ld	22,64(1)
198	ld	23,72(1)
199	ld	24,80(1)
200	ld	25,88(1)
201	ld	26,96(1)
202	ld	27,104(1)
203	ld	28,112(1)
204	ld	29,120(1)
205	ld	30,128(1)
206	ld	31,136(1)
207	addi	1,1,144
208	blr
209.long	0
210.byte	0,12,4,0,0x80,11,3,0
211.long	0
212.size	x25519_fe51_mul,.-x25519_fe51_mul
213.globl	x25519_fe51_sqr
214.type	x25519_fe51_sqr,@function
215.type	x25519_fe51_sqr,@function
216.align	5
217x25519_fe51_sqr:
218.localentry	x25519_fe51_sqr,0
219
220	stdu	1,-144(1)
221	std	21,56(1)
222	std	22,64(1)
223	std	23,72(1)
224	std	24,80(1)
225	std	25,88(1)
226	std	26,96(1)
227	std	27,104(1)
228	std	28,112(1)
229	std	29,120(1)
230	std	30,128(1)
231	std	31,136(1)
232
233	ld	7,0(4)
234	ld	8,8(4)
235	ld	9,16(4)
236	ld	10,24(4)
237	ld	11,32(4)
238
239	add	6,7,7
240	mulli	21,11,19
241
242	mulld	22,7,7
243	mulhdu	23,7,7
244	mulld	24,8,6
245	mulhdu	25,8,6
246	mulld	26,9,6
247	mulhdu	27,9,6
248	mulld	28,10,6
249	mulhdu	29,10,6
250	mulld	30,11,6
251	mulhdu	31,11,6
252	add	6,8,8
253	mulld	12,11,21
254	mulhdu	11,11,21
255	addc	28,28,12
256	adde	29,29,11
257
258	mulli	5,10,19
259
260	mulld	12,8,8
261	mulhdu	11,8,8
262	addc	26,26,12
263	adde	27,27,11
264	mulld	12,9,6
265	mulhdu	11,9,6
266	addc	28,28,12
267	adde	29,29,11
268	mulld	12,10,6
269	mulhdu	11,10,6
270	addc	30,30,12
271	adde	31,31,11
272	mulld	12,21,6
273	mulhdu	11,21,6
274	add	6,10,10
275	addc	22,22,12
276	adde	23,23,11
277	mulld	12,10,5
278	mulhdu	10,10,5
279	addc	24,24,12
280	adde	25,25,10
281	mulld	12,6,21
282	mulhdu	10,6,21
283	add	6,9,9
284	addc	26,26,12
285	adde	27,27,10
286
287	mulld	12,9,9
288	mulhdu	10,9,9
289	addc	30,30,12
290	adde	31,31,10
291	mulld	12,5,6
292	mulhdu	10,5,6
293	addc	22,22,12
294	adde	23,23,10
295	mulld	12,21,6
296	mulhdu	10,21,6
297	addc	24,24,12
298	adde	25,25,10
299
300	b	.Lfe51_reduce
301.long	0
302.byte	0,12,4,0,0x80,11,2,0
303.long	0
304.size	x25519_fe51_sqr,.-x25519_fe51_sqr
305.globl	x25519_fe51_mul121666
306.type	x25519_fe51_mul121666,@function
307.type	x25519_fe51_mul121666,@function
308.align	5
309x25519_fe51_mul121666:
310.localentry	x25519_fe51_mul121666,0
311
312	stdu	1,-144(1)
313	std	21,56(1)
314	std	22,64(1)
315	std	23,72(1)
316	std	24,80(1)
317	std	25,88(1)
318	std	26,96(1)
319	std	27,104(1)
320	std	28,112(1)
321	std	29,120(1)
322	std	30,128(1)
323	std	31,136(1)
324
325	lis	6,1
326	ori	6,6,56130
327	ld	7,0(4)
328	ld	8,8(4)
329	ld	9,16(4)
330	ld	10,24(4)
331	ld	11,32(4)
332
333	mulld	22,7,6
334	mulhdu	23,7,6
335	mulld	24,8,6
336	mulhdu	25,8,6
337	mulld	26,9,6
338	mulhdu	27,9,6
339	mulld	28,10,6
340	mulhdu	29,10,6
341	mulld	30,11,6
342	mulhdu	31,11,6
343
344	b	.Lfe51_reduce
345.long	0
346.byte	0,12,4,0,0x80,11,2,0
347.long	0
348.size	x25519_fe51_mul121666,.-x25519_fe51_mul121666
349