Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/openssl/powerpc/ghashp8-ppc.S
39482 views
1
/* Do not modify. This file is auto-generated from ghashp8-ppc.pl. */
2
.machine "any"
3
4
.text
5
6
.globl gcm_init_p8
7
.type gcm_init_p8,@function
8
.align 5
9
gcm_init_p8:
10
li 0,-4096
11
li 8,0x10
12
mfspr 12,256
13
li 9,0x20
14
mtspr 256,0
15
li 10,0x30
16
.long 0x7D202699
17
18
vspltisb 8,-16
19
vspltisb 5,1
20
vaddubm 8,8,8
21
vxor 4,4,4
22
vor 8,8,5
23
vsldoi 8,8,4,15
24
vsldoi 6,4,5,1
25
vaddubm 8,8,8
26
vspltisb 7,7
27
vor 8,8,6
28
vspltb 6,9,0
29
vsl 9,9,5
30
vsrab 6,6,7
31
vand 6,6,8
32
vxor 3,9,6
33
34
vsldoi 9,3,3,8
35
vsldoi 8,4,8,8
36
vsldoi 11,4,9,8
37
vsldoi 10,9,4,8
38
39
.long 0x7D001F99
40
.long 0x7D681F99
41
li 8,0x40
42
.long 0x7D291F99
43
li 9,0x50
44
.long 0x7D4A1F99
45
li 10,0x60
46
47
.long 0x10035CC8
48
.long 0x10234CC8
49
.long 0x104354C8
50
51
.long 0x10E044C8
52
53
vsldoi 5,1,4,8
54
vsldoi 6,4,1,8
55
vxor 0,0,5
56
vxor 2,2,6
57
58
vsldoi 0,0,0,8
59
vxor 0,0,7
60
61
vsldoi 6,0,0,8
62
.long 0x100044C8
63
vxor 6,6,2
64
vxor 16,0,6
65
66
vsldoi 17,16,16,8
67
vsldoi 19,4,17,8
68
vsldoi 18,17,4,8
69
70
.long 0x7E681F99
71
li 8,0x70
72
.long 0x7E291F99
73
li 9,0x80
74
.long 0x7E4A1F99
75
li 10,0x90
76
.long 0x10039CC8
77
.long 0x11B09CC8
78
.long 0x10238CC8
79
.long 0x11D08CC8
80
.long 0x104394C8
81
.long 0x11F094C8
82
83
.long 0x10E044C8
84
.long 0x114D44C8
85
86
vsldoi 5,1,4,8
87
vsldoi 6,4,1,8
88
vsldoi 11,14,4,8
89
vsldoi 9,4,14,8
90
vxor 0,0,5
91
vxor 2,2,6
92
vxor 13,13,11
93
vxor 15,15,9
94
95
vsldoi 0,0,0,8
96
vsldoi 13,13,13,8
97
vxor 0,0,7
98
vxor 13,13,10
99
100
vsldoi 6,0,0,8
101
vsldoi 9,13,13,8
102
.long 0x100044C8
103
.long 0x11AD44C8
104
vxor 6,6,2
105
vxor 9,9,15
106
vxor 0,0,6
107
vxor 13,13,9
108
109
vsldoi 9,0,0,8
110
vsldoi 17,13,13,8
111
vsldoi 11,4,9,8
112
vsldoi 10,9,4,8
113
vsldoi 19,4,17,8
114
vsldoi 18,17,4,8
115
116
.long 0x7D681F99
117
li 8,0xa0
118
.long 0x7D291F99
119
li 9,0xb0
120
.long 0x7D4A1F99
121
li 10,0xc0
122
.long 0x7E681F99
123
.long 0x7E291F99
124
.long 0x7E4A1F99
125
126
mtspr 256,12
127
blr
128
.long 0
129
.byte 0,12,0x14,0,0,0,2,0
130
.long 0
131
.size gcm_init_p8,.-gcm_init_p8
132
.globl gcm_gmult_p8
133
.type gcm_gmult_p8,@function
134
.align 5
135
gcm_gmult_p8:
136
lis 0,0xfff8
137
li 8,0x10
138
mfspr 12,256
139
li 9,0x20
140
mtspr 256,0
141
li 10,0x30
142
.long 0x7C601E99
143
144
.long 0x7D682699
145
146
.long 0x7D292699
147
148
.long 0x7D4A2699
149
150
.long 0x7D002699
151
152
vxor 4,4,4
153
154
.long 0x10035CC8
155
.long 0x10234CC8
156
.long 0x104354C8
157
158
.long 0x10E044C8
159
160
vsldoi 5,1,4,8
161
vsldoi 6,4,1,8
162
vxor 0,0,5
163
vxor 2,2,6
164
165
vsldoi 0,0,0,8
166
vxor 0,0,7
167
168
vsldoi 6,0,0,8
169
.long 0x100044C8
170
vxor 6,6,2
171
vxor 0,0,6
172
173
174
.long 0x7C001F99
175
176
mtspr 256,12
177
blr
178
.long 0
179
.byte 0,12,0x14,0,0,0,2,0
180
.long 0
181
.size gcm_gmult_p8,.-gcm_gmult_p8
182
183
.globl gcm_ghash_p8
184
.type gcm_ghash_p8,@function
185
.align 5
186
gcm_ghash_p8:
187
li 0,-4096
188
li 8,0x10
189
mfspr 12,256
190
li 9,0x20
191
mtspr 256,0
192
li 10,0x30
193
.long 0x7C001E99
194
195
.long 0x7D682699
196
li 8,0x40
197
198
.long 0x7D292699
199
li 9,0x50
200
201
.long 0x7D4A2699
202
li 10,0x60
203
204
.long 0x7D002699
205
206
vxor 4,4,4
207
208
cmplwi 6,64
209
bge .Lgcm_ghash_p8_4x
210
211
.long 0x7C602E99
212
addi 5,5,16
213
subic. 6,6,16
214
215
vxor 3,3,0
216
beq .Lshort
217
218
.long 0x7E682699
219
li 8,16
220
.long 0x7E292699
221
add 9,5,6
222
.long 0x7E4A2699
223
b .Loop_2x
224
225
.align 5
226
.Loop_2x:
227
.long 0x7E002E99
228
229
230
subic 6,6,32
231
.long 0x10039CC8
232
.long 0x11B05CC8
233
subfe 0,0,0
234
.long 0x10238CC8
235
.long 0x11D04CC8
236
and 0,0,6
237
.long 0x104394C8
238
.long 0x11F054C8
239
add 5,5,0
240
241
vxor 0,0,13
242
vxor 1,1,14
243
244
.long 0x10E044C8
245
246
vsldoi 5,1,4,8
247
vsldoi 6,4,1,8
248
vxor 2,2,15
249
vxor 0,0,5
250
vxor 2,2,6
251
252
vsldoi 0,0,0,8
253
vxor 0,0,7
254
.long 0x7C682E99
255
addi 5,5,32
256
257
vsldoi 6,0,0,8
258
.long 0x100044C8
259
260
vxor 6,6,2
261
vxor 3,3,6
262
vxor 3,3,0
263
.long 0x7c092840
264
bgt .Loop_2x
265
266
cmplwi 6,0
267
bne .Leven
268
269
.Lshort:
270
.long 0x10035CC8
271
.long 0x10234CC8
272
.long 0x104354C8
273
274
.long 0x10E044C8
275
276
vsldoi 5,1,4,8
277
vsldoi 6,4,1,8
278
vxor 0,0,5
279
vxor 2,2,6
280
281
vsldoi 0,0,0,8
282
vxor 0,0,7
283
284
vsldoi 6,0,0,8
285
.long 0x100044C8
286
vxor 6,6,2
287
288
.Leven:
289
vxor 0,0,6
290
291
.long 0x7C001F99
292
293
mtspr 256,12
294
blr
295
.long 0
296
.byte 0,12,0x14,0,0,0,4,0
297
.long 0
298
.align 5
299
.gcm_ghash_p8_4x:
300
.Lgcm_ghash_p8_4x:
301
stwu 1,-232(1)
302
li 10,39
303
li 11,55
304
stvx 20,10,1
305
addi 10,10,32
306
stvx 21,11,1
307
addi 11,11,32
308
stvx 22,10,1
309
addi 10,10,32
310
stvx 23,11,1
311
addi 11,11,32
312
stvx 24,10,1
313
addi 10,10,32
314
stvx 25,11,1
315
addi 11,11,32
316
stvx 26,10,1
317
addi 10,10,32
318
stvx 27,11,1
319
addi 11,11,32
320
stvx 28,10,1
321
addi 10,10,32
322
stvx 29,11,1
323
addi 11,11,32
324
stvx 30,10,1
325
li 10,0x60
326
stvx 31,11,1
327
li 0,-1
328
stw 12,228(1)
329
mtspr 256,0
330
331
lvsl 5,0,8
332
333
li 8,0x70
334
.long 0x7E292699
335
li 9,0x80
336
vspltisb 6,8
337
338
li 10,0x90
339
.long 0x7EE82699
340
li 8,0xa0
341
.long 0x7F092699
342
li 9,0xb0
343
.long 0x7F2A2699
344
li 10,0xc0
345
.long 0x7FA82699
346
li 8,0x10
347
.long 0x7FC92699
348
li 9,0x20
349
.long 0x7FEA2699
350
li 10,0x30
351
352
vsldoi 7,4,6,8
353
vaddubm 18,5,7
354
vaddubm 19,6,18
355
356
srwi 6,6,4
357
358
.long 0x7C602E99
359
.long 0x7E082E99
360
subic. 6,6,8
361
.long 0x7EC92E99
362
.long 0x7F8A2E99
363
addi 5,5,0x40
364
365
366
367
368
369
vxor 2,3,0
370
371
.long 0x11B0BCC8
372
.long 0x11D0C4C8
373
.long 0x11F0CCC8
374
375
vperm 11,17,9,18
376
vperm 5,22,28,19
377
vperm 10,17,9,19
378
vperm 6,22,28,18
379
.long 0x12B68CC8
380
.long 0x12855CC8
381
.long 0x137C4CC8
382
.long 0x134654C8
383
384
vxor 21,21,14
385
vxor 20,20,13
386
vxor 27,27,21
387
vxor 26,26,15
388
389
blt .Ltail_4x
390
391
.Loop_4x:
392
.long 0x7C602E99
393
.long 0x7E082E99
394
subic. 6,6,4
395
.long 0x7EC92E99
396
.long 0x7F8A2E99
397
addi 5,5,0x40
398
399
400
401
402
403
.long 0x1002ECC8
404
.long 0x1022F4C8
405
.long 0x1042FCC8
406
.long 0x11B0BCC8
407
.long 0x11D0C4C8
408
.long 0x11F0CCC8
409
410
vxor 0,0,20
411
vxor 1,1,27
412
vxor 2,2,26
413
vperm 5,22,28,19
414
vperm 6,22,28,18
415
416
.long 0x10E044C8
417
.long 0x12855CC8
418
.long 0x134654C8
419
420
vsldoi 5,1,4,8
421
vsldoi 6,4,1,8
422
vxor 0,0,5
423
vxor 2,2,6
424
425
vsldoi 0,0,0,8
426
vxor 0,0,7
427
428
vsldoi 6,0,0,8
429
.long 0x12B68CC8
430
.long 0x137C4CC8
431
.long 0x100044C8
432
433
vxor 20,20,13
434
vxor 26,26,15
435
vxor 2,2,3
436
vxor 21,21,14
437
vxor 2,2,6
438
vxor 27,27,21
439
vxor 2,2,0
440
bge .Loop_4x
441
442
.Ltail_4x:
443
.long 0x1002ECC8
444
.long 0x1022F4C8
445
.long 0x1042FCC8
446
447
vxor 0,0,20
448
vxor 1,1,27
449
450
.long 0x10E044C8
451
452
vsldoi 5,1,4,8
453
vsldoi 6,4,1,8
454
vxor 2,2,26
455
vxor 0,0,5
456
vxor 2,2,6
457
458
vsldoi 0,0,0,8
459
vxor 0,0,7
460
461
vsldoi 6,0,0,8
462
.long 0x100044C8
463
vxor 6,6,2
464
vxor 0,0,6
465
466
addic. 6,6,4
467
beq .Ldone_4x
468
469
.long 0x7C602E99
470
cmplwi 6,2
471
li 6,-4
472
blt .Lone
473
.long 0x7E082E99
474
beq .Ltwo
475
476
.Lthree:
477
.long 0x7EC92E99
478
479
480
481
482
vxor 2,3,0
483
vor 29,23,23
484
vor 30,24,24
485
vor 31,25,25
486
487
vperm 5,16,22,19
488
vperm 6,16,22,18
489
.long 0x12B08CC8
490
.long 0x13764CC8
491
.long 0x12855CC8
492
.long 0x134654C8
493
494
vxor 27,27,21
495
b .Ltail_4x
496
497
.align 4
498
.Ltwo:
499
500
501
502
vxor 2,3,0
503
vperm 5,4,16,19
504
vperm 6,4,16,18
505
506
vsldoi 29,4,17,8
507
vor 30,17,17
508
vsldoi 31,17,4,8
509
510
.long 0x12855CC8
511
.long 0x13704CC8
512
.long 0x134654C8
513
514
b .Ltail_4x
515
516
.align 4
517
.Lone:
518
519
520
vsldoi 29,4,9,8
521
vor 30,9,9
522
vsldoi 31,9,4,8
523
524
vxor 2,3,0
525
vxor 20,20,20
526
vxor 27,27,27
527
vxor 26,26,26
528
529
b .Ltail_4x
530
531
.Ldone_4x:
532
533
.long 0x7C001F99
534
535
li 10,39
536
li 11,55
537
mtspr 256,12
538
lvx 20,10,1
539
addi 10,10,32
540
lvx 21,11,1
541
addi 11,11,32
542
lvx 22,10,1
543
addi 10,10,32
544
lvx 23,11,1
545
addi 11,11,32
546
lvx 24,10,1
547
addi 10,10,32
548
lvx 25,11,1
549
addi 11,11,32
550
lvx 26,10,1
551
addi 10,10,32
552
lvx 27,11,1
553
addi 11,11,32
554
lvx 28,10,1
555
addi 10,10,32
556
lvx 29,11,1
557
addi 11,11,32
558
lvx 30,10,1
559
lvx 31,11,1
560
addi 1,1,232
561
blr
562
.long 0
563
.byte 0,12,0x04,0,0x80,0,4,0
564
.long 0
565
.size gcm_ghash_p8,.-gcm_ghash_p8
566
567
.byte 71,72,65,83,72,32,102,111,114,32,80,111,119,101,114,73,83,65,32,50,46,48,55,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
568
.align 2
569
.align 2
570
571