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