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