Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/openssl/powerpc64le/poly1305-ppc.S
39536 views
1
/* Do not modify. This file is auto-generated from poly1305-ppc.pl. */
2
.machine "any"
3
.abiversion 2
4
.text
5
.globl poly1305_init_int
6
.type poly1305_init_int,@function
7
.align 4
8
poly1305_init_int:
9
.localentry poly1305_init_int,0
10
11
xor 0,0,0
12
std 0,0(3)
13
std 0,8(3)
14
std 0,16(3)
15
stw 0,24(3)
16
17
cmpld 4,0
18
beq- .Lno_key
19
ld 10,0(4)
20
ld 11,8(4)
21
lis 8,0xfff
22
ori 8,8,0xfffc
23
insrdi 8,8,32,0
24
ori 7,8,3
25
26
and 10,10,7
27
and 11,11,8
28
29
std 10,32(3)
30
std 11,40(3)
31
32
.Lno_key:
33
xor 3,3,3
34
blr
35
.long 0
36
.byte 0,12,0x14,0,0,0,2,0
37
.size poly1305_init_int,.-poly1305_init_int
38
39
.globl poly1305_blocks
40
.type poly1305_blocks,@function
41
.align 4
42
poly1305_blocks:
43
.localentry poly1305_blocks,0
44
45
.Lpoly1305_blocks:
46
srdi. 5,5,4
47
beq- .Labort
48
49
stdu 1,-192(1)
50
mflr 0
51
std 27,152(1)
52
std 28,160(1)
53
std 29,168(1)
54
std 30,176(1)
55
std 31,184(1)
56
std 0,208(1)
57
58
ld 27,32(3)
59
ld 28,40(3)
60
61
ld 7,0(3)
62
ld 8,8(3)
63
ld 9,16(3)
64
65
srdi 29,28,2
66
mtctr 5
67
add 29,29,28
68
li 0,3
69
b .Loop
70
71
.align 4
72
.Loop:
73
ld 30,0(4)
74
ld 31,8(4)
75
addi 4,4,16
76
77
addc 7,7,30
78
adde 8,8,31
79
80
mulld 10,7,27
81
mulhdu 11,7,27
82
adde 9,9,6
83
84
mulld 30,8,29
85
mulhdu 31,8,29
86
addc 10,10,30
87
adde 11,11,31
88
89
mulld 30,7,28
90
mulhdu 12,7,28
91
addc 11,11,30
92
addze 12,12
93
94
mulld 30,8,27
95
mulhdu 31,8,27
96
addc 11,11,30
97
adde 12,12,31
98
99
mulld 30,9,29
100
mulld 31,9,27
101
addc 11,11,30
102
adde 12,12,31
103
104
andc 30,12,0
105
and 9,12,0
106
srdi 31,30,2
107
add 30,30,31
108
addc 7,10,30
109
addze 8,11
110
addze 9,9
111
112
bdnz .Loop
113
114
std 7,0(3)
115
std 8,8(3)
116
std 9,16(3)
117
118
ld 27,152(1)
119
ld 28,160(1)
120
ld 29,168(1)
121
ld 30,176(1)
122
ld 31,184(1)
123
addi 1,1,192
124
.Labort:
125
blr
126
.long 0
127
.byte 0,12,4,1,0x80,5,4,0
128
.size poly1305_blocks,.-poly1305_blocks
129
.globl poly1305_emit
130
.type poly1305_emit,@function
131
.align 5
132
poly1305_emit:
133
.localentry poly1305_emit,0
134
135
lwz 7,0(3)
136
lwz 8,4(3)
137
lwz 9,8(3)
138
lwz 10,12(3)
139
lwz 11,16(3)
140
lwz 0,24(3)
141
142
sldi 8,8,26
143
sldi 12,9,52
144
srdi 9,9,12
145
sldi 10,10,14
146
add 7,7,8
147
addc 7,7,12
148
sldi 12,11,40
149
srdi 11,11,24
150
adde 8,9,10
151
addc 8,8,12
152
addze 9,11
153
154
ld 10,0(3)
155
ld 11,8(3)
156
ld 12,16(3)
157
158
neg 0,0
159
xor 7,7,10
160
xor 8,8,11
161
xor 9,9,12
162
and 7,7,0
163
and 8,8,0
164
and 9,9,0
165
xor 7,7,10
166
xor 8,8,11
167
xor 9,9,12
168
169
addic 10,7,5
170
addze 11,8
171
addze 12,9
172
173
srdi 12,12,2
174
neg 12,12
175
176
andc 7,7,12
177
and 10,10,12
178
andc 8,8,12
179
and 11,11,12
180
or 7,7,10
181
or 8,8,11
182
183
lwz 12,4(5)
184
lwz 9,12(5)
185
lwz 10,0(5)
186
lwz 11,8(5)
187
188
insrdi 10,12,32,0
189
insrdi 11,9,32,0
190
191
addc 7,7,10
192
adde 8,8,11
193
194
addi 3,4,-1
195
addi 4,4,7
196
197
stbu 7,1(3)
198
srdi 7,7,8
199
stbu 8,1(4)
200
srdi 8,8,8
201
202
stbu 7,1(3)
203
srdi 7,7,8
204
stbu 8,1(4)
205
srdi 8,8,8
206
207
stbu 7,1(3)
208
srdi 7,7,8
209
stbu 8,1(4)
210
srdi 8,8,8
211
212
stbu 7,1(3)
213
srdi 7,7,8
214
stbu 8,1(4)
215
srdi 8,8,8
216
217
stbu 7,1(3)
218
srdi 7,7,8
219
stbu 8,1(4)
220
srdi 8,8,8
221
222
stbu 7,1(3)
223
srdi 7,7,8
224
stbu 8,1(4)
225
srdi 8,8,8
226
227
stbu 7,1(3)
228
srdi 7,7,8
229
stbu 8,1(4)
230
srdi 8,8,8
231
232
stbu 7,1(3)
233
stbu 8,1(4)
234
235
blr
236
.long 0
237
.byte 0,12,0x14,0,0,0,3,0
238
.size poly1305_emit,.-poly1305_emit
239
.globl poly1305_blocks_vsx
240
.type poly1305_blocks_vsx,@function
241
.align 5
242
poly1305_blocks_vsx:
243
.localentry poly1305_blocks_vsx,0
244
245
lwz 7,24(3)
246
cmpldi 5,128
247
bge __poly1305_blocks_vsx
248
249
neg 0,7
250
lwz 7,0(3)
251
lwz 8,4(3)
252
lwz 9,8(3)
253
lwz 10,12(3)
254
lwz 11,16(3)
255
256
sldi 8,8,26
257
sldi 12,9,52
258
add 7,7,8
259
srdi 9,9,12
260
sldi 10,10,14
261
addc 7,7,12
262
sldi 8,11,40
263
adde 9,9,10
264
srdi 11,11,24
265
addc 9,9,8
266
addze 11,11
267
268
ld 8,0(3)
269
ld 10,8(3)
270
ld 12,16(3)
271
272
xor 7,7,8
273
xor 9,9,10
274
xor 11,11,12
275
and 7,7,0
276
and 9,9,0
277
and 11,11,0
278
xor 7,7,8
279
xor 9,9,10
280
xor 11,11,12
281
282
li 0,0
283
std 7,0(3)
284
std 9,8(3)
285
std 11,16(3)
286
stw 0,24(3)
287
288
b .Lpoly1305_blocks
289
.long 0
290
.byte 0,12,0x14,0,0,0,4,0
291
.size poly1305_blocks_vsx,.-poly1305_blocks_vsx
292
293
.align 5
294
__poly1305_mul:
295
mulld 9,6,27
296
mulhdu 10,6,27
297
298
mulld 30,7,29
299
mulhdu 31,7,29
300
addc 9,9,30
301
adde 10,10,31
302
303
mulld 30,6,28
304
mulhdu 11,6,28
305
addc 10,10,30
306
addze 11,11
307
308
mulld 30,7,27
309
mulhdu 31,7,27
310
addc 10,10,30
311
adde 11,11,31
312
313
mulld 30,8,29
314
mulld 31,8,27
315
addc 10,10,30
316
adde 11,11,31
317
318
andc 30,11,0
319
and 8,11,0
320
srdi 31,30,2
321
add 30,30,31
322
addc 6,9,30
323
addze 7,10
324
addze 8,8
325
326
blr
327
.long 0
328
.byte 0,12,0x14,0,0,0,0,0
329
.size __poly1305_mul,.-__poly1305_mul
330
331
.align 5
332
__poly1305_splat:
333
rldicl 9,6,0,38
334
rldicl 10,6,38,38
335
stw 9,0x00(31)
336
337
rldicl 11,6,12,52
338
slwi 9,10,2
339
stw 10,0x10(31)
340
add 9,9,10
341
stw 9,0x20(31)
342
343
insrdi 11,7,14,38
344
slwi 9,11,2
345
stw 11,0x30(31)
346
add 9,9,11
347
stw 9,0x40(31)
348
349
rldicl 10,7,50,38
350
rldicl 11,7,24,40
351
slwi 9,10,2
352
stw 10,0x50(31)
353
add 9,9,10
354
stw 9,0x60(31)
355
356
insrdi 11,8,3,37
357
slwi 9,11,2
358
stw 11,0x70(31)
359
add 9,9,11
360
stw 9,0x80(31)
361
362
blr
363
.long 0
364
.byte 0,12,0x14,0,0,0,0,0
365
.size __poly1305_splat,.-__poly1305_splat
366
367
.align 5
368
__poly1305_blocks_vsx:
369
stdu 1,-416(1)
370
mflr 0
371
li 10,191
372
li 11,207
373
li 12,-1
374
stvx 20,10,1
375
addi 10,10,32
376
stvx 21,11,1
377
addi 11,11,32
378
stvx 22,10,1
379
addi 10,10,32
380
stvx 23,11,1
381
addi 11,11,32
382
stvx 24,10,1
383
addi 10,10,32
384
stvx 25,11,1
385
addi 11,11,32
386
stvx 26,10,1
387
addi 10,10,32
388
stvx 27,11,1
389
addi 11,11,32
390
stvx 28,10,1
391
addi 10,10,32
392
stvx 29,11,1
393
addi 11,11,32
394
stvx 30,10,1
395
stvx 31,11,1
396
stw 12,372(1)
397
li 12,-1
398
or 12,12,12
399
std 27,376(1)
400
std 28,384(1)
401
std 29,392(1)
402
std 30,400(1)
403
std 31,408(1)
404
std 0,432(1)
405
406
bl .LPICmeup
407
408
li 27,0x10
409
li 28,0x20
410
li 29,0x30
411
li 30,0x40
412
li 31,0x50
413
.long 0x7FA06699
414
.long 0x7F3B6699
415
.long 0x7F7C6699
416
.long 0x7FFD6699
417
.long 0x7FDE6699
418
419
cmplwi 7,0
420
bne .Lskip_init_vsx
421
422
ld 27,32(3)
423
ld 28,40(3)
424
srdi 29,28,2
425
li 0,3
426
add 29,29,28
427
428
mr 6,27
429
mr 7,28
430
li 8,0
431
addi 31,3,60
432
bl __poly1305_splat
433
434
bl __poly1305_mul
435
addi 31,3,52
436
bl __poly1305_splat
437
438
bl __poly1305_mul
439
addi 31,3,56
440
bl __poly1305_splat
441
442
bl __poly1305_mul
443
addi 31,3,48
444
bl __poly1305_splat
445
446
ld 6,0(3)
447
ld 7,8(3)
448
ld 8,16(3)
449
450
rldicl 9,6,0,38
451
rldicl 10,6,38,38
452
rldicl 11,6,12,52
453
.long 0x7C0901E7
454
insrdi 11,7,14,38
455
.long 0x7C2A01E7
456
rldicl 10,7,50,38
457
.long 0x7C4B01E7
458
rldicl 11,7,24,40
459
.long 0x7C6A01E7
460
insrdi 11,8,3,37
461
.long 0x7C8B01E7
462
li 0,1
463
stw 0,24(3)
464
b .Loaded_vsx
465
466
.align 4
467
.Lskip_init_vsx:
468
li 27,4
469
li 28,8
470
li 29,12
471
li 30,16
472
.long 0x7C001819
473
.long 0x7C3B1819
474
.long 0x7C5C1819
475
.long 0x7C7D1819
476
.long 0x7C9E1819
477
478
.Loaded_vsx:
479
li 27,0x10
480
li 28,0x20
481
li 29,0x30
482
li 30,0x40
483
li 31,0x50
484
li 7,0x60
485
li 8,0x70
486
addi 10,3,64
487
addi 11,1,63
488
489
vxor 20,20,20
490
.long 0xF000A057
491
.long 0xF021A057
492
.long 0xF042A057
493
.long 0xF063A057
494
.long 0xF084A057
495
496
497
.long 0x7EA02699
498
.long 0x7EDB2699
499
.long 0x7EFC2699
500
.long 0x7F1D2699
501
502
503
504
505
506
.long 0xF0B5B057
507
vspltisb 26,4
508
vperm 7,21,22,31
509
vspltisb 28,14
510
.long 0xF115B357
511
512
.long 0x10C5CEC4
513
.long 0x10E7D6C4
514
.long 0x1128DEC4
515
.long 0x1108E6C4
516
vand 5,5,29
517
vand 6,6,29
518
vand 7,7,29
519
vand 8,8,29
520
521
.long 0xF2B7C057
522
vperm 22,23,24,31
523
.long 0xF2F7C357
524
525
.long 0x1295CEC4
526
.long 0x12D6D6C4
527
.long 0x1317DEC4
528
.long 0x12F7E6C4
529
vand 21,21,29
530
vand 20,20,29
531
vand 22,22,29
532
vand 23,23,29
533
534
535
.long 0x11384E8C
536
.long 0x10B52E8C
537
.long 0x10D4368C
538
.long 0x10F63E8C
539
.long 0x1117468C
540
vor 9,9,30
541
542
.long 0x7D5D1A99
543
.long 0x7D605299
544
.long 0x7D9B5299
545
.long 0x7DBC5299
546
.long 0x7DDD5299
547
.long 0x7EBE5299
548
.long 0x7EDF5299
549
.long 0x7EE75299
550
.long 0x7F085299
551
stvx 11,0,11
552
stvx 12,27,11
553
stvx 13,28,11
554
stvx 14,29,11
555
stvx 21,30,11
556
stvx 22,31,11
557
stvx 23,7,11
558
stvx 24,8,11
559
560
addi 4,4,0x40
561
addi 12,12,0x50
562
addi 0,5,-64
563
srdi 0,0,6
564
mtctr 0
565
b .Loop_vsx
566
567
.align 4
568
.Loop_vsx:
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
.long 0x11E55288
584
.long 0x12055A88
585
.long 0x12256A88
586
.long 0x12466A88
587
588
.long 0x12865288
589
.long 0x1210A0C0
590
.long 0x12865A88
591
.long 0x1231A0C0
592
.long 0x12676A88
593
.long 0x12896288
594
.long 0x11EFA0C0
595
.long 0x12875A88
596
.long 0x1252A0C0
597
lvx 12,31,11
598
.long 0x12885A88
599
.long 0x1273A0C0
600
lvx 11,30,11
601
602
.long 0x104238C0
603
.long 0x100028C0
604
.long 0x106340C0
605
.long 0x102130C0
606
.long 0x108448C0
607
608
.long 0x12887288
609
.long 0x11EFA0C0
610
.long 0x12897288
611
.long 0x1210A0C0
612
.long 0x12875288
613
.long 0x1231A0C0
614
.long 0x12885288
615
.long 0x1252A0C0
616
lvx 14,8,11
617
.long 0x12895288
618
.long 0x1273A0C0
619
lvx 13,7,11
620
621
.long 0x12876288
622
.long 0x11EFA0C0
623
.long 0x12886288
624
.long 0x1210A0C0
625
.long 0x12896288
626
.long 0x1231A0C0
627
.long 0x12855A88
628
.long 0x1252A0C0
629
.long 0x12865A88
630
.long 0x1273A0C0
631
632
633
.long 0x7EA02699
634
.long 0x7EDB2699
635
.long 0x7EFC2699
636
.long 0x7F1D2699
637
638
639
640
641
642
.long 0x12867288
643
.long 0x11EFA0C0
644
.long 0x12877288
645
.long 0x1210A0C0
646
.long 0x12887288
647
.long 0x1231A0C0
648
.long 0x12897288
649
.long 0x1252A0C0
650
.long 0x12856A88
651
.long 0x1273A0C0
652
653
.long 0xF0B5B057
654
vspltisb 26,4
655
vperm 7,21,22,31
656
.long 0xF115B357
657
658
659
.long 0x12805088
660
.long 0x11EFA0C0
661
.long 0x12815088
662
.long 0x1210A0C0
663
.long 0x12825088
664
.long 0x1231A0C0
665
.long 0x12835088
666
.long 0x1252A0C0
667
.long 0x12845088
668
.long 0x1273A0C0
669
670
.long 0xF2B7C057
671
vperm 22,23,24,31
672
.long 0xF2F7C357
673
674
.long 0x12826088
675
.long 0x11EFA0C0
676
.long 0x12836088
677
.long 0x1210A0C0
678
.long 0x12846088
679
.long 0x1231A0C0
680
.long 0x12805888
681
.long 0x1252A0C0
682
lvx 12,27,11
683
.long 0x12815888
684
.long 0x1273A0C0
685
lvx 11,0,11
686
687
.long 0x10C5CEC4
688
.long 0x10E7D6C4
689
.long 0x1128DEC4
690
.long 0x1108E6C4
691
692
.long 0x12817088
693
.long 0x11EFA0C0
694
.long 0x12827088
695
.long 0x1210A0C0
696
.long 0x12837088
697
.long 0x1231A0C0
698
.long 0x12847088
699
.long 0x1252A0C0
700
lvx 14,29,11
701
.long 0x12806888
702
.long 0x1273A0C0
703
lvx 13,28,11
704
705
vand 5,5,29
706
vand 6,6,29
707
vand 7,7,29
708
vand 8,8,29
709
710
.long 0x12846088
711
.long 0x11EFA0C0
712
.long 0x12805888
713
.long 0x1210A0C0
714
.long 0x12815888
715
.long 0x1231A0C0
716
.long 0x12825888
717
.long 0x1252A0C0
718
.long 0x12835888
719
.long 0x1273A0C0
720
721
.long 0x12D6D6C4
722
.long 0x1355CEC4
723
.long 0x1317DEC4
724
.long 0x12F7E6C4
725
726
.long 0x12837088
727
.long 0x11EFA0C0
728
.long 0x12847088
729
.long 0x1210A0C0
730
.long 0x12806888
731
.long 0x1231A0C0
732
.long 0x12816888
733
.long 0x1252A0C0
734
.long 0x12826888
735
.long 0x1273A0C0
736
737
vand 21,21,29
738
vand 26,26,29
739
vand 22,22,29
740
vand 23,23,29
741
742
743
744
745
746
vspltisb 20,2
747
.long 0x1092CEC4
748
.long 0x102FCEC4
749
vand 3,18,29
750
vand 0,15,29
751
.long 0x108498C0
752
.long 0x102180C0
753
754
.long 0x11384E8C
755
.long 0x10B52E8C
756
.long 0x10DA368C
757
.long 0x10F63E8C
758
.long 0x1117468C
759
vor 9,9,30
760
761
.long 0x1264CEC4
762
.long 0x1201CEC4
763
vand 4,4,29
764
vand 1,1,29
765
.long 0x100098C0
766
.long 0x105180C0
767
768
.long 0x1273A5C4
769
.long 0x1222CEC4
770
vand 2,2,29
771
.long 0x100098C0
772
.long 0x106388C0
773
774
.long 0x11E0CEC4
775
.long 0x1243CEC4
776
vand 0,0,29
777
vand 3,3,29
778
.long 0x102178C0
779
.long 0x108490C0
780
781
addi 4,4,0x40
782
bdnz .Loop_vsx
783
784
neg 5,5
785
andi. 5,5,0x30
786
sub 4,4,5
787
788
.long 0x7D5D1E99
789
.long 0x7D605699
790
.long 0x7D9B5699
791
.long 0x7DBC5699
792
.long 0x7DDD5699
793
794
.Last_vsx:
795
.long 0x11E55288
796
.long 0x12065288
797
.long 0x12275288
798
.long 0x12485288
799
.long 0x12695288
800
801
.long 0x12896288
802
.long 0x11EFA0C0
803
.long 0x12855A88
804
.long 0x1210A0C0
805
.long 0x12865A88
806
.long 0x1231A0C0
807
.long 0x12875A88
808
.long 0x1252A0C0
809
.long 0x7D9F5699
810
.long 0x12885A88
811
.long 0x1273A0C0
812
.long 0x7D7E5699
813
814
.long 0x104238C0
815
.long 0x100028C0
816
.long 0x106340C0
817
.long 0x102130C0
818
.long 0x108448C0
819
820
.long 0x12887288
821
.long 0x11EFA0C0
822
.long 0x12897288
823
.long 0x1210A0C0
824
.long 0x12856A88
825
.long 0x1231A0C0
826
.long 0x12866A88
827
.long 0x1252A0C0
828
.long 0x7DC85699
829
.long 0x12876A88
830
.long 0x1273A0C0
831
.long 0x7DA75699
832
833
.long 0x12876288
834
.long 0x11EFA0C0
835
.long 0x12886288
836
.long 0x1210A0C0
837
.long 0x12896288
838
.long 0x1231A0C0
839
.long 0x12855A88
840
.long 0x1252A0C0
841
.long 0x12865A88
842
.long 0x1273A0C0
843
844
.long 0x12867288
845
.long 0x11EFA0C0
846
.long 0x12877288
847
.long 0x1210A0C0
848
.long 0x12887288
849
.long 0x1231A0C0
850
.long 0x12897288
851
.long 0x1252A0C0
852
.long 0x12856A88
853
.long 0x1273A0C0
854
855
856
.long 0x12805088
857
.long 0x11EFA0C0
858
.long 0x12815088
859
.long 0x1210A0C0
860
.long 0x12825088
861
.long 0x1231A0C0
862
.long 0x12835088
863
.long 0x1252A0C0
864
.long 0x12845088
865
.long 0x1273A0C0
866
867
.long 0x12826088
868
.long 0x11EFA0C0
869
.long 0x12836088
870
.long 0x1210A0C0
871
.long 0x12846088
872
.long 0x1231A0C0
873
.long 0x12805888
874
.long 0x1252A0C0
875
.long 0x7D9B5699
876
.long 0x12815888
877
.long 0x1273A0C0
878
.long 0x7D605699
879
880
.long 0x12817088
881
.long 0x11EFA0C0
882
.long 0x12827088
883
.long 0x1210A0C0
884
.long 0x12837088
885
.long 0x1231A0C0
886
.long 0x12847088
887
.long 0x1252A0C0
888
.long 0x7DDD5699
889
.long 0x12806888
890
.long 0x1273A0C0
891
.long 0x7DBC5699
892
893
.long 0x12846088
894
.long 0x11EFA0C0
895
.long 0x12805888
896
.long 0x1210A0C0
897
.long 0x12815888
898
.long 0x1231A0C0
899
.long 0x12825888
900
.long 0x1252A0C0
901
.long 0x12835888
902
.long 0x1273A0C0
903
904
.long 0x12837088
905
.long 0x11EFA0C0
906
.long 0x12847088
907
.long 0x1210A0C0
908
.long 0x12806888
909
.long 0x1231A0C0
910
.long 0x12816888
911
.long 0x1252A0C0
912
.long 0x12826888
913
.long 0x1273A0C0
914
915
916
917
918
.long 0xF00F7A57
919
.long 0xF0308257
920
.long 0xF0518A57
921
.long 0xF0729257
922
.long 0xF0939A57
923
.long 0x11EF00C0
924
.long 0x121008C0
925
.long 0x123110C0
926
.long 0x125218C0
927
.long 0x127320C0
928
929
930
931
932
vspltisb 20,2
933
.long 0x1092CEC4
934
.long 0x102FCEC4
935
vand 3,18,29
936
vand 0,15,29
937
.long 0x108498C0
938
.long 0x102180C0
939
940
.long 0x1264CEC4
941
.long 0x1201CEC4
942
vand 4,4,29
943
vand 1,1,29
944
.long 0x100098C0
945
.long 0x105180C0
946
947
.long 0x1273A5C4
948
.long 0x1222CEC4
949
vand 2,2,29
950
.long 0x100098C0
951
.long 0x106388C0
952
953
.long 0x11E0CEC4
954
.long 0x1243CEC4
955
vand 0,0,29
956
vand 3,3,29
957
.long 0x102178C0
958
.long 0x108490C0
959
960
beq .Ldone_vsx
961
962
add 6,12,5
963
964
965
.long 0x7EA02699
966
.long 0x7EDB2699
967
.long 0x7EFC2699
968
.long 0x7F1D2699
969
970
971
972
973
974
.long 0xF0B5B057
975
vspltisb 26,4
976
vperm 7,21,22,31
977
.long 0xF115B357
978
979
.long 0x10C5CEC4
980
.long 0x10E7D6C4
981
.long 0x1128DEC4
982
.long 0x1108E6C4
983
vand 5,5,29
984
vand 6,6,29
985
vand 7,7,29
986
vand 8,8,29
987
988
.long 0xF297C057
989
vperm 21,23,24,31
990
.long 0xF2D7C357
991
992
.long 0x7DE03699
993
.long 0x7E1D3699
994
995
.long 0x12F4CEC4
996
.long 0x12B5D6C4
997
.long 0x1316DEC4
998
.long 0x12D6E6C4
999
vand 20,20,29
1000
vand 23,23,29
1001
vand 21,21,29
1002
vand 22,22,29
1003
1004
1005
.long 0x11384E8C
1006
.long 0x10B42E8C
1007
.long 0x10D7368C
1008
.long 0x10F53E8C
1009
.long 0x1116468C
1010
vor 9,9,30
1011
1012
vperm 0,0,0,15
1013
vand 5,5, 16
1014
vperm 1,1,1,15
1015
vand 6,6, 16
1016
vperm 2,2,2,15
1017
vand 7,7, 16
1018
vperm 3,3,3,15
1019
vand 8,8, 16
1020
vperm 4,4,4,15
1021
vand 9,9, 16
1022
1023
.long 0x10A500C0
1024
vxor 0,0,0
1025
.long 0x10C608C0
1026
vxor 1,1,1
1027
.long 0x10E710C0
1028
vxor 2,2,2
1029
.long 0x110818C0
1030
vxor 3,3,3
1031
.long 0x112920C0
1032
vxor 4,4,4
1033
1034
xor. 5,5,5
1035
b .Last_vsx
1036
1037
.align 4
1038
.Ldone_vsx:
1039
ld 0,432(1)
1040
li 27,4
1041
li 28,8
1042
li 29,12
1043
li 30,16
1044
.long 0x7C001919
1045
.long 0x7C3B1919
1046
.long 0x7C5C1919
1047
.long 0x7C7D1919
1048
.long 0x7C9E1919
1049
1050
lwz 12,372(1)
1051
mtlr 0
1052
li 10,191
1053
li 11,207
1054
or 12,12,12
1055
lvx 20,10,1
1056
addi 10,10,32
1057
lvx 21,11,1
1058
addi 11,11,32
1059
lvx 22,10,1
1060
addi 10,10,32
1061
lvx 23,11,1
1062
addi 11,11,32
1063
lvx 24,10,1
1064
addi 10,10,32
1065
lvx 25,11,1
1066
addi 11,11,32
1067
lvx 26,10,1
1068
addi 10,10,32
1069
lvx 27,11,1
1070
addi 11,11,32
1071
lvx 28,10,1
1072
addi 10,10,32
1073
lvx 29,11,1
1074
addi 11,11,32
1075
lvx 30,10,1
1076
lvx 31,11,1
1077
ld 27,376(1)
1078
ld 28,384(1)
1079
ld 29,392(1)
1080
ld 30,400(1)
1081
ld 31,408(1)
1082
addi 1,1,416
1083
blr
1084
.long 0
1085
.byte 0,12,0x04,1,0x80,5,4,0
1086
.long 0
1087
.size __poly1305_blocks_vsx,.-__poly1305_blocks_vsx
1088
1089
.align 6
1090
.LPICmeup:
1091
mflr 0
1092
bcl 20,31,$+4
1093
mflr 12
1094
addi 12,12,56
1095
mtlr 0
1096
blr
1097
.long 0
1098
.byte 0,12,0x14,0,0,0,0,0
1099
.space 28
1100
1101
.long 0x03ffffff,0x00000000
1102
.long 0x03ffffff,0x00000000
1103
.long 0x0000001a,0x00000000
1104
.long 0x0000001a,0x00000000
1105
.long 0x00000028,0x00000000
1106
.long 0x00000028,0x00000000
1107
.long 0x0e0f0001,0x00000000
1108
.long 0x1e1f1011,0x00000000
1109
.long 0x01000000,0x01000000
1110
.long 0x01000000,0x01000000
1111
.long 0x03020100,0x07060504
1112
.long 0x0b0a0908,0x0f0e0d0c
1113
1114
.long 0x00000000,0x00000000
1115
.long 0x04050607,0x00000000
1116
.long 0x00000000,0x04050607
1117
.long 0x00000000,0x00000000
1118
.long 0x00000000,0x00000000
1119
.long 0x00000000,0x04050607
1120
1121
.long 0x00000000,0xffffffff
1122
.long 0xffffffff,0xffffffff
1123
.long 0x00000000,0xffffffff
1124
.long 0x00000000,0xffffffff
1125
.long 0x00000000,0x00000000
1126
.long 0x00000000,0xffffffff
1127
.byte 80,111,108,121,49,51,48,53,32,102,111,114,32,80,80,67,44,67,82,89,80,84,79,71,65,77,83,32,98,121,32,64,100,111,116,45,97,115,109,0
1128
.align 2
1129
1130