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