1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from poly1305-ppcfp.pl. */
3 .machine "any"
4 .abiversion 2
5 .text
6
7 .globl poly1305_init_fpu
8 .type poly1305_init_fpu,@function
9 .align 6
10 poly1305_init_fpu:
11 .localentry poly1305_init_fpu,0
12
13 stdu 1,-48(1)
14 mflr 6
15 std 6,64(1)
16
17 bl .LPICmeup
18
19 xor 0,0,0
20 mtlr 6
21
22 lfd 8,8*0(5)
23 lfd 9,8*1(5)
24 lfd 10,8*2(5)
25 lfd 11,8*3(5)
26 lfd 12,8*4(5)
27 lfd 13,8*5(5)
28
29 stfd 8,8*0(3)
30 stfd 9,8*1(3)
31 stfd 10,8*2(3)
32 stfd 11,8*3(3)
33
34 cmpld 4,0
35 beq- .Lno_key
36
37 lfd 6,8*13(5)
38 mffs 7
39
40 stfd 8,8*4(3)
41 stfd 9,8*5(3)
42 stfd 10,8*6(3)
43 stfd 11,8*7(3)
44
45 li 8,4
46 li 9,8
47 li 10,12
48 lwzx 7,0,4
49 lwzx 8,8,4
50 lwzx 9,9,4
51 lwzx 10,10,4
52
53 lis 11,0xf000
54 ori 12,11,3
55 andc 7,7,11
56 andc 8,8,12
57 andc 9,9,12
58 andc 10,10,12
59
60 stw 7,32(3)
61 stw 8,40(3)
62 stw 9,48(3)
63 stw 10,56(3)
64
65 mtfsf 255,6
66 stfd 8,8*18(3)
67 stfd 9,8*19(3)
68 stfd 10,8*20(3)
69 stfd 11,8*21(3)
70 stfd 12,8*22(3)
71 stfd 13,8*23(3)
72
73 lfd 0,8*4(3)
74 lfd 2,8*5(3)
75 lfd 4,8*6(3)
76 lfd 6,8*7(3)
77
78 fsub 0,0,8
79 fsub 2,2,9
80 fsub 4,4,10
81 fsub 6,6,11
82
83 lfd 8,8*6(5)
84 lfd 9,8*7(5)
85 lfd 10,8*8(5)
86 lfd 11,8*9(5)
87
88 fmul 3,2,13
89 fmul 5,4,13
90 stfd 7,8*15(3)
91 fmul 7,6,13
92
93 fadd 1,0,8
94 stfd 3,8*12(3)
95 fadd 3,2,9
96 stfd 5,8*13(3)
97 fadd 5,4,10
98 stfd 7,8*14(3)
99 fadd 7,6,11
100
101 fsub 1,1,8
102 fsub 3,3,9
103 fsub 5,5,10
104 fsub 7,7,11
105
106 lfd 8,8*10(5)
107 lfd 9,8*11(5)
108 lfd 10,8*12(5)
109
110 fsub 0,0,1
111 fsub 2,2,3
112 fsub 4,4,5
113 fsub 6,6,7
114
115 stfd 1,8*5(3)
116 stfd 3,8*7(3)
117 stfd 5,8*9(3)
118 stfd 7,8*11(3)
119
120 stfd 0,8*4(3)
121 stfd 2,8*6(3)
122 stfd 4,8*8(3)
123 stfd 6,8*10(3)
124
125 lfd 2,8*12(3)
126 lfd 4,8*13(3)
127 lfd 6,8*14(3)
128 lfd 0,8*15(3)
129
130 fadd 3,2,8
131 fadd 5,4,9
132 fadd 7,6,10
133
134 fsub 3,3,8
135 fsub 5,5,9
136 fsub 7,7,10
137
138 fsub 2,2,3
139 fsub 4,4,5
140 fsub 6,6,7
141
142 stfd 3,8*13(3)
143 stfd 5,8*15(3)
144 stfd 7,8*17(3)
145
146 stfd 2,8*12(3)
147 stfd 4,8*14(3)
148 stfd 6,8*16(3)
149
150 mtfsf 255,0
151 .Lno_key:
152 xor 3,3,3
153 addi 1,1,48
154 blr
155 .long 0
156 .byte 0,12,4,1,0x80,0,2,0
157 .size poly1305_init_fpu,.-poly1305_init_fpu
158
159 .globl poly1305_blocks_fpu
160 .type poly1305_blocks_fpu,@function
161 .align 4
162 poly1305_blocks_fpu:
163 .localentry poly1305_blocks_fpu,0
164
165 srwi. 5,5,4
166 beq- .Labort
167
168 stdu 1,-240(1)
169 mflr 0
170 stfd 14,96(1)
171 stfd 15,104(1)
172 stfd 16,112(1)
173 stfd 17,120(1)
174 stfd 18,128(1)
175 stfd 19,136(1)
176 stfd 20,144(1)
177 stfd 21,152(1)
178 stfd 22,160(1)
179 stfd 23,168(1)
180 stfd 24,176(1)
181 stfd 25,184(1)
182 stfd 26,192(1)
183 stfd 27,200(1)
184 stfd 28,208(1)
185 stfd 29,216(1)
186 stfd 30,224(1)
187 stfd 31,232(1)
188 std 0,256(1)
189
190 xor 0,0,0
191 li 10,1
192 mtctr 5
193 neg 5,5
194 stw 0,84(1)
195 stw 10,80(1)
196
197 lfd 8,8*18(3)
198 lfd 9,8*19(3)
199 lfd 10,8*20(3)
200 lfd 11,8*21(3)
201 lfd 12,8*22(3)
202 lfd 13,8*23(3)
203
204 lfd 0,8*0(3)
205 lfd 2,8*1(3)
206 lfd 4,8*2(3)
207 lfd 6,8*3(3)
208
209 stfd 8,48(1)
210 oris 10,6,18736
211 stfd 9,56(1)
212 stfd 10,64(1)
213 stw 10,76(1)
214
215 li 11,4
216 li 12,8
217 li 6,12
218 lwzx 7,0,4
219 lwzx 8,11,4
220 lwzx 9,12,4
221 lwzx 10,6,4
222 addi 4,4,16
223
224 stw 7,48(1)
225 stw 8,56(1)
226 stw 9,64(1)
227 stw 10,72(1)
228
229 mffs 28
230 lfd 29,80(1)
231 lfd 14,8*4(3)
232 lfd 15,8*5(3)
233 lfd 16,8*6(3)
234 lfd 17,8*7(3)
235 lfd 18,8*8(3)
236 lfd 19,8*9(3)
237 lfd 24,8*10(3)
238 lfd 25,8*11(3)
239 lfd 26,8*12(3)
240 lfd 27,8*13(3)
241 lfd 20,8*14(3)
242 lfd 21,8*15(3)
243 lfd 22,8*16(3)
244 lfd 23,8*17(3)
245
246 stfd 28,80(1)
247 mtfsf 255,29
248
249 addic 5,5,1
250 addze 0,0
251 slwi. 0,0,4
252 sub 4,4,0
253
254 lfd 28,48(1)
255 lfd 29,56(1)
256 lfd 30,64(1)
257 lfd 31,72(1)
258
259 fsub 0,0,8
260 lwzx 7,0,4
261 fsub 2,2,9
262 lwzx 8,11,4
263 fsub 4,4,10
264 lwzx 9,12,4
265 fsub 6,6,11
266 lwzx 10,6,4
267
268 fsub 28,28,8
269 addi 4,4,16
270 fsub 29,29,9
271 fsub 30,30,10
272 fsub 31,31,11
273
274 fadd 28,28,0
275 stw 7,48(1)
276 fadd 29,29,2
277 stw 8,56(1)
278 fadd 30,30,4
279 stw 9,64(1)
280 fadd 31,31,6
281 stw 10,72(1)
282
283 b .Lentry
284
285 .align 4
286 .Loop:
287 fsub 30,30,8
288 addic 5,5,1
289 fsub 31,31,9
290 addze 0,0
291 fsub 26,26,10
292 slwi. 0,0,4
293 fsub 27,27,11
294 sub 4,4,0
295
296 fadd 0,0,30
297 fadd 1,1,31
298 fadd 4,4,26
299 fadd 5,5,27
300
301
302 fadd 26,2,10
303 lwzx 7,0,4
304 fadd 27,3,10
305 lwzx 8,11,4
306 fadd 30,6,12
307 lwzx 9,12,4
308 fadd 31,7,12
309 lwzx 10,6,4
310 fadd 24,0,9
311 addi 4,4,16
312 fadd 25,1,9
313 fadd 28,4,11
314 fadd 29,5,11
315
316 fsub 26,26,10
317 stw 7,48(1)
318 fsub 27,27,10
319 stw 8,56(1)
320 fsub 30,30,12
321 stw 9,64(1)
322 fsub 31,31,12
323 stw 10,72(1)
324 fsub 24,24,9
325 fsub 25,25,9
326 fsub 28,28,11
327 fsub 29,29,11
328
329 fsub 2,2,26
330 fsub 3,3,27
331 fsub 6,6,30
332 fsub 7,7,31
333 fsub 4,4,28
334 fsub 5,5,29
335 fsub 0,0,24
336 fsub 1,1,25
337
338 fadd 2,2,24
339 fadd 3,3,25
340 fadd 6,6,28
341 fadd 7,7,29
342 fadd 4,4,26
343 fadd 5,5,27
344 fmadd 0,30,13,0
345 fmadd 1,31,13,1
346
347 fadd 29,2,3
348 lfd 26,8*12(3)
349 fadd 31,6,7
350 lfd 27,8*13(3)
351 fadd 30,4,5
352 lfd 24,8*10(3)
353 fadd 28,0,1
354 lfd 25,8*11(3)
355 .Lentry:
356 fmul 0,22,29
357 fmul 1,23,29
358 fmul 4,16,29
359 fmul 5,17,29
360 fmul 2,14,29
361 fmul 3,15,29
362 fmul 6,18,29
363 fmul 7,19,29
364
365 fmadd 0,26,31,0
366 fmadd 1,27,31,1
367 fmadd 4,22,31,4
368 fmadd 5,23,31,5
369 fmadd 2,20,31,2
370 fmadd 3,21,31,3
371 fmadd 6,14,31,6
372 fmadd 7,15,31,7
373
374 fmadd 0,20,30,0
375 fmadd 1,21,30,1
376 fmadd 4,14,30,4
377 fmadd 5,15,30,5
378 fmadd 2,22,30,2
379 fmadd 3,23,30,3
380 fmadd 6,16,30,6
381 fmadd 7,17,30,7
382
383 fmadd 0,14,28,0
384 lfd 30,48(1)
385 fmadd 1,15,28,1
386 lfd 31,56(1)
387 fmadd 4,18,28,4
388 lfd 26,64(1)
389 fmadd 5,19,28,5
390 lfd 27,72(1)
391 fmadd 2,16,28,2
392 fmadd 3,17,28,3
393 fmadd 6,24,28,6
394 fmadd 7,25,28,7
395
396 bdnz .Loop
397
398
399 fadd 24,0,9
400 fadd 25,1,9
401 fadd 28,4,11
402 fadd 29,5,11
403 fadd 26,2,10
404 fadd 27,3,10
405 fadd 30,6,12
406 fadd 31,7,12
407
408 fsub 24,24,9
409 fsub 25,25,9
410 fsub 28,28,11
411 fsub 29,29,11
412 fsub 26,26,10
413 fsub 27,27,10
414 fsub 30,30,12
415 fsub 31,31,12
416
417 fsub 2,2,26
418 fsub 3,3,27
419 fsub 6,6,30
420 fsub 7,7,31
421 fsub 4,4,28
422 fsub 5,5,29
423 fsub 0,0,24
424 fsub 1,1,25
425
426 fadd 2,2,24
427 fadd 3,3,25
428 fadd 6,6,28
429 fadd 7,7,29
430 fadd 4,4,26
431 fadd 5,5,27
432 fmadd 0,30,13,0
433 fmadd 1,31,13,1
434
435 fadd 29,2,3
436 fadd 31,6,7
437 fadd 30,4,5
438 fadd 28,0,1
439
440 lfd 0,80(1)
441 fadd 29,29,9
442 fadd 31,31,11
443 fadd 30,30,10
444 fadd 28,28,8
445
446 stfd 29,8*1(3)
447 stfd 31,8*3(3)
448 stfd 30,8*2(3)
449 stfd 28,8*0(3)
450
451 mtfsf 255,0
452 lfd 14,96(1)
453 lfd 15,104(1)
454 lfd 16,112(1)
455 lfd 17,120(1)
456 lfd 18,128(1)
457 lfd 19,136(1)
458 lfd 20,144(1)
459 lfd 21,152(1)
460 lfd 22,160(1)
461 lfd 23,168(1)
462 lfd 24,176(1)
463 lfd 25,184(1)
464 lfd 26,192(1)
465 lfd 27,200(1)
466 lfd 28,208(1)
467 lfd 29,216(1)
468 lfd 30,224(1)
469 lfd 31,232(1)
470 addi 1,1,240
471 .Labort:
472 blr
473 .long 0
474 .byte 0,12,4,1,0x80,0,4,0
475 .size poly1305_blocks_fpu,.-poly1305_blocks_fpu
476 .globl poly1305_emit_fpu
477 .type poly1305_emit_fpu,@function
478 .align 4
479 poly1305_emit_fpu:
480 .localentry poly1305_emit_fpu,0
481
482 stdu 1,-80(1)
483 mflr 0
484 std 28,48(1)
485 std 29,56(1)
486 std 30,64(1)
487 std 31,72(1)
488 std 0,96(1)
489
490 lwz 28,4(3)
491 lwz 7,0(3)
492 lwz 29,12(3)
493 lwz 8,8(3)
494 lwz 30,20(3)
495 lwz 9,16(3)
496 lwz 31,28(3)
497 lwz 10,24(3)
498
499 lis 0,0xfff0
500 andc 28,28,0
501 andc 29,29,0
502 andc 30,30,0
503 andc 31,31,0
504 li 0,3
505
506 srwi 6,31,2
507 and 11,31,0
508 andc 31,31,0
509 add 31,31,6
510 add 7,7,31
511 add 8,8,28
512 add 9,9,29
513 add 10,10,30
514
515 srdi 28,7,32
516 add 8,8,28
517 srdi 29,8,32
518 add 9,9,29
519 srdi 30,9,32
520 add 10,10,30
521 srdi 31,10,32
522 add 11,11,31
523
524 insrdi 7,8,32,0
525 insrdi 9,10,32,0
526
527 addic 28,7,5
528 addze 29,9
529 addze 30,11
530
531 srdi 0,30,2
532 neg 0,0
533 sradi 0,0,63
534 ld 30,0(5)
535 ld 31,8(5)
536
537 andc 7,7,0
538 and 28,28,0
539 andc 9,9,0
540 and 29,29,0
541 or 7,7,28
542 or 9,9,29
543 addc 7,7,30
544 adde 9,9,31
545
546 srdi 8,7,32
547 srdi 10,9,32
548 stw 7,0(4)
549 stw 8,4(4)
550 stw 9,8(4)
551 stw 10,12(4)
552 ld 28,48(1)
553 ld 29,56(1)
554 ld 30,64(1)
555 ld 31,72(1)
556 addi 1,1,80
557 blr
558 .long 0
559 .byte 0,12,4,1,0x80,4,3,0
560 .size poly1305_emit_fpu,.-poly1305_emit_fpu
561 .align 6
562 .LPICmeup:
563 mflr 0
564 bcl 20,31,$+4
565 mflr 5
566 addi 5,5,56
567 mtlr 0
568 blr
569 .long 0
570 .byte 0,12,0x14,0,0,0,0,0
571 .space 28
572
573 .long 0x00000000,0x43300000
574 .long 0x00000000,0x45300000
575 .long 0x00000000,0x47300000
576 .long 0x00000000,0x49300000
577 .long 0x00000000,0x4b500000
578
579 .long 0x00000000,0x37f40000
580
581 .long 0x00000000,0x44300000
582 .long 0x00000000,0x46300000
583 .long 0x00000000,0x48300000
584 .long 0x00000000,0x4a300000
585 .long 0x00000000,0x3e300000
586 .long 0x00000000,0x40300000
587 .long 0x00000000,0x42300000
588
589 .long 0x00000001,0x00000000
590 .byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,32,70,80,85,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
591 .align 2
592 .align 4
Cache object: df46afd0fc672dd44f818f64d9d0817c
|