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