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