1.machine	"any"
2.text
3
4.globl	p521_felem_mul
5.type	p521_felem_mul,@function
6.section	".opd","aw"
7.align	3
8p521_felem_mul:
9.quad	.p521_felem_mul,.TOC.@tocbase,0
10.previous
11.align	5
12.p521_felem_mul:
13
14	mr	12,1
15	stdu	1,-16*13(1)
16
17	stxv	52,-16*12(12)
18	stxv	53,-16*11(12)
19	stxv	54,-16*10(12)
20	stxv	55,-16*9(12)
21	stxv	56,-16*8(12)
22	stxv	57,-16*7(12)
23	stxv	58,-16*6(12)
24	stxv	59,-16*5(12)
25	stxv	60,-16*4(12)
26	stxv	61,-16*3(12)
27	stxv	62,-16*2(12)
28	stxv	63,-16*1(12)
29
30	vspltisw	0,0
31
32	lxsd	13,0(4)
33	lxsd	14,8(4)
34	lxsd	15,16(4)
35	lxsd	16,24(4)
36	lxsd	17,32(4)
37	lxsd	18,40(4)
38	lxsd	19,48(4)
39	lxsd	20,56(4)
40	lxsd	21,64(4)
41
42	lxsd	3,0(5)
43	lxsd	4,8(5)
44	lxsd	5,16(5)
45	lxsd	6,24(5)
46	lxsd	7,32(5)
47	lxsd	8,40(5)
48	lxsd	9,48(5)
49	lxsd	10,56(5)
50	lxsd	11,64(5)
51
52.long	0x12ED1823
53
54	xxpermdi	33,45,46,0b00
55	xxpermdi	34,36,35,0b00
56.long	0x13011023
57
58	xxpermdi	34,37,36,0b00
59.long	0x13211023
60.long	0x132F1E63
61
62	xxpermdi	34,38,37,0b00
63.long	0x13411023
64	xxpermdi	44,47,48,0b00
65	xxpermdi	54,36,35,0b00
66.long	0x134CB6A3
67
68	xxpermdi	34,39,38,0b00
69.long	0x13611023
70	xxpermdi	54,37,36,0b00
71.long	0x136CB6E3
72.long	0x13711EE3
73
74	xxpermdi	34,40,39,0b00
75.long	0x13811023
76	xxpermdi	54,38,37,0b00
77.long	0x138CB723
78
79	xxpermdi	34,41,40,0b00
80.long	0x13A11023
81	xxpermdi	54,39,38,0b00
82.long	0x13ACB763
83
84	xxpermdi	34,42,41,0b00
85.long	0x13C11023
86	xxpermdi	54,40,39,0b00
87.long	0x13CCB7A3
88
89	xxpermdi	34,43,42,0b00
90.long	0x13E11023
91	xxpermdi	54,41,40,0b00
92.long	0x13ECB7E3
93
94	xxpermdi	33,49,50,0b00
95	xxpermdi	34,36,35,0b00
96.long	0x13811723
97
98	xxpermdi	34,37,36,0b00
99.long	0x13A11763
100.long	0x13B31F63
101
102	xxpermdi	34,38,37,0b00
103.long	0x13C117A3
104	xxpermdi	44,51,52,0b00
105	xxpermdi	54,36,35,0b00
106.long	0x13CCB7A3
107
108	xxpermdi	34,39,38,0b00
109.long	0x13E117E3
110	xxpermdi	54,37,36,0b00
111.long	0x13ECB7E3
112.long	0x13F51FE3
113
114	li	8,0
115	li	9,1
116	mtvsrdd	33,9,8
117.long	0x10630DC4
118.long	0x10840DC4
119.long	0x10A50DC4
120.long	0x10C60DC4
121.long	0x10E70DC4
122.long	0x11080DC4
123.long	0x11290DC4
124.long	0x114A0DC4
125.long	0x116B0DC4
126
127.long	0x13D55FA3
128
129	xxpermdi	34,43,42,0b00
130	xxpermdi	33,52,53,0b00
131.long	0x13A11763
132
133	xxpermdi	33,51,52,0b00
134.long	0x13811723
135.long	0x13954F23
136
137	xxpermdi	33,50,51,0b00
138.long	0x136116E3
139	xxpermdi	54,41,40,0b00
140	xxpermdi	44,52,53,0b00
141.long	0x136CB6E3
142
143	xxpermdi	33,49,50,0b00
144.long	0x134116A3
145	xxpermdi	44,51,52,0b00
146.long	0x134CB6A3
147.long	0x13553EA3
148
149	xxpermdi	33,48,49,0b00
150.long	0x13211663
151	xxpermdi	44,50,51,0b00
152.long	0x132CB663
153
154	xxpermdi	33,47,48,0b00
155.long	0x13011623
156	xxpermdi	44,49,50,0b00
157.long	0x130CB623
158
159	xxpermdi	33,46,47,0b00
160.long	0x12E115E3
161	xxpermdi	44,48,49,0b00
162.long	0x12ECB5E3
163
164	xxpermdi	34,39,38,0b00
165	xxpermdi	33,52,53,0b00
166.long	0x13211663
167
168	xxpermdi	33,51,52,0b00
169.long	0x13011623
170.long	0x13152E23
171
172	xxpermdi	33,50,51,0b00
173.long	0x12E115E3
174	xxpermdi	54,37,36,0b00
175	xxpermdi	44,52,53,0b00
176.long	0x12ECB5E3
177
178	stxv	55,0(3)
179	stxv	56,16(3)
180	stxv	57,32(3)
181	stxv	58,48(3)
182	stxv	59,64(3)
183	stxv	60,80(3)
184	stxv	61,96(3)
185	stxv	62,112(3)
186	stxv	63,128(3)
187
188	ld	12,0(1)
189	lxv	52,-16*12(12)
190	lxv	53,-16*11(12)
191	lxv	54,-16*10(12)
192	lxv	55,-16*9(12)
193	lxv	56,-16*8(12)
194	lxv	57,-16*7(12)
195	lxv	58,-16*6(12)
196	lxv	59,-16*5(12)
197	lxv	60,-16*4(12)
198	lxv	61,-16*3(12)
199	lxv	62,-16*2(12)
200	lxv	63,-16*1(12)
201	mr	1,12
202
203	blr
204
205
206.globl	p521_felem_square
207.type	p521_felem_square,@function
208.section	".opd","aw"
209.align	3
210p521_felem_square:
211.quad	.p521_felem_square,.TOC.@tocbase,0
212.previous
213.align	5
214.p521_felem_square:
215
216	mr	12,1
217	stdu	1,-16*13(1)
218
219	stxv	52,-16*12(12)
220	stxv	53,-16*11(12)
221	stxv	54,-16*10(12)
222	stxv	55,-16*9(12)
223	stxv	56,-16*8(12)
224	stxv	57,-16*7(12)
225	stxv	58,-16*6(12)
226	stxv	59,-16*5(12)
227	stxv	60,-16*4(12)
228	stxv	61,-16*3(12)
229	stxv	62,-16*2(12)
230	stxv	63,-16*1(12)
231
232	vspltisw	0,0
233
234	lxsd	13,0(4)
235	lxsd	14,8(4)
236	lxsd	15,16(4)
237	lxsd	16,24(4)
238	lxsd	17,32(4)
239	lxsd	18,40(4)
240	lxsd	19,48(4)
241	lxsd	20,56(4)
242	lxsd	21,64(4)
243
244	li	8,0
245	li	9,1
246	mtvsrdd	33,9,8
247.long	0x106D0DC4
248.long	0x108E0DC4
249.long	0x10AF0DC4
250.long	0x10D00DC4
251.long	0x10F10DC4
252.long	0x11120DC4
253.long	0x11330DC4
254.long	0x11540DC4
255.long	0x11750DC4
256.long	0x12ED6823
257
258.long	0x130D2023
259
260	xxpermdi	33,45,46,0b00
261	xxpermdi	34,37,46,0b00
262.long	0x13211023
263
264	xxpermdi	34,38,37,0b00
265.long	0x13411023
266
267	xxpermdi	34,39,38,0b00
268.long	0x13611023
269.long	0x136F7EE3
270
271	xxpermdi	34,40,39,0b00
272.long	0x13811023
273.long	0x138F3723
274
275	xxpermdi	34,41,40,0b00
276.long	0x13A11023
277	xxpermdi	44,47,48,0b00
278	xxpermdi	54,39,48,0b00
279.long	0x13ACB763
280
281	xxpermdi	34,42,41,0b00
282.long	0x13C11023
283	xxpermdi	54,40,39,0b00
284.long	0x13CCB7A3
285
286	xxpermdi	34,43,42,0b00
287.long	0x13E11023
288	xxpermdi	54,41,40,0b00
289.long	0x13ECB7E3
290.long	0x13F18FE3
291
292.long	0x13124623
293
294.long	0x13534EA3
295
296.long	0x13945723
297
298.long	0x13D55FA3
299
300	mtvsrdd	33,9,8
301.long	0x11080DC4
302.long	0x11290DC4
303.long	0x114A0DC4
304.long	0x116B0DC4
305
306.long	0x13B45F63
307
308.long	0x13935F23
309
310	xxpermdi	34,43,42,0b00
311	xxpermdi	33,50,51,0b00
312.long	0x136116E3
313
314	xxpermdi	33,49,50,0b00
315.long	0x134116A3
316
317	xxpermdi	33,48,49,0b00
318.long	0x13211663
319.long	0x13324E63
320
321	xxpermdi	33,47,48,0b00
322.long	0x13011623
323.long	0x13114E23
324
325	xxpermdi	33,46,47,0b00
326.long	0x12E115E3
327	xxpermdi	34,41,40,0b00
328	xxpermdi	33,48,49,0b00
329.long	0x12E115E3
330
331	stxv	55,0(3)
332	stxv	56,16(3)
333	stxv	57,32(3)
334	stxv	58,48(3)
335	stxv	59,64(3)
336	stxv	60,80(3)
337	stxv	61,96(3)
338	stxv	62,112(3)
339	stxv	63,128(3)
340
341	ld	12,0(1)
342	lxv	52,-16*12(12)
343	lxv	53,-16*11(12)
344	lxv	54,-16*10(12)
345	lxv	55,-16*9(12)
346	lxv	56,-16*8(12)
347	lxv	57,-16*7(12)
348	lxv	58,-16*6(12)
349	lxv	59,-16*5(12)
350	lxv	60,-16*4(12)
351	lxv	61,-16*3(12)
352	lxv	62,-16*2(12)
353	lxv	63,-16*1(12)
354	mr	1,12
355
356	blr
357
358
359