1 /* $FreeBSD$ */
2 /* Do not modify. This file is auto-generated from ppc.pl. */
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85 .globl bn_sqr_comba4
86 .type bn_sqr_comba4,@function
87 .globl bn_sqr_comba8
88 .type bn_sqr_comba8,@function
89 .globl bn_mul_comba4
90 .type bn_mul_comba4,@function
91 .globl bn_mul_comba8
92 .type bn_mul_comba8,@function
93 .globl bn_sub_words
94 .type bn_sub_words,@function
95 .globl bn_add_words
96 .type bn_add_words,@function
97 .globl bn_div_words
98 .type bn_div_words,@function
99 .globl bn_sqr_words
100 .type bn_sqr_words,@function
101 .globl bn_mul_words
102 .type bn_mul_words,@function
103 .globl bn_mul_add_words
104 .type bn_mul_add_words,@function
105
106
107
108 .machine "any"
109 .abiversion 2
110 .text
111
112
113
114
115
116
117
118
119 .align 4
120 bn_sqr_comba4:
121 .localentry bn_sqr_comba4,0
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138 xor 0,0,0
139
140
141
142 ld 5,0(4)
143 mulld 9,5,5
144 mulhdu 10,5,5
145
146
147
148
149 std 9,0(3)
150
151 ld 6,8(4)
152 mulld 7,5,6
153 mulhdu 8,5,6
154
155 addc 7,7,7
156 adde 8,8,8
157 addze 9,0
158
159
160 addc 10,7,10
161 addze 11,8
162 addze 9,9
163
164 std 10,8(3)
165
166 mulld 7,6,6
167 mulhdu 8,6,6
168 addc 11,7,11
169 adde 9,8,9
170 addze 10,0
171
172 ld 6,16(4)
173 mulld 7,5,6
174 mulhdu 8,5,6
175
176 addc 7,7,7
177 adde 8,8,8
178 addze 10,10
179
180 addc 11,7,11
181 adde 9,8,9
182 addze 10,10
183 std 11,16(3)
184
185 ld 6,24(4)
186 mulld 7,5,6
187 mulhdu 8,5,6
188 addc 7,7,7
189 adde 8,8,8
190 addze 11,0
191
192 addc 9,7,9
193 adde 10,8,10
194 addze 11,11
195
196 ld 5,8(4)
197 ld 6,16(4)
198 mulld 7,5,6
199 mulhdu 8,5,6
200
201 addc 7,7,7
202 adde 8,8,8
203 addze 11,11
204 addc 9,7,9
205 adde 10,8,10
206 addze 11,11
207 std 9,24(3)
208
209 mulld 7,6,6
210 mulhdu 8,6,6
211 addc 10,7,10
212 adde 11,8,11
213 addze 9,0
214
215 ld 6,24(4)
216 mulld 7,5,6
217 mulhdu 8,5,6
218 addc 7,7,7
219 adde 8,8,8
220 addze 9,9
221
222 addc 10,7,10
223 adde 11,8,11
224 addze 9,9
225 std 10,32(3)
226
227 ld 5,16(4)
228 mulld 7,5,6
229 mulhdu 8,5,6
230 addc 7,7,7
231 adde 8,8,8
232 addze 10,0
233
234 addc 11,7,11
235 adde 9,8,9
236 addze 10,10
237 std 11,40(3)
238
239 mulld 7,6,6
240 mulhdu 8,6,6
241 addc 9,7,9
242 adde 10,8,10
243
244 std 9,48(3)
245 std 10,56(3)
246 blr
247 .long 0
248 .byte 0,12,0x14,0,0,0,2,0
249 .long 0
250 .size bn_sqr_comba4,.-bn_sqr_comba4
251
252
253
254
255
256
257
258
259 .align 4
260 bn_sqr_comba8:
261 .localentry bn_sqr_comba8,0
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282 xor 0,0,0
283
284
285
286 ld 5,0(4)
287 mulld 9,5,5
288 mulhdu 10,5,5
289 std 9,0(3)
290
291 ld 6,8(4)
292 mulld 7,5,6
293 mulhdu 8,5,6
294
295 addc 10,7,10
296 adde 11,8,0
297 addze 9,0
298
299 addc 10,7,10
300 adde 11,8,11
301 addze 9,9
302
303 std 10,8(3)
304
305
306 mulld 7,6,6
307 mulhdu 8,6,6
308 addc 11,7,11
309 adde 9,8,9
310 addze 10,0
311
312 ld 6,16(4)
313 mulld 7,5,6
314 mulhdu 8,5,6
315
316 addc 11,7,11
317 adde 9,8,9
318 addze 10,10
319
320 addc 11,7,11
321 adde 9,8,9
322 addze 10,10
323
324 std 11,16(3)
325
326 ld 6,24(4)
327 mulld 7,5,6
328 mulhdu 8,5,6
329
330 addc 9,7,9
331 adde 10,8,10
332 addze 11,0
333
334 addc 9,7,9
335 adde 10,8,10
336 addze 11,11
337
338 ld 5,8(4)
339 ld 6,16(4)
340 mulld 7,5,6
341 mulhdu 8,5,6
342
343 addc 9,7,9
344 adde 10,8,10
345 addze 11,11
346
347 addc 9,7,9
348 adde 10,8,10
349 addze 11,11
350
351 std 9,24(3)
352
353 mulld 7,6,6
354 mulhdu 8,6,6
355
356 addc 10,7,10
357 adde 11,8,11
358 addze 9,0
359
360 ld 6,24(4)
361 mulld 7,5,6
362 mulhdu 8,5,6
363
364 addc 10,7,10
365 adde 11,8,11
366 addze 9,9
367
368 addc 10,7,10
369 adde 11,8,11
370 addze 9,9
371
372 ld 5,0(4)
373 ld 6,32(4)
374 mulld 7,5,6
375 mulhdu 8,5,6
376
377 addc 10,7,10
378 adde 11,8,11
379 addze 9,9
380
381 addc 10,7,10
382 adde 11,8,11
383 addze 9,9
384 std 10,32(3)
385
386 ld 6,40(4)
387 mulld 7,5,6
388 mulhdu 8,5,6
389
390 addc 11,7,11
391 adde 9,8,9
392 addze 10,0
393
394 addc 11,7,11
395 adde 9,8,9
396 addze 10,10
397
398 ld 5,8(4)
399 ld 6,32(4)
400 mulld 7,5,6
401 mulhdu 8,5,6
402
403 addc 11,7,11
404 adde 9,8,9
405 addze 10,10
406
407 addc 11,7,11
408 adde 9,8,9
409 addze 10,10
410
411 ld 5,16(4)
412 ld 6,24(4)
413 mulld 7,5,6
414 mulhdu 8,5,6
415
416 addc 11,7,11
417 adde 9,8,9
418 addze 10,10
419
420 addc 11,7,11
421 adde 9,8,9
422 addze 10,10
423 std 11,40(3)
424
425 mulld 7,6,6
426 mulhdu 8,6,6
427 addc 9,7,9
428 adde 10,8,10
429 addze 11,0
430
431 ld 6,32(4)
432 mulld 7,5,6
433 mulhdu 8,5,6
434
435 addc 9,7,9
436 adde 10,8,10
437 addze 11,11
438
439 addc 9,7,9
440 adde 10,8,10
441 addze 11,11
442
443 ld 5,8(4)
444 ld 6,40(4)
445 mulld 7,5,6
446 mulhdu 8,5,6
447
448 addc 9,7,9
449 adde 10,8,10
450 addze 11,11
451
452 addc 9,7,9
453 adde 10,8,10
454 addze 11,11
455
456 ld 5,0(4)
457 ld 6,48(4)
458 mulld 7,5,6
459 mulhdu 8,5,6
460 addc 9,7,9
461 adde 10,8,10
462 addze 11,11
463 addc 9,7,9
464 adde 10,8,10
465 addze 11,11
466 std 9,48(3)
467
468 ld 6,56(4)
469 mulld 7,5,6
470 mulhdu 8,5,6
471
472 addc 10,7,10
473 adde 11,8,11
474 addze 9,0
475 addc 10,7,10
476 adde 11,8,11
477 addze 9,9
478
479 ld 5,8(4)
480 ld 6,48(4)
481 mulld 7,5,6
482 mulhdu 8,5,6
483
484 addc 10,7,10
485 adde 11,8,11
486 addze 9,9
487 addc 10,7,10
488 adde 11,8,11
489 addze 9,9
490
491 ld 5,16(4)
492 ld 6,40(4)
493 mulld 7,5,6
494 mulhdu 8,5,6
495 addc 10,7,10
496 adde 11,8,11
497 addze 9,9
498 addc 10,7,10
499 adde 11,8,11
500 addze 9,9
501
502 ld 5,24(4)
503 ld 6,32(4)
504 mulld 7,5,6
505 mulhdu 8,5,6
506
507 addc 10,7,10
508 adde 11,8,11
509 addze 9,9
510 addc 10,7,10
511 adde 11,8,11
512 addze 9,9
513 std 10,56(3)
514
515 mulld 7,6,6
516 mulhdu 8,6,6
517 addc 11,7,11
518 adde 9,8,9
519 addze 10,0
520
521 ld 6,40(4)
522 mulld 7,5,6
523 mulhdu 8,5,6
524 addc 11,7,11
525 adde 9,8,9
526 addze 10,10
527 addc 11,7,11
528 adde 9,8,9
529 addze 10,10
530
531 ld 5,16(4)
532 ld 6,48(4)
533 mulld 7,5,6
534 mulhdu 8,5,6
535 addc 11,7,11
536 adde 9,8,9
537 addze 10,10
538
539 addc 11,7,11
540 adde 9,8,9
541 addze 10,10
542
543 ld 5,8(4)
544 ld 6,56(4)
545 mulld 7,5,6
546 mulhdu 8,5,6
547 addc 11,7,11
548 adde 9,8,9
549 addze 10,10
550 addc 11,7,11
551 adde 9,8,9
552 addze 10,10
553 std 11,64(3)
554
555 ld 5,16(4)
556 mulld 7,5,6
557 mulhdu 8,5,6
558
559 addc 9,7,9
560 adde 10,8,10
561 addze 11,0
562 addc 9,7,9
563 adde 10,8,10
564 addze 11,11
565
566 ld 5,24(4)
567 ld 6,48(4)
568 mulld 7,5,6
569 mulhdu 8,5,6
570 addc 9,7,9
571 adde 10,8,10
572 addze 11,11
573 addc 9,7,9
574 adde 10,8,10
575 addze 11,11
576
577 ld 5,32(4)
578 ld 6,40(4)
579 mulld 7,5,6
580 mulhdu 8,5,6
581 addc 9,7,9
582 adde 10,8,10
583 addze 11,11
584 addc 9,7,9
585 adde 10,8,10
586 addze 11,11
587 std 9,72(3)
588
589 mulld 7,6,6
590 mulhdu 8,6,6
591 addc 10,7,10
592 adde 11,8,11
593 addze 9,0
594
595 ld 6,48(4)
596 mulld 7,5,6
597 mulhdu 8,5,6
598 addc 10,7,10
599 adde 11,8,11
600 addze 9,9
601 addc 10,7,10
602 adde 11,8,11
603 addze 9,9
604
605 ld 5,24(4)
606 ld 6,56(4)
607 mulld 7,5,6
608 mulhdu 8,5,6
609 addc 10,7,10
610 adde 11,8,11
611 addze 9,9
612 addc 10,7,10
613 adde 11,8,11
614 addze 9,9
615 std 10,80(3)
616
617 ld 5,32(4)
618 mulld 7,5,6
619 mulhdu 8,5,6
620 addc 11,7,11
621 adde 9,8,9
622 addze 10,0
623 addc 11,7,11
624 adde 9,8,9
625 addze 10,10
626
627 ld 5,40(4)
628 ld 6,48(4)
629 mulld 7,5,6
630 mulhdu 8,5,6
631 addc 11,7,11
632 adde 9,8,9
633 addze 10,10
634 addc 11,7,11
635 adde 9,8,9
636 addze 10,10
637 std 11,88(3)
638
639 mulld 7,6,6
640 mulhdu 8,6,6
641 addc 9,7,9
642 adde 10,8,10
643 addze 11,0
644
645 ld 6,56(4)
646 mulld 7,5,6
647 mulhdu 8,5,6
648 addc 9,7,9
649 adde 10,8,10
650 addze 11,11
651 addc 9,7,9
652 adde 10,8,10
653 addze 11,11
654 std 9,96(3)
655
656
657 ld 5,48(4)
658 mulld 7,5,6
659 mulhdu 8,5,6
660 addc 10,7,10
661 adde 11,8,11
662 addze 9,0
663 addc 10,7,10
664 adde 11,8,11
665 addze 9,9
666 std 10,104(3)
667
668 mulld 7,6,6
669 mulhdu 8,6,6
670 addc 11,7,11
671 adde 9,8,9
672 std 11,112(3)
673 std 9, 120(3)
674
675
676 blr
677 .long 0
678 .byte 0,12,0x14,0,0,0,2,0
679 .long 0
680 .size bn_sqr_comba8,.-bn_sqr_comba8
681
682
683
684
685
686
687
688
689 .align 4
690 bn_mul_comba4:
691 .localentry bn_mul_comba4,0
692
693
694
695
696
697
698
699
700
701
702
703
704 xor 0,0,0
705
706 ld 6,0(4)
707 ld 7,0(5)
708 mulld 10,6,7
709 mulhdu 11,6,7
710 std 10,0(3)
711
712 ld 7,8(5)
713 mulld 8,6,7
714 mulhdu 9,6,7
715 addc 11,8,11
716 adde 12,9,0
717 addze 10,0
718
719 ld 6, 8(4)
720 ld 7, 0(5)
721 mulld 8,6,7
722 mulhdu 9,6,7
723 addc 11,8,11
724 adde 12,9,12
725 addze 10,10
726 std 11,8(3)
727
728 ld 6,16(4)
729 mulld 8,6,7
730 mulhdu 9,6,7
731 addc 12,8,12
732 adde 10,9,10
733 addze 11,0
734
735 ld 6,8(4)
736 ld 7,8(5)
737 mulld 8,6,7
738 mulhdu 9,6,7
739 addc 12,8,12
740 adde 10,9,10
741 addze 11,11
742
743 ld 6,0(4)
744 ld 7,16(5)
745 mulld 8,6,7
746 mulhdu 9,6,7
747 addc 12,8,12
748 adde 10,9,10
749 addze 11,11
750 std 12,16(3)
751
752 ld 7,24(5)
753 mulld 8,6,7
754 mulhdu 9,6,7
755 addc 10,8,10
756 adde 11,9,11
757 addze 12,0
758
759 ld 6,8(4)
760 ld 7,16(5)
761 mulld 8,6,7
762 mulhdu 9,6,7
763 addc 10,8,10
764 adde 11,9,11
765 addze 12,12
766
767 ld 6,16(4)
768 ld 7,8(5)
769 mulld 8,6,7
770 mulhdu 9,6,7
771 addc 10,8,10
772 adde 11,9,11
773 addze 12,12
774
775 ld 6,24(4)
776 ld 7,0(5)
777 mulld 8,6,7
778 mulhdu 9,6,7
779 addc 10,8,10
780 adde 11,9,11
781 addze 12,12
782 std 10,24(3)
783
784 ld 7,8(5)
785 mulld 8,6,7
786 mulhdu 9,6,7
787 addc 11,8,11
788 adde 12,9,12
789 addze 10,0
790
791 ld 6,16(4)
792 ld 7,16(5)
793 mulld 8,6,7
794 mulhdu 9,6,7
795 addc 11,8,11
796 adde 12,9,12
797 addze 10,10
798
799 ld 6,8(4)
800 ld 7,24(5)
801 mulld 8,6,7
802 mulhdu 9,6,7
803 addc 11,8,11
804 adde 12,9,12
805 addze 10,10
806 std 11,32(3)
807
808 ld 6,16(4)
809 mulld 8,6,7
810 mulhdu 9,6,7
811 addc 12,8,12
812 adde 10,9,10
813 addze 11,0
814
815 ld 6,24(4)
816 ld 7,16(5)
817 mulld 8,6,7
818 mulhdu 9,6,7
819 addc 12,8,12
820 adde 10,9,10
821 addze 11,11
822 std 12,40(3)
823
824 ld 7,24(5)
825 mulld 8,6,7
826 mulhdu 9,6,7
827 addc 10,8,10
828 adde 11,9,11
829
830 std 10,48(3)
831 std 11,56(3)
832 blr
833 .long 0
834 .byte 0,12,0x14,0,0,0,3,0
835 .long 0
836 .size bn_mul_comba4,.-bn_mul_comba4
837
838
839
840
841
842
843
844
845 .align 4
846 bn_mul_comba8:
847 .localentry bn_mul_comba8,0
848
849
850
851
852
853
854
855
856
857
858
859
860 xor 0,0,0
861
862
863 ld 6,0(4)
864 ld 7,0(5)
865 mulld 10,6,7
866 mulhdu 11,6,7
867 std 10,0(3)
868
869 ld 7,8(5)
870 mulld 8,6,7
871 mulhdu 9,6,7
872 addc 11,11,8
873 addze 12,9
874 addze 10,0
875
876 ld 6,8(4)
877 ld 7,0(5)
878 mulld 8,6,7
879 mulhdu 9,6,7
880 addc 11,11,8
881 adde 12,12,9
882 addze 10,10
883 std 11,8(3)
884
885 ld 6,16(4)
886 mulld 8,6,7
887 mulhdu 9,6,7
888 addc 12,12,8
889 adde 10,10,9
890 addze 11,0
891
892 ld 6,8(4)
893 ld 7,8(5)
894 mulld 8,6,7
895 mulhdu 9,6,7
896 addc 12,12,8
897 adde 10,10,9
898 addze 11,11
899
900 ld 6,0(4)
901 ld 7,16(5)
902 mulld 8,6,7
903 mulhdu 9,6,7
904 addc 12,12,8
905 adde 10,10,9
906 addze 11,11
907 std 12,16(3)
908
909 ld 7,24(5)
910 mulld 8,6,7
911 mulhdu 9,6,7
912 addc 10,10,8
913 adde 11,11,9
914 addze 12,0
915
916 ld 6,8(4)
917 ld 7,16(5)
918 mulld 8,6,7
919 mulhdu 9,6,7
920 addc 10,10,8
921 adde 11,11,9
922 addze 12,12
923
924
925 ld 6,16(4)
926 ld 7,8(5)
927 mulld 8,6,7
928 mulhdu 9,6,7
929 addc 10,10,8
930 adde 11,11,9
931 addze 12,12
932
933 ld 6,24(4)
934 ld 7,0(5)
935 mulld 8,6,7
936 mulhdu 9,6,7
937 addc 10,10,8
938 adde 11,11,9
939 addze 12,12
940 std 10,24(3)
941
942 ld 6,32(4)
943 mulld 8,6,7
944 mulhdu 9,6,7
945 addc 11,11,8
946 adde 12,12,9
947 addze 10,0
948
949 ld 6,24(4)
950 ld 7,8(5)
951 mulld 8,6,7
952 mulhdu 9,6,7
953 addc 11,11,8
954 adde 12,12,9
955 addze 10,10
956
957 ld 6,16(4)
958 ld 7,16(5)
959 mulld 8,6,7
960 mulhdu 9,6,7
961 addc 11,11,8
962 adde 12,12,9
963 addze 10,10
964
965 ld 6,8(4)
966 ld 7,24(5)
967 mulld 8,6,7
968 mulhdu 9,6,7
969 addc 11,11,8
970 adde 12,12,9
971 addze 10,10
972
973 ld 6,0(4)
974 ld 7,32(5)
975 mulld 8,6,7
976 mulhdu 9,6,7
977 addc 11,11,8
978 adde 12,12,9
979 addze 10,10
980 std 11,32(3)
981
982 ld 7,40(5)
983 mulld 8,6,7
984 mulhdu 9,6,7
985 addc 12,12,8
986 adde 10,10,9
987 addze 11,0
988
989 ld 6,8(4)
990 ld 7,32(5)
991 mulld 8,6,7
992 mulhdu 9,6,7
993 addc 12,12,8
994 adde 10,10,9
995 addze 11,11
996
997 ld 6,16(4)
998 ld 7,24(5)
999 mulld 8,6,7
1000 mulhdu 9,6,7
1001 addc 12,12,8
1002 adde 10,10,9
1003 addze 11,11
1004
1005 ld 6,24(4)
1006 ld 7,16(5)
1007 mulld 8,6,7
1008 mulhdu 9,6,7
1009 addc 12,12,8
1010 adde 10,10,9
1011 addze 11,11
1012
1013 ld 6,32(4)
1014 ld 7,8(5)
1015 mulld 8,6,7
1016 mulhdu 9,6,7
1017 addc 12,12,8
1018 adde 10,10,9
1019 addze 11,11
1020
1021 ld 6,40(4)
1022 ld 7,0(5)
1023 mulld 8,6,7
1024 mulhdu 9,6,7
1025 addc 12,12,8
1026 adde 10,10,9
1027 addze 11,11
1028 std 12,40(3)
1029
1030 ld 6,48(4)
1031 mulld 8,6,7
1032 mulhdu 9,6,7
1033 addc 10,10,8
1034 adde 11,11,9
1035 addze 12,0
1036
1037 ld 6,40(4)
1038 ld 7,8(5)
1039 mulld 8,6,7
1040 mulhdu 9,6,7
1041 addc 10,10,8
1042 adde 11,11,9
1043 addze 12,12
1044
1045 ld 6,32(4)
1046 ld 7,16(5)
1047 mulld 8,6,7
1048 mulhdu 9,6,7
1049 addc 10,10,8
1050 adde 11,11,9
1051 addze 12,12
1052
1053 ld 6,24(4)
1054 ld 7,24(5)
1055 mulld 8,6,7
1056 mulhdu 9,6,7
1057 addc 10,10,8
1058 adde 11,11,9
1059 addze 12,12
1060
1061 ld 6,16(4)
1062 ld 7,32(5)
1063 mulld 8,6,7
1064 mulhdu 9,6,7
1065 addc 10,10,8
1066 adde 11,11,9
1067 addze 12,12
1068
1069 ld 6,8(4)
1070 ld 7,40(5)
1071 mulld 8,6,7
1072 mulhdu 9,6,7
1073 addc 10,10,8
1074 adde 11,11,9
1075 addze 12,12
1076
1077 ld 6,0(4)
1078 ld 7,48(5)
1079 mulld 8,6,7
1080 mulhdu 9,6,7
1081 addc 10,10,8
1082 adde 11,11,9
1083 addze 12,12
1084 std 10,48(3)
1085
1086 ld 7,56(5)
1087 mulld 8,6,7
1088 mulhdu 9,6,7
1089 addc 11,11,8
1090 adde 12,12,9
1091 addze 10,0
1092
1093 ld 6,8(4)
1094 ld 7,48(5)
1095 mulld 8,6,7
1096 mulhdu 9,6,7
1097 addc 11,11,8
1098 adde 12,12,9
1099 addze 10,10
1100
1101 ld 6,16(4)
1102 ld 7,40(5)
1103 mulld 8,6,7
1104 mulhdu 9,6,7
1105 addc 11,11,8
1106 adde 12,12,9
1107 addze 10,10
1108
1109 ld 6,24(4)
1110 ld 7,32(5)
1111 mulld 8,6,7
1112 mulhdu 9,6,7
1113 addc 11,11,8
1114 adde 12,12,9
1115 addze 10,10
1116
1117 ld 6,32(4)
1118 ld 7,24(5)
1119 mulld 8,6,7
1120 mulhdu 9,6,7
1121 addc 11,11,8
1122 adde 12,12,9
1123 addze 10,10
1124
1125 ld 6,40(4)
1126 ld 7,16(5)
1127 mulld 8,6,7
1128 mulhdu 9,6,7
1129 addc 11,11,8
1130 adde 12,12,9
1131 addze 10,10
1132
1133 ld 6,48(4)
1134 ld 7,8(5)
1135 mulld 8,6,7
1136 mulhdu 9,6,7
1137 addc 11,11,8
1138 adde 12,12,9
1139 addze 10,10
1140
1141 ld 6,56(4)
1142 ld 7,0(5)
1143 mulld 8,6,7
1144 mulhdu 9,6,7
1145 addc 11,11,8
1146 adde 12,12,9
1147 addze 10,10
1148 std 11,56(3)
1149
1150 ld 7,8(5)
1151 mulld 8,6,7
1152 mulhdu 9,6,7
1153 addc 12,12,8
1154 adde 10,10,9
1155 addze 11,0
1156
1157 ld 6,48(4)
1158 ld 7,16(5)
1159 mulld 8,6,7
1160 mulhdu 9,6,7
1161 addc 12,12,8
1162 adde 10,10,9
1163 addze 11,11
1164
1165 ld 6,40(4)
1166 ld 7,24(5)
1167 mulld 8,6,7
1168 mulhdu 9,6,7
1169 addc 12,12,8
1170 adde 10,10,9
1171 addze 11,11
1172
1173 ld 6,32(4)
1174 ld 7,32(5)
1175 mulld 8,6,7
1176 mulhdu 9,6,7
1177 addc 12,12,8
1178 adde 10,10,9
1179 addze 11,11
1180
1181 ld 6,24(4)
1182 ld 7,40(5)
1183 mulld 8,6,7
1184 mulhdu 9,6,7
1185 addc 12,12,8
1186 adde 10,10,9
1187 addze 11,11
1188
1189 ld 6,16(4)
1190 ld 7,48(5)
1191 mulld 8,6,7
1192 mulhdu 9,6,7
1193 addc 12,12,8
1194 adde 10,10,9
1195 addze 11,11
1196
1197 ld 6,8(4)
1198 ld 7,56(5)
1199 mulld 8,6,7
1200 mulhdu 9,6,7
1201 addc 12,12,8
1202 adde 10,10,9
1203 addze 11,11
1204 std 12,64(3)
1205
1206 ld 6,16(4)
1207 mulld 8,6,7
1208 mulhdu 9,6,7
1209 addc 10,10,8
1210 adde 11,11,9
1211 addze 12,0
1212
1213 ld 6,24(4)
1214 ld 7,48(5)
1215 mulld 8,6,7
1216 mulhdu 9,6,7
1217 addc 10,10,8
1218 adde 11,11,9
1219 addze 12,12
1220
1221 ld 6,32(4)
1222 ld 7,40(5)
1223 mulld 8,6,7
1224 mulhdu 9,6,7
1225 addc 10,10,8
1226 adde 11,11,9
1227 addze 12,12
1228
1229 ld 6,40(4)
1230 ld 7,32(5)
1231 mulld 8,6,7
1232 mulhdu 9,6,7
1233 addc 10,10,8
1234 adde 11,11,9
1235 addze 12,12
1236
1237 ld 6,48(4)
1238 ld 7,24(5)
1239 mulld 8,6,7
1240 mulhdu 9,6,7
1241 addc 10,10,8
1242 adde 11,11,9
1243 addze 12,12
1244
1245 ld 6,56(4)
1246 ld 7,16(5)
1247 mulld 8,6,7
1248 mulhdu 9,6,7
1249 addc 10,10,8
1250 adde 11,11,9
1251 addze 12,12
1252 std 10,72(3)
1253
1254 ld 7,24(5)
1255 mulld 8,6,7
1256 mulhdu 9,6,7
1257 addc 11,11,8
1258 adde 12,12,9
1259 addze 10,0
1260
1261 ld 6,48(4)
1262 ld 7,32(5)
1263 mulld 8,6,7
1264 mulhdu 9,6,7
1265 addc 11,11,8
1266 adde 12,12,9
1267 addze 10,10
1268
1269 ld 6,40(4)
1270 ld 7,40(5)
1271 mulld 8,6,7
1272 mulhdu 9,6,7
1273 addc 11,11,8
1274 adde 12,12,9
1275 addze 10,10
1276
1277 ld 6,32(4)
1278 ld 7,48(5)
1279 mulld 8,6,7
1280 mulhdu 9,6,7
1281 addc 11,11,8
1282 adde 12,12,9
1283 addze 10,10
1284
1285 ld 6,24(4)
1286 ld 7,56(5)
1287 mulld 8,6,7
1288 mulhdu 9,6,7
1289 addc 11,11,8
1290 adde 12,12,9
1291 addze 10,10
1292 std 11,80(3)
1293
1294 ld 6,32(4)
1295 mulld 8,6,7
1296 mulhdu 9,6,7
1297 addc 12,12,8
1298 adde 10,10,9
1299 addze 11,0
1300
1301 ld 6,40(4)
1302 ld 7,48(5)
1303 mulld 8,6,7
1304 mulhdu 9,6,7
1305 addc 12,12,8
1306 adde 10,10,9
1307 addze 11,11
1308
1309 ld 6,48(4)
1310 ld 7,40(5)
1311 mulld 8,6,7
1312 mulhdu 9,6,7
1313 addc 12,12,8
1314 adde 10,10,9
1315 addze 11,11
1316
1317 ld 6,56(4)
1318 ld 7,32(5)
1319 mulld 8,6,7
1320 mulhdu 9,6,7
1321 addc 12,12,8
1322 adde 10,10,9
1323 addze 11,11
1324 std 12,88(3)
1325
1326 ld 7,40(5)
1327 mulld 8,6,7
1328 mulhdu 9,6,7
1329 addc 10,10,8
1330 adde 11,11,9
1331 addze 12,0
1332
1333 ld 6,48(4)
1334 ld 7,48(5)
1335 mulld 8,6,7
1336 mulhdu 9,6,7
1337 addc 10,10,8
1338 adde 11,11,9
1339 addze 12,12
1340
1341 ld 6,40(4)
1342 ld 7,56(5)
1343 mulld 8,6,7
1344 mulhdu 9,6,7
1345 addc 10,10,8
1346 adde 11,11,9
1347 addze 12,12
1348 std 10,96(3)
1349
1350 ld 6,48(4)
1351 mulld 8,6,7
1352 mulhdu 9,6,7
1353 addc 11,11,8
1354 adde 12,12,9
1355 addze 10,0
1356
1357 ld 6,56(4)
1358 ld 7,48(5)
1359 mulld 8,6,7
1360 mulhdu 9,6,7
1361 addc 11,11,8
1362 adde 12,12,9
1363 addze 10,10
1364 std 11,104(3)
1365
1366 ld 7,56(5)
1367 mulld 8,6,7
1368 mulhdu 9,6,7
1369 addc 12,12,8
1370 adde 10,10,9
1371 std 12,112(3)
1372 std 10,120(3)
1373 blr
1374 .long 0
1375 .byte 0,12,0x14,0,0,0,3,0
1376 .long 0
1377 .size bn_mul_comba8,.-bn_mul_comba8
1378
1379
1380
1381
1382
1383
1384
1385
1386 .align 4
1387 bn_sub_words:
1388 .localentry bn_sub_words,0
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403 xor 0,0,0
1404
1405
1406
1407 subfc. 7,0,6
1408
1409
1410 beq .Lppcasm_sub_adios
1411 addi 4,4,-8
1412 addi 3,3,-8
1413 addi 5,5,-8
1414 mtctr 6
1415 .Lppcasm_sub_mainloop:
1416 ldu 7,8(4)
1417 ldu 8,8(5)
1418 subfe 6,8,7
1419
1420
1421 stdu 6,8(3)
1422 bdnz .Lppcasm_sub_mainloop
1423 .Lppcasm_sub_adios:
1424 subfze 3,0
1425 andi. 3,3,1
1426 blr
1427 .long 0
1428 .byte 0,12,0x14,0,0,0,4,0
1429 .long 0
1430 .size bn_sub_words,.-bn_sub_words
1431
1432
1433
1434
1435
1436
1437
1438
1439 .align 4
1440 bn_add_words:
1441 .localentry bn_add_words,0
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456 xor 0,0,0
1457
1458
1459
1460 addic. 6,6,0
1461 beq .Lppcasm_add_adios
1462 addi 4,4,-8
1463 addi 3,3,-8
1464 addi 5,5,-8
1465 mtctr 6
1466 .Lppcasm_add_mainloop:
1467 ldu 7,8(4)
1468 ldu 8,8(5)
1469 adde 8,7,8
1470 stdu 8,8(3)
1471 bdnz .Lppcasm_add_mainloop
1472 .Lppcasm_add_adios:
1473 addze 3,0
1474 blr
1475 .long 0
1476 .byte 0,12,0x14,0,0,0,4,0
1477 .long 0
1478 .size bn_add_words,.-bn_add_words
1479
1480
1481
1482
1483
1484
1485
1486
1487 .align 4
1488 bn_div_words:
1489 .localentry bn_div_words,0
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502 cmpldi 0,5,0
1503 bne .Lppcasm_div1
1504 li 3,-1
1505 blr
1506 .Lppcasm_div1:
1507 xor 0,0,0
1508 li 8,64
1509 cntlzd. 7,5
1510 beq .Lppcasm_div2
1511 subf 8,7,8
1512 srd. 9,3,8
1513 td 16,9,0
1514 .Lppcasm_div2:
1515 cmpld 0,3,5
1516 blt .Lppcasm_div3
1517 subf 3,5,3
1518 .Lppcasm_div3:
1519 cmpi 0,0,7,0
1520 beq .Lppcasm_div4
1521 sld 3,3,7
1522 srd 8,4,8
1523 sld 5,5,7
1524 or 3,3,8
1525 sld 4,4,7
1526 .Lppcasm_div4:
1527 srdi 9,5,32
1528
1529
1530 li 6,2
1531 mtctr 6
1532 .Lppcasm_divouterloop:
1533 srdi 8,3,32
1534 srdi 11,4,32
1535
1536 cmpld 0,8,9
1537 bne .Lppcasm_div5
1538
1539 li 8,-1
1540 clrldi 8,8,32
1541 b .Lppcasm_div6
1542 .Lppcasm_div5:
1543 divdu 8,3,9
1544 .Lppcasm_div6:
1545 mulld 12,9,8
1546 clrldi 10,5,32
1547 mulld 6,8,10
1548
1549 .Lppcasm_divinnerloop:
1550 subf 10,12,3
1551 srdi 7,10,32
1552 addic. 7,7,0
1553
1554
1555
1556 sldi 7,10,32
1557 or 7,7,11
1558 cmpld 1,6,7
1559 bne .Lppcasm_divinnerexit
1560 ble 1,.Lppcasm_divinnerexit
1561 addi 8,8,-1
1562 subf 12,9,12
1563 clrldi 10,5,32
1564 subf 6,10,6
1565 b .Lppcasm_divinnerloop
1566 .Lppcasm_divinnerexit:
1567 srdi 10,6,32
1568 sldi 11,6,32
1569 cmpld 1,4,11
1570 add 12,12,10
1571 bge 1,.Lppcasm_div7
1572 addi 12,12,1
1573 .Lppcasm_div7:
1574 subf 11,11,4
1575 cmpld 1,3,12
1576 bge 1,.Lppcasm_div8
1577 addi 8,8,-1
1578 add 3,5,3
1579 .Lppcasm_div8:
1580 subf 12,12,3
1581 sldi 4,11,32
1582
1583
1584
1585 insrdi 11,12,32,32
1586 rotldi 3,11,32
1587 bdz .Lppcasm_div9
1588 sldi 0,8,32
1589 b .Lppcasm_divouterloop
1590 .Lppcasm_div9:
1591 or 3,8,0
1592 blr
1593 .long 0
1594 .byte 0,12,0x14,0,0,0,3,0
1595 .long 0
1596 .size bn_div_words,.-bn_div_words
1597
1598
1599
1600
1601
1602
1603
1604 .align 4
1605 bn_sqr_words:
1606 .localentry bn_sqr_words,0
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622 addic. 5,5,0
1623 beq .Lppcasm_sqr_adios
1624 addi 4,4,-8
1625 addi 3,3,-8
1626 mtctr 5
1627 .Lppcasm_sqr_mainloop:
1628
1629 ldu 6,8(4)
1630 mulld 7,6,6
1631 mulhdu 8,6,6
1632 stdu 7,8(3)
1633 stdu 8,8(3)
1634 bdnz .Lppcasm_sqr_mainloop
1635 .Lppcasm_sqr_adios:
1636 blr
1637 .long 0
1638 .byte 0,12,0x14,0,0,0,3,0
1639 .long 0
1640 .size bn_sqr_words,.-bn_sqr_words
1641
1642
1643
1644
1645
1646
1647
1648
1649 .align 4
1650 bn_mul_words:
1651 .localentry bn_mul_words,0
1652
1653
1654
1655
1656
1657
1658
1659
1660 xor 0,0,0
1661 xor 12,12,12
1662 rlwinm. 7,5,30,2,31
1663 beq .Lppcasm_mw_REM
1664 mtctr 7
1665 .Lppcasm_mw_LOOP:
1666
1667 ld 8,0(4)
1668 mulld 9,6,8
1669 mulhdu 10,6,8
1670 addc 9,9,12
1671
1672
1673
1674
1675 std 9,0(3)
1676
1677 ld 8,8(4)
1678 mulld 11,6,8
1679 mulhdu 12,6,8
1680 adde 11,11,10
1681
1682 std 11,8(3)
1683
1684 ld 8,16(4)
1685 mulld 9,6,8
1686 mulhdu 10,6,8
1687 adde 9,9,12
1688
1689 std 9,16(3)
1690
1691 ld 8,24(4)
1692 mulld 11,6,8
1693 mulhdu 12,6,8
1694 adde 11,11,10
1695 addze 12,12
1696
1697 std 11,24(3)
1698
1699 addi 3,3,32
1700 addi 4,4,32
1701 bdnz .Lppcasm_mw_LOOP
1702
1703 .Lppcasm_mw_REM:
1704 andi. 5,5,0x3
1705 beq .Lppcasm_mw_OVER
1706
1707 ld 8,0(4)
1708 mulld 9,6,8
1709 mulhdu 10,6,8
1710 addc 9,9,12
1711 addze 10,10
1712 std 9,0(3)
1713 addi 12,10,0
1714
1715 addi 5,5,-1
1716 cmpli 0,0,5,0
1717 beq .Lppcasm_mw_OVER
1718
1719
1720
1721 ld 8,8(4)
1722 mulld 9,6,8
1723 mulhdu 10,6,8
1724 addc 9,9,12
1725 addze 10,10
1726 std 9,8(3)
1727 addi 12,10,0
1728
1729 addi 5,5,-1
1730 cmpli 0,0,5,0
1731 beq .Lppcasm_mw_OVER
1732
1733
1734 ld 8,16(4)
1735 mulld 9,6,8
1736 mulhdu 10,6,8
1737 addc 9,9,12
1738 addze 10,10
1739 std 9,16(3)
1740 addi 12,10,0
1741
1742 .Lppcasm_mw_OVER:
1743 addi 3,12,0
1744 blr
1745 .long 0
1746 .byte 0,12,0x14,0,0,0,4,0
1747 .long 0
1748 .size bn_mul_words,.-bn_mul_words
1749
1750
1751
1752
1753
1754
1755
1756
1757 .align 4
1758 bn_mul_add_words:
1759 .localentry bn_mul_add_words,0
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771 xor 0,0,0
1772 xor 12,12,12
1773 rlwinm. 7,5,30,2,31
1774 beq .Lppcasm_maw_leftover
1775 mtctr 7
1776 .Lppcasm_maw_mainloop:
1777
1778 ld 8,0(4)
1779 ld 11,0(3)
1780 mulld 9,6,8
1781 mulhdu 10,6,8
1782 addc 9,9,12
1783 addze 10,10
1784 addc 9,9,11
1785
1786
1787
1788
1789
1790
1791 std 9,0(3)
1792
1793
1794 ld 8,8(4)
1795 ld 9,8(3)
1796 mulld 11,6,8
1797 mulhdu 12,6,8
1798 adde 11,11,10
1799 addze 12,12
1800 addc 11,11,9
1801
1802 std 11,8(3)
1803
1804
1805 ld 8,16(4)
1806 mulld 9,6,8
1807 ld 11,16(3)
1808 mulhdu 10,6,8
1809 adde 9,9,12
1810 addze 10,10
1811 addc 9,9,11
1812
1813 std 9,16(3)
1814
1815
1816 ld 8,24(4)
1817 mulld 11,6,8
1818 ld 9,24(3)
1819 mulhdu 12,6,8
1820 adde 11,11,10
1821 addze 12,12
1822 addc 11,11,9
1823 addze 12,12
1824 std 11,24(3)
1825 addi 3,3,32
1826 addi 4,4,32
1827 bdnz .Lppcasm_maw_mainloop
1828
1829 .Lppcasm_maw_leftover:
1830 andi. 5,5,0x3
1831 beq .Lppcasm_maw_adios
1832 addi 3,3,-8
1833 addi 4,4,-8
1834
1835 mtctr 5
1836 ldu 8,8(4)
1837 mulld 9,6,8
1838 mulhdu 10,6,8
1839 ldu 11,8(3)
1840 addc 9,9,11
1841 addze 10,10
1842 addc 9,9,12
1843 addze 12,10
1844 std 9,0(3)
1845
1846 bdz .Lppcasm_maw_adios
1847
1848 ldu 8,8(4)
1849 mulld 9,6,8
1850 mulhdu 10,6,8
1851 ldu 11,8(3)
1852 addc 9,9,11
1853 addze 10,10
1854 addc 9,9,12
1855 addze 12,10
1856 std 9,0(3)
1857
1858 bdz .Lppcasm_maw_adios
1859
1860 ldu 8,8(4)
1861 mulld 9,6,8
1862 mulhdu 10,6,8
1863 ldu 11,8(3)
1864 addc 9,9,11
1865 addze 10,10
1866 addc 9,9,12
1867 addze 12,10
1868 std 9,0(3)
1869
1870 .Lppcasm_maw_adios:
1871 addi 3,12,0
1872 blr
1873 .long 0
1874 .byte 0,12,0x14,0,0,0,4,0
1875 .long 0
1876 .size bn_mul_add_words,.-bn_mul_add_words
1877 .align 4
Cache object: fc83c34d104dcda546770f7b59879f5c
|