ecp_nistp521-ppc64.S revision 1.1 1 .text
2
3 .globl p521_felem_mul
4 .type p521_felem_mul,@function
5 .section ".opd","aw"
6 .align 3
7 p521_felem_mul:
8 .quad .p521_felem_mul,.TOC.@tocbase,0
9 .previous
10 .align 5
11 .p521_felem_mul:
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
204
205 .globl p521_felem_square
206 .type p521_felem_square,@function
207 .section ".opd","aw"
208 .align 3
209 p521_felem_square:
210 .quad .p521_felem_square,.TOC.@tocbase,0
211 .previous
212 .align 5
213 .p521_felem_square:
214
215 mr 12,1
216 stdu 1,-16*13(1)
217
218 stxv 52,-16*12(12)
219 stxv 53,-16*11(12)
220 stxv 54,-16*10(12)
221 stxv 55,-16*9(12)
222 stxv 56,-16*8(12)
223 stxv 57,-16*7(12)
224 stxv 58,-16*6(12)
225 stxv 59,-16*5(12)
226 stxv 60,-16*4(12)
227 stxv 61,-16*3(12)
228 stxv 62,-16*2(12)
229 stxv 63,-16*1(12)
230
231 vspltisw 0,0
232
233 lxsd 13,0(4)
234 lxsd 14,8(4)
235 lxsd 15,16(4)
236 lxsd 16,24(4)
237 lxsd 17,32(4)
238 lxsd 18,40(4)
239 lxsd 19,48(4)
240 lxsd 20,56(4)
241 lxsd 21,64(4)
242
243 li 8,0
244 li 9,1
245 mtvsrdd 33,9,8
246 .long 0x106D0DC4
247 .long 0x108E0DC4
248 .long 0x10AF0DC4
249 .long 0x10D00DC4
250 .long 0x10F10DC4
251 .long 0x11120DC4
252 .long 0x11330DC4
253 .long 0x11540DC4
254 .long 0x11750DC4
255 .long 0x12ED6823
256
257 .long 0x130D2023
258
259 xxpermdi 33,45,46,0b00
260 xxpermdi 34,37,46,0b00
261 .long 0x13211023
262
263 xxpermdi 34,38,37,0b00
264 .long 0x13411023
265
266 xxpermdi 34,39,38,0b00
267 .long 0x13611023
268 .long 0x136F7EE3
269
270 xxpermdi 34,40,39,0b00
271 .long 0x13811023
272 .long 0x138F3723
273
274 xxpermdi 34,41,40,0b00
275 .long 0x13A11023
276 xxpermdi 44,47,48,0b00
277 xxpermdi 54,39,48,0b00
278 .long 0x13ACB763
279
280 xxpermdi 34,42,41,0b00
281 .long 0x13C11023
282 xxpermdi 54,40,39,0b00
283 .long 0x13CCB7A3
284
285 xxpermdi 34,43,42,0b00
286 .long 0x13E11023
287 xxpermdi 54,41,40,0b00
288 .long 0x13ECB7E3
289 .long 0x13F18FE3
290
291 .long 0x13124623
292
293 .long 0x13534EA3
294
295 .long 0x13945723
296
297 .long 0x13D55FA3
298
299 mtvsrdd 33,9,8
300 .long 0x11080DC4
301 .long 0x11290DC4
302 .long 0x114A0DC4
303 .long 0x116B0DC4
304
305 .long 0x13B45F63
306
307 .long 0x13935F23
308
309 xxpermdi 34,43,42,0b00
310 xxpermdi 33,50,51,0b00
311 .long 0x136116E3
312
313 xxpermdi 33,49,50,0b00
314 .long 0x134116A3
315
316 xxpermdi 33,48,49,0b00
317 .long 0x13211663
318 .long 0x13324E63
319
320 xxpermdi 33,47,48,0b00
321 .long 0x13011623
322 .long 0x13114E23
323
324 xxpermdi 33,46,47,0b00
325 .long 0x12E115E3
326 xxpermdi 34,41,40,0b00
327 xxpermdi 33,48,49,0b00
328 .long 0x12E115E3
329
330 stxv 55,0(3)
331 stxv 56,16(3)
332 stxv 57,32(3)
333 stxv 58,48(3)
334 stxv 59,64(3)
335 stxv 60,80(3)
336 stxv 61,96(3)
337 stxv 62,112(3)
338 stxv 63,128(3)
339
340 ld 12,0(1)
341 lxv 52,-16*12(12)
342 lxv 53,-16*11(12)
343 lxv 54,-16*10(12)
344 lxv 55,-16*9(12)
345 lxv 56,-16*8(12)
346 lxv 57,-16*7(12)
347 lxv 58,-16*6(12)
348 lxv 59,-16*5(12)
349 lxv 60,-16*4(12)
350 lxv 61,-16*3(12)
351 lxv 62,-16*2(12)
352 lxv 63,-16*1(12)
353 mr 1,12
354
355 blr
356
357
358