Added Mike Hamburg's SSSE3 AES implementation.
[gnutls:gnutls.git] / lib / accelerated / x86 / elf / aes-ssse3-x86_64.s
1 ######################################################################
2 ## Constant-time SSSE3 AES core implementation.
3 ## version 0.1
4 ##
5 ## By Mike Hamburg (Stanford University), 2009
6 ## Public domain.
7 ##
8 ## For details see http://shiftleft.org/papers/vector_aes/ and
9 ## http://crypto.stanford.edu/vpaes/.
10 #
11 # *** This file is auto-generated ***
12 #
13 .text   
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 .type   _vpaes_encrypt_core,@function
31 .align  16
32 _vpaes_encrypt_core:
33         movq    %rdx,%r9
34         movq    $16,%r11
35         movl    240(%rdx),%eax
36         movdqa  %xmm9,%xmm1
37         movdqa  .Lk_ipt(%rip),%xmm2
38         pandn   %xmm0,%xmm1
39         movdqu  (%r9),%xmm5
40         psrld   $4,%xmm1
41         pand    %xmm9,%xmm0
42 .byte   102,15,56,0,208
43         movdqa  .Lk_ipt+16(%rip),%xmm0
44 .byte   102,15,56,0,193
45         pxor    %xmm5,%xmm2
46         addq    $16,%r9
47         pxor    %xmm2,%xmm0
48         leaq    .Lk_mc_backward(%rip),%r10
49         jmp     .Lenc_entry
50
51 .align  16
52 .Lenc_loop:
53
54         movdqa  %xmm13,%xmm4
55         movdqa  %xmm12,%xmm0
56 .byte   102,15,56,0,226
57 .byte   102,15,56,0,195
58         pxor    %xmm5,%xmm4
59         movdqa  %xmm15,%xmm5
60         pxor    %xmm4,%xmm0
61         movdqa  -64(%r11,%r10,1),%xmm1
62 .byte   102,15,56,0,234
63         movdqa  (%r11,%r10,1),%xmm4
64         movdqa  %xmm14,%xmm2
65 .byte   102,15,56,0,211
66         movdqa  %xmm0,%xmm3
67         pxor    %xmm5,%xmm2
68 .byte   102,15,56,0,193
69         addq    $16,%r9
70         pxor    %xmm2,%xmm0
71 .byte   102,15,56,0,220
72         addq    $16,%r11
73         pxor    %xmm0,%xmm3
74 .byte   102,15,56,0,193
75         andq    $48,%r11
76         subq    $1,%rax
77         pxor    %xmm3,%xmm0
78
79 .Lenc_entry:
80
81         movdqa  %xmm9,%xmm1
82         movdqa  %xmm11,%xmm5
83         pandn   %xmm0,%xmm1
84         psrld   $4,%xmm1
85         pand    %xmm9,%xmm0
86 .byte   102,15,56,0,232
87         movdqa  %xmm10,%xmm3
88         pxor    %xmm1,%xmm0
89 .byte   102,15,56,0,217
90         movdqa  %xmm10,%xmm4
91         pxor    %xmm5,%xmm3
92 .byte   102,15,56,0,224
93         movdqa  %xmm10,%xmm2
94         pxor    %xmm5,%xmm4
95 .byte   102,15,56,0,211
96         movdqa  %xmm10,%xmm3
97         pxor    %xmm0,%xmm2
98 .byte   102,15,56,0,220
99         movdqu  (%r9),%xmm5
100         pxor    %xmm1,%xmm3
101         jnz     .Lenc_loop
102
103
104         movdqa  -96(%r10),%xmm4
105         movdqa  -80(%r10),%xmm0
106 .byte   102,15,56,0,226
107         pxor    %xmm5,%xmm4
108 .byte   102,15,56,0,195
109         movdqa  64(%r11,%r10,1),%xmm1
110         pxor    %xmm4,%xmm0
111 .byte   102,15,56,0,193
112         .byte   0xf3,0xc3
113 .size   _vpaes_encrypt_core,.-_vpaes_encrypt_core
114
115
116
117
118
119
120 .type   _vpaes_decrypt_core,@function
121 .align  16
122 _vpaes_decrypt_core:
123         movq    %rdx,%r9
124         movl    240(%rdx),%eax
125         movdqa  %xmm9,%xmm1
126         movdqa  .Lk_dipt(%rip),%xmm2
127         pandn   %xmm0,%xmm1
128         movq    %rax,%r11
129         psrld   $4,%xmm1
130         movdqu  (%r9),%xmm5
131         shlq    $4,%r11
132         pand    %xmm9,%xmm0
133 .byte   102,15,56,0,208
134         movdqa  .Lk_dipt+16(%rip),%xmm0
135         xorq    $48,%r11
136         leaq    .Lk_dsbd(%rip),%r10
137 .byte   102,15,56,0,193
138         andq    $48,%r11
139         pxor    %xmm5,%xmm2
140         movdqa  .Lk_mc_forward+48(%rip),%xmm5
141         pxor    %xmm2,%xmm0
142         addq    $16,%r9
143         addq    %r10,%r11
144         jmp     .Ldec_entry
145
146 .align  16
147 .Ldec_loop:
148
149
150
151         movdqa  -32(%r10),%xmm4
152         movdqa  -16(%r10),%xmm1
153 .byte   102,15,56,0,226
154 .byte   102,15,56,0,203
155         pxor    %xmm4,%xmm0
156         movdqa  0(%r10),%xmm4
157         pxor    %xmm1,%xmm0
158         movdqa  16(%r10),%xmm1
159
160 .byte   102,15,56,0,226
161 .byte   102,15,56,0,197
162 .byte   102,15,56,0,203
163         pxor    %xmm4,%xmm0
164         movdqa  32(%r10),%xmm4
165         pxor    %xmm1,%xmm0
166         movdqa  48(%r10),%xmm1
167
168 .byte   102,15,56,0,226
169 .byte   102,15,56,0,197
170 .byte   102,15,56,0,203
171         pxor    %xmm4,%xmm0
172         movdqa  64(%r10),%xmm4
173         pxor    %xmm1,%xmm0
174         movdqa  80(%r10),%xmm1
175
176 .byte   102,15,56,0,226
177 .byte   102,15,56,0,197
178 .byte   102,15,56,0,203
179         pxor    %xmm4,%xmm0
180         addq    $16,%r9
181 .byte   102,15,58,15,237,12
182         pxor    %xmm1,%xmm0
183         subq    $1,%rax
184
185 .Ldec_entry:
186
187         movdqa  %xmm9,%xmm1
188         pandn   %xmm0,%xmm1
189         movdqa  %xmm11,%xmm2
190         psrld   $4,%xmm1
191         pand    %xmm9,%xmm0
192 .byte   102,15,56,0,208
193         movdqa  %xmm10,%xmm3
194         pxor    %xmm1,%xmm0
195 .byte   102,15,56,0,217
196         movdqa  %xmm10,%xmm4
197         pxor    %xmm2,%xmm3
198 .byte   102,15,56,0,224
199         pxor    %xmm2,%xmm4
200         movdqa  %xmm10,%xmm2
201 .byte   102,15,56,0,211
202         movdqa  %xmm10,%xmm3
203         pxor    %xmm0,%xmm2
204 .byte   102,15,56,0,220
205         movdqu  (%r9),%xmm0
206         pxor    %xmm1,%xmm3
207         jnz     .Ldec_loop
208
209
210         movdqa  96(%r10),%xmm4
211 .byte   102,15,56,0,226
212         pxor    %xmm0,%xmm4
213         movdqa  112(%r10),%xmm0
214         movdqa  -352(%r11),%xmm2
215 .byte   102,15,56,0,195
216         pxor    %xmm4,%xmm0
217 .byte   102,15,56,0,194
218         .byte   0xf3,0xc3
219 .size   _vpaes_decrypt_core,.-_vpaes_decrypt_core
220
221
222
223
224
225
226 .type   _vpaes_schedule_core,@function
227 .align  16
228 _vpaes_schedule_core:
229
230
231
232
233
234         call    _vpaes_preheat          
235         movdqa  .Lk_rcon(%rip),%xmm8
236         movdqu  (%rdi),%xmm0
237
238
239         movdqa  %xmm0,%xmm3
240         leaq    .Lk_ipt(%rip),%r11
241         call    _vpaes_schedule_transform
242         movdqa  %xmm0,%xmm7
243
244         leaq    .Lk_sr(%rip),%r10
245         testq   %rcx,%rcx
246         jnz     .Lschedule_am_decrypting
247
248
249         movdqu  %xmm0,(%rdx)
250         jmp     .Lschedule_go
251
252 .Lschedule_am_decrypting:
253
254         movdqa  (%r8,%r10,1),%xmm1
255 .byte   102,15,56,0,217
256         movdqu  %xmm3,(%rdx)
257         xorq    $48,%r8
258
259 .Lschedule_go:
260         cmpl    $192,%esi
261         ja      .Lschedule_256
262         je      .Lschedule_192
263
264
265
266
267
268
269
270
271
272
273 .Lschedule_128:
274         movl    $10,%esi
275
276 .Loop_schedule_128:
277         call    _vpaes_schedule_round
278         decq    %rsi
279         jz      .Lschedule_mangle_last
280         call    _vpaes_schedule_mangle  
281         jmp     .Loop_schedule_128
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298 .align  16
299 .Lschedule_192:
300         movdqu  8(%rdi),%xmm0
301         call    _vpaes_schedule_transform       
302         movdqa  %xmm0,%xmm6
303         pxor    %xmm4,%xmm4
304         movhlps %xmm4,%xmm6
305         movl    $4,%esi
306
307 .Loop_schedule_192:
308         call    _vpaes_schedule_round
309 .byte   102,15,58,15,198,8
310         call    _vpaes_schedule_mangle  
311         call    _vpaes_schedule_192_smear
312         call    _vpaes_schedule_mangle  
313         call    _vpaes_schedule_round
314         decq    %rsi
315         jz      .Lschedule_mangle_last
316         call    _vpaes_schedule_mangle  
317         call    _vpaes_schedule_192_smear
318         jmp     .Loop_schedule_192
319
320
321
322
323
324
325
326
327
328
329
330 .align  16
331 .Lschedule_256:
332         movdqu  16(%rdi),%xmm0
333         call    _vpaes_schedule_transform       
334         movl    $7,%esi
335
336 .Loop_schedule_256:
337         call    _vpaes_schedule_mangle  
338         movdqa  %xmm0,%xmm6
339
340
341         call    _vpaes_schedule_round
342         decq    %rsi
343         jz      .Lschedule_mangle_last
344         call    _vpaes_schedule_mangle  
345
346
347         pshufd  $255,%xmm0,%xmm0
348         movdqa  %xmm7,%xmm5
349         movdqa  %xmm6,%xmm7
350         call    _vpaes_schedule_low_round
351         movdqa  %xmm5,%xmm7
352
353         jmp     .Loop_schedule_256
354
355
356
357
358
359
360
361
362
363
364
365
366 .align  16
367 .Lschedule_mangle_last:
368
369         leaq    .Lk_deskew(%rip),%r11
370         testq   %rcx,%rcx
371         jnz     .Lschedule_mangle_last_dec
372
373
374         movdqa  (%r8,%r10,1),%xmm1
375 .byte   102,15,56,0,193
376         leaq    .Lk_opt(%rip),%r11
377         addq    $32,%rdx
378
379 .Lschedule_mangle_last_dec:
380         addq    $-16,%rdx
381         pxor    .Lk_s63(%rip),%xmm0
382         call    _vpaes_schedule_transform 
383         movdqu  %xmm0,(%rdx)
384
385
386         pxor    %xmm0,%xmm0
387         pxor    %xmm1,%xmm1
388         pxor    %xmm2,%xmm2
389         pxor    %xmm3,%xmm3
390         pxor    %xmm4,%xmm4
391         pxor    %xmm5,%xmm5
392         pxor    %xmm6,%xmm6
393         pxor    %xmm7,%xmm7
394         .byte   0xf3,0xc3
395 .size   _vpaes_schedule_core,.-_vpaes_schedule_core
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411 .type   _vpaes_schedule_192_smear,@function
412 .align  16
413 _vpaes_schedule_192_smear:
414         pshufd  $128,%xmm6,%xmm1
415         pshufd  $254,%xmm7,%xmm0
416         pxor    %xmm1,%xmm6
417         pxor    %xmm1,%xmm1
418         pxor    %xmm0,%xmm6
419         movdqa  %xmm6,%xmm0
420         movhlps %xmm1,%xmm6
421         .byte   0xf3,0xc3
422 .size   _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442 .type   _vpaes_schedule_round,@function
443 .align  16
444 _vpaes_schedule_round:
445
446         pxor    %xmm1,%xmm1
447 .byte   102,65,15,58,15,200,15
448 .byte   102,69,15,58,15,192,15
449         pxor    %xmm1,%xmm7
450
451
452         pshufd  $255,%xmm0,%xmm0
453 .byte   102,15,58,15,192,1
454
455
456
457
458 _vpaes_schedule_low_round:
459
460         movdqa  %xmm7,%xmm1
461         pslldq  $4,%xmm7
462         pxor    %xmm1,%xmm7
463         movdqa  %xmm7,%xmm1
464         pslldq  $8,%xmm7
465         pxor    %xmm1,%xmm7
466         pxor    .Lk_s63(%rip),%xmm7
467
468
469         movdqa  %xmm9,%xmm1
470         pandn   %xmm0,%xmm1
471         psrld   $4,%xmm1
472         pand    %xmm9,%xmm0
473         movdqa  %xmm11,%xmm2
474 .byte   102,15,56,0,208
475         pxor    %xmm1,%xmm0
476         movdqa  %xmm10,%xmm3
477 .byte   102,15,56,0,217
478         pxor    %xmm2,%xmm3
479         movdqa  %xmm10,%xmm4
480 .byte   102,15,56,0,224
481         pxor    %xmm2,%xmm4
482         movdqa  %xmm10,%xmm2
483 .byte   102,15,56,0,211
484         pxor    %xmm0,%xmm2
485         movdqa  %xmm10,%xmm3
486 .byte   102,15,56,0,220
487         pxor    %xmm1,%xmm3
488         movdqa  %xmm13,%xmm4
489 .byte   102,15,56,0,226
490         movdqa  %xmm12,%xmm0
491 .byte   102,15,56,0,195
492         pxor    %xmm4,%xmm0
493
494
495         pxor    %xmm7,%xmm0
496         movdqa  %xmm0,%xmm7
497         .byte   0xf3,0xc3
498 .size   _vpaes_schedule_round,.-_vpaes_schedule_round
499
500
501
502
503
504
505
506
507
508
509 .type   _vpaes_schedule_transform,@function
510 .align  16
511 _vpaes_schedule_transform:
512         movdqa  %xmm9,%xmm1
513         pandn   %xmm0,%xmm1
514         psrld   $4,%xmm1
515         pand    %xmm9,%xmm0
516         movdqa  (%r11),%xmm2
517 .byte   102,15,56,0,208
518         movdqa  16(%r11),%xmm0
519 .byte   102,15,56,0,193
520         pxor    %xmm2,%xmm0
521         .byte   0xf3,0xc3
522 .size   _vpaes_schedule_transform,.-_vpaes_schedule_transform
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547 .type   _vpaes_schedule_mangle,@function
548 .align  16
549 _vpaes_schedule_mangle:
550         movdqa  %xmm0,%xmm4
551         movdqa  .Lk_mc_forward(%rip),%xmm5
552         testq   %rcx,%rcx
553         jnz     .Lschedule_mangle_dec
554
555
556         addq    $16,%rdx
557         pxor    .Lk_s63(%rip),%xmm4
558 .byte   102,15,56,0,229
559         movdqa  %xmm4,%xmm3
560 .byte   102,15,56,0,229
561         pxor    %xmm4,%xmm3
562 .byte   102,15,56,0,229
563         pxor    %xmm4,%xmm3
564
565         jmp     .Lschedule_mangle_both
566 .align  16
567 .Lschedule_mangle_dec:
568
569         leaq    .Lk_dksd(%rip),%r11
570         movdqa  %xmm9,%xmm1
571         pandn   %xmm4,%xmm1
572         psrld   $4,%xmm1
573         pand    %xmm9,%xmm4
574
575         movdqa  0(%r11),%xmm2
576 .byte   102,15,56,0,212
577         movdqa  16(%r11),%xmm3
578 .byte   102,15,56,0,217
579         pxor    %xmm2,%xmm3
580 .byte   102,15,56,0,221
581
582         movdqa  32(%r11),%xmm2
583 .byte   102,15,56,0,212
584         pxor    %xmm3,%xmm2
585         movdqa  48(%r11),%xmm3
586 .byte   102,15,56,0,217
587         pxor    %xmm2,%xmm3
588 .byte   102,15,56,0,221
589
590         movdqa  64(%r11),%xmm2
591 .byte   102,15,56,0,212
592         pxor    %xmm3,%xmm2
593         movdqa  80(%r11),%xmm3
594 .byte   102,15,56,0,217
595         pxor    %xmm2,%xmm3
596 .byte   102,15,56,0,221
597
598         movdqa  96(%r11),%xmm2
599 .byte   102,15,56,0,212
600         pxor    %xmm3,%xmm2
601         movdqa  112(%r11),%xmm3
602 .byte   102,15,56,0,217
603         pxor    %xmm2,%xmm3
604
605         addq    $-16,%rdx
606
607 .Lschedule_mangle_both:
608         movdqa  (%r8,%r10,1),%xmm1
609 .byte   102,15,56,0,217
610         addq    $-16,%r8
611         andq    $48,%r8
612         movdqu  %xmm3,(%rdx)
613         .byte   0xf3,0xc3
614 .size   _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
615
616
617
618
619 .globl  vpaes_set_encrypt_key
620 .type   vpaes_set_encrypt_key,@function
621 .align  16
622 vpaes_set_encrypt_key:
623         movl    %esi,%eax
624         shrl    $5,%eax
625         addl    $5,%eax
626         movl    %eax,240(%rdx)
627
628         movl    $0,%ecx
629         movl    $48,%r8d
630         call    _vpaes_schedule_core
631         xorl    %eax,%eax
632         .byte   0xf3,0xc3
633 .size   vpaes_set_encrypt_key,.-vpaes_set_encrypt_key
634
635 .globl  vpaes_set_decrypt_key
636 .type   vpaes_set_decrypt_key,@function
637 .align  16
638 vpaes_set_decrypt_key:
639         movl    %esi,%eax
640         shrl    $5,%eax
641         addl    $5,%eax
642         movl    %eax,240(%rdx)
643         shll    $4,%eax
644         leaq    16(%rdx,%rax,1),%rdx
645
646         movl    $1,%ecx
647         movl    %esi,%r8d
648         shrl    $1,%r8d
649         andl    $32,%r8d
650         xorl    $32,%r8d
651         call    _vpaes_schedule_core
652         xorl    %eax,%eax
653         .byte   0xf3,0xc3
654 .size   vpaes_set_decrypt_key,.-vpaes_set_decrypt_key
655
656 .globl  vpaes_encrypt
657 .type   vpaes_encrypt,@function
658 .align  16
659 vpaes_encrypt:
660         movdqu  (%rdi),%xmm0
661         call    _vpaes_preheat
662         call    _vpaes_encrypt_core
663         movdqu  %xmm0,(%rsi)
664         .byte   0xf3,0xc3
665 .size   vpaes_encrypt,.-vpaes_encrypt
666
667 .globl  vpaes_decrypt
668 .type   vpaes_decrypt,@function
669 .align  16
670 vpaes_decrypt:
671         movdqu  (%rdi),%xmm0
672         call    _vpaes_preheat
673         call    _vpaes_decrypt_core
674         movdqu  %xmm0,(%rsi)
675         .byte   0xf3,0xc3
676 .size   vpaes_decrypt,.-vpaes_decrypt
677 .globl  vpaes_cbc_encrypt
678 .type   vpaes_cbc_encrypt,@function
679 .align  16
680 vpaes_cbc_encrypt:
681         xchgq   %rcx,%rdx
682         subq    $16,%rcx
683         jc      .Lcbc_abort
684         movdqu  (%r8),%xmm6
685         subq    %rdi,%rsi
686         call    _vpaes_preheat
687         cmpl    $0,%r9d
688         je      .Lcbc_dec_loop
689         jmp     .Lcbc_enc_loop
690 .align  16
691 .Lcbc_enc_loop:
692         movdqu  (%rdi),%xmm0
693         pxor    %xmm6,%xmm0
694         call    _vpaes_encrypt_core
695         movdqa  %xmm0,%xmm6
696         movdqu  %xmm0,(%rsi,%rdi,1)
697         leaq    16(%rdi),%rdi
698         subq    $16,%rcx
699         jnc     .Lcbc_enc_loop
700         jmp     .Lcbc_done
701 .align  16
702 .Lcbc_dec_loop:
703         movdqu  (%rdi),%xmm0
704         movdqa  %xmm0,%xmm7
705         call    _vpaes_decrypt_core
706         pxor    %xmm6,%xmm0
707         movdqa  %xmm7,%xmm6
708         movdqu  %xmm0,(%rsi,%rdi,1)
709         leaq    16(%rdi),%rdi
710         subq    $16,%rcx
711         jnc     .Lcbc_dec_loop
712 .Lcbc_done:
713         movdqu  %xmm6,(%r8)
714 .Lcbc_abort:
715         .byte   0xf3,0xc3
716 .size   vpaes_cbc_encrypt,.-vpaes_cbc_encrypt
717
718
719
720
721
722
723 .type   _vpaes_preheat,@function
724 .align  16
725 _vpaes_preheat:
726         leaq    .Lk_s0F(%rip),%r10
727         movdqa  -32(%r10),%xmm10
728         movdqa  -16(%r10),%xmm11
729         movdqa  0(%r10),%xmm9
730         movdqa  48(%r10),%xmm13
731         movdqa  64(%r10),%xmm12
732         movdqa  80(%r10),%xmm15
733         movdqa  96(%r10),%xmm14
734         .byte   0xf3,0xc3
735 .size   _vpaes_preheat,.-_vpaes_preheat
736
737
738
739
740
741 .type   _vpaes_consts,@object
742 .align  64
743 _vpaes_consts:
744 .Lk_inv:
745 .quad   0x0E05060F0D080180, 0x040703090A0B0C02
746 .quad   0x01040A060F0B0780, 0x030D0E0C02050809
747
748 .Lk_s0F:
749 .quad   0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F
750
751 .Lk_ipt:
752 .quad   0xC2B2E8985A2A7000, 0xCABAE09052227808
753 .quad   0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81
754
755 .Lk_sb1:
756 .quad   0xB19BE18FCB503E00, 0xA5DF7A6E142AF544
757 .quad   0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF
758 .Lk_sb2:
759 .quad   0xE27A93C60B712400, 0x5EB7E955BC982FCD
760 .quad   0x69EB88400AE12900, 0xC2A163C8AB82234A
761 .Lk_sbo:
762 .quad   0xD0D26D176FBDC700, 0x15AABF7AC502A878
763 .quad   0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA
764
765 .Lk_mc_forward:
766 .quad   0x0407060500030201, 0x0C0F0E0D080B0A09
767 .quad   0x080B0A0904070605, 0x000302010C0F0E0D
768 .quad   0x0C0F0E0D080B0A09, 0x0407060500030201
769 .quad   0x000302010C0F0E0D, 0x080B0A0904070605
770
771 .Lk_mc_backward:
772 .quad   0x0605040702010003, 0x0E0D0C0F0A09080B
773 .quad   0x020100030E0D0C0F, 0x0A09080B06050407
774 .quad   0x0E0D0C0F0A09080B, 0x0605040702010003
775 .quad   0x0A09080B06050407, 0x020100030E0D0C0F
776
777 .Lk_sr:
778 .quad   0x0706050403020100, 0x0F0E0D0C0B0A0908
779 .quad   0x030E09040F0A0500, 0x0B06010C07020D08
780 .quad   0x0F060D040B020900, 0x070E050C030A0108
781 .quad   0x0B0E0104070A0D00, 0x0306090C0F020508
782
783 .Lk_rcon:
784 .quad   0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81
785
786 .Lk_s63:
787 .quad   0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B
788
789 .Lk_opt:
790 .quad   0xFF9F4929D6B66000, 0xF7974121DEBE6808
791 .quad   0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0
792
793 .Lk_deskew:
794 .quad   0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A
795 .quad   0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77
796
797
798
799
800
801 .Lk_dksd:
802 .quad   0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9
803 .quad   0x41C277F4B5368300, 0x5FDC69EAAB289D1E
804 .Lk_dksb:
805 .quad   0x9A4FCA1F8550D500, 0x03D653861CC94C99
806 .quad   0x115BEDA7B6FC4A00, 0xD993256F7E3482C8
807 .Lk_dkse:
808 .quad   0xD5031CCA1FC9D600, 0x53859A4C994F5086
809 .quad   0xA23196054FDC7BE8, 0xCD5EF96A20B31487
810 .Lk_dks9:
811 .quad   0xB6116FC87ED9A700, 0x4AED933482255BFC
812 .quad   0x4576516227143300, 0x8BB89FACE9DAFDCE
813
814
815
816
817
818 .Lk_dipt:
819 .quad   0x0F505B040B545F00, 0x154A411E114E451A
820 .quad   0x86E383E660056500, 0x12771772F491F194
821
822 .Lk_dsb9:
823 .quad   0x851C03539A86D600, 0xCAD51F504F994CC9
824 .quad   0xC03B1789ECD74900, 0x725E2C9EB2FBA565
825 .Lk_dsbd:
826 .quad   0x7D57CCDFE6B1A200, 0xF56E9B13882A4439
827 .quad   0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3
828 .Lk_dsbb:
829 .quad   0xD022649296B44200, 0x602646F6B0F2D404
830 .quad   0xC19498A6CD596700, 0xF3FF0C3E3255AA6B
831 .Lk_dsbe:
832 .quad   0x46F2929626D4D000, 0x2242600464B4F6B0
833 .quad   0x0C55A6CDFFAAC100, 0x9467F36B98593E32
834 .Lk_dsbo:
835 .quad   0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
836 .quad   0x12D7560F93441D00, 0xCA4B8159D8C58E9C
837 .byte   86,101,99,116,111,114,32,80,101,114,109,117,116,97,105,111,110,32,65,69,83,32,102,111,114,32,120,56,54,95,54,52,47,83,83,83,69,51,44,32,77,105,107,101,32,72,97,109,98,117,114,103,32,40,83,116,97,110,102,111,114,100,32,85,110,105,118,101,114,115,105,116,121,41,0
838 .align  64
839 .size   _vpaes_consts,.-_vpaes_consts
840
841 .section .note.GNU-stack,"",%progbits