18 .type _vpaes_encrypt_core,@function
25 movdqa .Lk_ipt(%rip),%xmm2
31 movdqa .Lk_ipt+16(%rip),%xmm0
36 leaq .Lk_mc_backward(%rip),%r10
49 movdqa -64(%r11,%r10,1),%xmm1
51 movdqa (%r11,%r10,1),%xmm4
92 movdqa -96(%r10),%xmm4
93 movdqa -80(%r10),%xmm0
97 movdqa 64(%r11,%r10,1),%xmm1
101 .size _vpaes_encrypt_core,.-_vpaes_encrypt_core
108 .type _vpaes_decrypt_core,@function
114 movdqa .Lk_dipt(%rip),%xmm2
121 .byte 102,15,56,0,208
122 movdqa .Lk_dipt+16(%rip),%xmm0
124 leaq .Lk_dsbd(%rip),%r10
125 .byte 102,15,56,0,193
128 movdqa .Lk_mc_forward+48(%rip),%xmm5
139 movdqa -32(%r10),%xmm4
140 movdqa -16(%r10),%xmm1
141 .byte 102,15,56,0,226
142 .byte 102,15,56,0,203
146 movdqa 16(%r10),%xmm1
148 .byte 102,15,56,0,226
149 .byte 102,15,56,0,197
150 .byte 102,15,56,0,203
152 movdqa 32(%r10),%xmm4
154 movdqa 48(%r10),%xmm1
156 .byte 102,15,56,0,226
157 .byte 102,15,56,0,197
158 .byte 102,15,56,0,203
160 movdqa 64(%r10),%xmm4
162 movdqa 80(%r10),%xmm1
164 .byte 102,15,56,0,226
165 .byte 102,15,56,0,197
166 .byte 102,15,56,0,203
169 .byte 102,15,58,15,237,12
180 .byte 102,15,56,0,208
183 .byte 102,15,56,0,217
186 .byte 102,15,56,0,224
189 .byte 102,15,56,0,211
192 .byte 102,15,56,0,220
198 movdqa 96(%r10),%xmm4
199 .byte 102,15,56,0,226
201 movdqa 112(%r10),%xmm0
202 movdqa -352(%r11),%xmm2
203 .byte 102,15,56,0,195
205 .byte 102,15,56,0,194
207 .size _vpaes_decrypt_core,.-_vpaes_decrypt_core
214 .type _vpaes_schedule_core,@function
216 _vpaes_schedule_core:
223 movdqa .Lk_rcon(%rip),%xmm8
228 leaq .Lk_ipt(%rip),%r11
229 call _vpaes_schedule_transform
232 leaq .Lk_sr(%rip),%r10
234 jnz .Lschedule_am_decrypting
240 .Lschedule_am_decrypting:
242 movdqa (%r8,%r10,1),%xmm1
243 .byte 102,15,56,0,217
265 call _vpaes_schedule_round
267 jz .Lschedule_mangle_last
268 call _vpaes_schedule_mangle
269 jmp .Loop_schedule_128
289 call _vpaes_schedule_transform
296 call _vpaes_schedule_round
297 .byte 102,15,58,15,198,8
298 call _vpaes_schedule_mangle
299 call _vpaes_schedule_192_smear
300 call _vpaes_schedule_mangle
301 call _vpaes_schedule_round
303 jz .Lschedule_mangle_last
304 call _vpaes_schedule_mangle
305 call _vpaes_schedule_192_smear
306 jmp .Loop_schedule_192
320 movdqu 16(%rdi),%xmm0
321 call _vpaes_schedule_transform
325 call _vpaes_schedule_mangle
329 call _vpaes_schedule_round
331 jz .Lschedule_mangle_last
332 call _vpaes_schedule_mangle
335 pshufd $0xFF,%xmm0,%xmm0
338 call _vpaes_schedule_low_round
341 jmp .Loop_schedule_256
355 .Lschedule_mangle_last:
357 leaq .Lk_deskew(%rip),%r11
359 jnz .Lschedule_mangle_last_dec
362 movdqa (%r8,%r10,1),%xmm1
363 .byte 102,15,56,0,193
364 leaq .Lk_opt(%rip),%r11
367 .Lschedule_mangle_last_dec:
369 pxor .Lk_s63(%rip),%xmm0
370 call _vpaes_schedule_transform
383 .size _vpaes_schedule_core,.-_vpaes_schedule_core
399 .type _vpaes_schedule_192_smear,@function
401 _vpaes_schedule_192_smear:
402 pshufd $0x80,%xmm6,%xmm1
403 pshufd $0xFE,%xmm7,%xmm0
410 .size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
430 .type _vpaes_schedule_round,@function
432 _vpaes_schedule_round:
435 .byte 102,65,15,58,15,200,15
436 .byte 102,69,15,58,15,192,15
440 pshufd $0xFF,%xmm0,%xmm0
441 .byte 102,15,58,15,192,1
446 _vpaes_schedule_low_round:
454 pxor .Lk_s63(%rip),%xmm7
462 .byte 102,15,56,0,208
465 .byte 102,15,56,0,217
468 .byte 102,15,56,0,224
471 .byte 102,15,56,0,211
474 .byte 102,15,56,0,220
477 .byte 102,15,56,0,226
479 .byte 102,15,56,0,195
486 .size _vpaes_schedule_round,.-_vpaes_schedule_round
497 .type _vpaes_schedule_transform,@function
499 _vpaes_schedule_transform:
505 .byte 102,15,56,0,208
506 movdqa 16(%r11),%xmm0
507 .byte 102,15,56,0,193
510 .size _vpaes_schedule_transform,.-_vpaes_schedule_transform
535 .type _vpaes_schedule_mangle,@function
537 _vpaes_schedule_mangle:
539 movdqa .Lk_mc_forward(%rip),%xmm5
541 jnz .Lschedule_mangle_dec
545 pxor .Lk_s63(%rip),%xmm4
546 .byte 102,15,56,0,229
548 .byte 102,15,56,0,229
550 .byte 102,15,56,0,229
553 jmp .Lschedule_mangle_both
555 .Lschedule_mangle_dec:
557 leaq .Lk_dksd(%rip),%r11
564 .byte 102,15,56,0,212
565 movdqa 16(%r11),%xmm3
566 .byte 102,15,56,0,217
568 .byte 102,15,56,0,221
570 movdqa 32(%r11),%xmm2
571 .byte 102,15,56,0,212
573 movdqa 48(%r11),%xmm3
574 .byte 102,15,56,0,217
576 .byte 102,15,56,0,221
578 movdqa 64(%r11),%xmm2
579 .byte 102,15,56,0,212
581 movdqa 80(%r11),%xmm3
582 .byte 102,15,56,0,217
584 .byte 102,15,56,0,221
586 movdqa 96(%r11),%xmm2
587 .byte 102,15,56,0,212
589 movdqa 112(%r11),%xmm3
590 .byte 102,15,56,0,217
595 .Lschedule_mangle_both:
596 movdqa (%r8,%r10,1),%xmm1
597 .byte 102,15,56,0,217
602 .size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
607 .globl vpaes_set_encrypt_key
608 .type vpaes_set_encrypt_key,@function
610 vpaes_set_encrypt_key:
618 call _vpaes_schedule_core
621 .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key
623 .globl vpaes_set_decrypt_key
624 .type vpaes_set_decrypt_key,@function
626 vpaes_set_decrypt_key:
632 leaq 16(%rdx,%rax,1),%rdx
639 call _vpaes_schedule_core
642 .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key
645 .type vpaes_encrypt,@function
650 call _vpaes_encrypt_core
653 .size vpaes_encrypt,.-vpaes_encrypt
656 .type vpaes_decrypt,@function
661 call _vpaes_decrypt_core
664 .size vpaes_decrypt,.-vpaes_decrypt
665 .globl vpaes_cbc_encrypt
666 .type vpaes_cbc_encrypt,@function
682 call _vpaes_encrypt_core
684 movdqu %xmm0,(%rsi,%rdi,1)
693 call _vpaes_decrypt_core
696 movdqu %xmm0,(%rsi,%rdi,1)
704 .size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt
711 .type _vpaes_preheat,@function
714 leaq .Lk_s0F(%rip),%r10
715 movdqa -32(%r10),%xmm10
716 movdqa -16(%r10),%xmm11
718 movdqa 48(%r10),%xmm13
719 movdqa 64(%r10),%xmm12
720 movdqa 80(%r10),%xmm15
721 movdqa 96(%r10),%xmm14
723 .size _vpaes_preheat,.-_vpaes_preheat
729 .type _vpaes_consts,@object
733 .quad 0x0E05060F0D080180, 0x040703090A0B0C02
734 .quad 0x01040A060F0B0780, 0x030D0E0C02050809
737 .quad 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F
740 .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808
741 .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81
744 .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544
745 .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF
747 .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD
748 .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A
750 .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878
751 .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA
754 .quad 0x0407060500030201, 0x0C0F0E0D080B0A09
755 .quad 0x080B0A0904070605, 0x000302010C0F0E0D
756 .quad 0x0C0F0E0D080B0A09, 0x0407060500030201
757 .quad 0x000302010C0F0E0D, 0x080B0A0904070605
760 .quad 0x0605040702010003, 0x0E0D0C0F0A09080B
761 .quad 0x020100030E0D0C0F, 0x0A09080B06050407
762 .quad 0x0E0D0C0F0A09080B, 0x0605040702010003
763 .quad 0x0A09080B06050407, 0x020100030E0D0C0F
766 .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908
767 .quad 0x030E09040F0A0500, 0x0B06010C07020D08
768 .quad 0x0F060D040B020900, 0x070E050C030A0108
769 .quad 0x0B0E0104070A0D00, 0x0306090C0F020508
772 .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81
775 .quad 0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B
778 .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808
779 .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0
782 .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A
783 .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77
790 .quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9
791 .quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E
793 .quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99
794 .quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8
796 .quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086
797 .quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487
799 .quad 0xB6116FC87ED9A700, 0x4AED933482255BFC
800 .quad 0x4576516227143300, 0x8BB89FACE9DAFDCE
807 .quad 0x0F505B040B545F00, 0x154A411E114E451A
808 .quad 0x86E383E660056500, 0x12771772F491F194
811 .quad 0x851C03539A86D600, 0xCAD51F504F994CC9
812 .quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565
814 .quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439
815 .quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3
817 .quad 0xD022649296B44200, 0x602646F6B0F2D404
818 .quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B
820 .quad 0x46F2929626D4D000, 0x2242600464B4F6B0
821 .quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32
823 .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
824 .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C
825 .byte 86,101,99,116,111,114,32,80,101,114,109,117,116,97,116,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
827 .size _vpaes_consts,.-_vpaes_consts
828 .section .note.GNU-stack,"",%progbits