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