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