2 # Do not modify. This file is auto-generated from vpaes-x86_64.pl.
20 .type _vpaes_encrypt_core,@function
27 movdqa .Lk_ipt(%rip),%xmm2
33 movdqa .Lk_ipt+16(%rip),%xmm0
38 leaq .Lk_mc_backward(%rip),%r10
52 movdqa -64(%r11,%r10,1),%xmm1
56 movdqa (%r11,%r10,1),%xmm4
94 movdqa -96(%r10),%xmm4
95 movdqa -80(%r10),%xmm0
99 movdqa 64(%r11,%r10,1),%xmm1
101 .byte 102,15,56,0,193
103 .size _vpaes_encrypt_core,.-_vpaes_encrypt_core
110 .type _vpaes_decrypt_core,@function
116 movdqa .Lk_dipt(%rip),%xmm2
123 .byte 102,15,56,0,208
124 movdqa .Lk_dipt+16(%rip),%xmm0
126 leaq .Lk_dsbd(%rip),%r10
127 .byte 102,15,56,0,193
130 movdqa .Lk_mc_forward+48(%rip),%xmm5
141 movdqa -32(%r10),%xmm4
142 .byte 102,15,56,0,226
144 movdqa -16(%r10),%xmm0
145 .byte 102,15,56,0,195
149 .byte 102,15,56,0,197
151 .byte 102,15,56,0,226
153 movdqa 16(%r10),%xmm0
154 .byte 102,15,56,0,195
158 .byte 102,15,56,0,197
159 movdqa 32(%r10),%xmm4
160 .byte 102,15,56,0,226
162 movdqa 48(%r10),%xmm0
163 .byte 102,15,56,0,195
166 .byte 102,15,56,0,197
167 movdqa 64(%r10),%xmm4
168 .byte 102,15,56,0,226
170 movdqa 80(%r10),%xmm0
171 .byte 102,15,56,0,195
174 .byte 102,15,58,15,237,12
183 .byte 102,15,56,0,208
186 .byte 102,15,56,0,217
189 .byte 102,15,56,0,224
192 .byte 102,15,56,0,211
195 .byte 102,15,56,0,220
201 movdqa 96(%r10),%xmm4
202 .byte 102,15,56,0,226
204 movdqa 112(%r10),%xmm0
205 movdqa -352(%r11),%xmm2
206 .byte 102,15,56,0,195
208 .byte 102,15,56,0,194
210 .size _vpaes_decrypt_core,.-_vpaes_decrypt_core
217 .type _vpaes_schedule_core,@function
219 _vpaes_schedule_core:
226 movdqa .Lk_rcon(%rip),%xmm8
231 leaq .Lk_ipt(%rip),%r11
232 call _vpaes_schedule_transform
235 leaq .Lk_sr(%rip),%r10
237 jnz .Lschedule_am_decrypting
243 .Lschedule_am_decrypting:
245 movdqa (%r8,%r10,1),%xmm1
246 .byte 102,15,56,0,217
268 call _vpaes_schedule_round
270 jz .Lschedule_mangle_last
271 call _vpaes_schedule_mangle
272 jmp .Loop_schedule_128
292 call _vpaes_schedule_transform
299 call _vpaes_schedule_round
300 .byte 102,15,58,15,198,8
301 call _vpaes_schedule_mangle
302 call _vpaes_schedule_192_smear
303 call _vpaes_schedule_mangle
304 call _vpaes_schedule_round
306 jz .Lschedule_mangle_last
307 call _vpaes_schedule_mangle
308 call _vpaes_schedule_192_smear
309 jmp .Loop_schedule_192
323 movdqu 16(%rdi),%xmm0
324 call _vpaes_schedule_transform
328 call _vpaes_schedule_mangle
332 call _vpaes_schedule_round
334 jz .Lschedule_mangle_last
335 call _vpaes_schedule_mangle
338 pshufd $255,%xmm0,%xmm0
341 call _vpaes_schedule_low_round
344 jmp .Loop_schedule_256
358 .Lschedule_mangle_last:
360 leaq .Lk_deskew(%rip),%r11
362 jnz .Lschedule_mangle_last_dec
365 movdqa (%r8,%r10,1),%xmm1
366 .byte 102,15,56,0,193
367 leaq .Lk_opt(%rip),%r11
370 .Lschedule_mangle_last_dec:
372 pxor .Lk_s63(%rip),%xmm0
373 call _vpaes_schedule_transform
386 .size _vpaes_schedule_core,.-_vpaes_schedule_core
402 .type _vpaes_schedule_192_smear,@function
404 _vpaes_schedule_192_smear:
405 pshufd $128,%xmm6,%xmm0
407 pshufd $254,%xmm7,%xmm0
413 .size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
433 .type _vpaes_schedule_round,@function
435 _vpaes_schedule_round:
438 .byte 102,65,15,58,15,200,15
439 .byte 102,69,15,58,15,192,15
443 pshufd $255,%xmm0,%xmm0
444 .byte 102,15,58,15,192,1
449 _vpaes_schedule_low_round:
457 pxor .Lk_s63(%rip),%xmm7
465 .byte 102,15,56,0,208
468 .byte 102,15,56,0,217
471 .byte 102,15,56,0,224
474 .byte 102,15,56,0,211
477 .byte 102,15,56,0,220
480 .byte 102,15,56,0,226
482 .byte 102,15,56,0,195
489 .size _vpaes_schedule_round,.-_vpaes_schedule_round
500 .type _vpaes_schedule_transform,@function
502 _vpaes_schedule_transform:
508 .byte 102,15,56,0,208
509 movdqa 16(%r11),%xmm0
510 .byte 102,15,56,0,193
513 .size _vpaes_schedule_transform,.-_vpaes_schedule_transform
538 .type _vpaes_schedule_mangle,@function
540 _vpaes_schedule_mangle:
542 movdqa .Lk_mc_forward(%rip),%xmm5
544 jnz .Lschedule_mangle_dec
548 pxor .Lk_s63(%rip),%xmm4
549 .byte 102,15,56,0,229
551 .byte 102,15,56,0,229
553 .byte 102,15,56,0,229
556 jmp .Lschedule_mangle_both
558 .Lschedule_mangle_dec:
560 leaq .Lk_dksd(%rip),%r11
567 .byte 102,15,56,0,212
568 movdqa 16(%r11),%xmm3
569 .byte 102,15,56,0,217
571 .byte 102,15,56,0,221
573 movdqa 32(%r11),%xmm2
574 .byte 102,15,56,0,212
576 movdqa 48(%r11),%xmm3
577 .byte 102,15,56,0,217
579 .byte 102,15,56,0,221
581 movdqa 64(%r11),%xmm2
582 .byte 102,15,56,0,212
584 movdqa 80(%r11),%xmm3
585 .byte 102,15,56,0,217
587 .byte 102,15,56,0,221
589 movdqa 96(%r11),%xmm2
590 .byte 102,15,56,0,212
592 movdqa 112(%r11),%xmm3
593 .byte 102,15,56,0,217
598 .Lschedule_mangle_both:
599 movdqa (%r8,%r10,1),%xmm1
600 .byte 102,15,56,0,217
605 .size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
610 .globl vpaes_set_encrypt_key
611 .type vpaes_set_encrypt_key,@function
613 vpaes_set_encrypt_key:
621 call _vpaes_schedule_core
624 .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key
626 .globl vpaes_set_decrypt_key
627 .type vpaes_set_decrypt_key,@function
629 vpaes_set_decrypt_key:
635 leaq 16(%rdx,%rax,1),%rdx
642 call _vpaes_schedule_core
645 .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key
648 .type vpaes_encrypt,@function
653 call _vpaes_encrypt_core
656 .size vpaes_encrypt,.-vpaes_encrypt
659 .type vpaes_decrypt,@function
664 call _vpaes_decrypt_core
667 .size vpaes_decrypt,.-vpaes_decrypt
668 .globl vpaes_cbc_encrypt
669 .type vpaes_cbc_encrypt,@function
685 call _vpaes_encrypt_core
687 movdqu %xmm0,(%rsi,%rdi,1)
696 call _vpaes_decrypt_core
699 movdqu %xmm0,(%rsi,%rdi,1)
707 .size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt
714 .type _vpaes_preheat,@function
717 leaq .Lk_s0F(%rip),%r10
718 movdqa -32(%r10),%xmm10
719 movdqa -16(%r10),%xmm11
721 movdqa 48(%r10),%xmm13
722 movdqa 64(%r10),%xmm12
723 movdqa 80(%r10),%xmm15
724 movdqa 96(%r10),%xmm14
726 .size _vpaes_preheat,.-_vpaes_preheat
732 .type _vpaes_consts,@object
736 .quad 0x0E05060F0D080180, 0x040703090A0B0C02
737 .quad 0x01040A060F0B0780, 0x030D0E0C02050809
740 .quad 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F
743 .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808
744 .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81
747 .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544
748 .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF
750 .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD
751 .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A
753 .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878
754 .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA
757 .quad 0x0407060500030201, 0x0C0F0E0D080B0A09
758 .quad 0x080B0A0904070605, 0x000302010C0F0E0D
759 .quad 0x0C0F0E0D080B0A09, 0x0407060500030201
760 .quad 0x000302010C0F0E0D, 0x080B0A0904070605
763 .quad 0x0605040702010003, 0x0E0D0C0F0A09080B
764 .quad 0x020100030E0D0C0F, 0x0A09080B06050407
765 .quad 0x0E0D0C0F0A09080B, 0x0605040702010003
766 .quad 0x0A09080B06050407, 0x020100030E0D0C0F
769 .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908
770 .quad 0x030E09040F0A0500, 0x0B06010C07020D08
771 .quad 0x0F060D040B020900, 0x070E050C030A0108
772 .quad 0x0B0E0104070A0D00, 0x0306090C0F020508
775 .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81
778 .quad 0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B
781 .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808
782 .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0
785 .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A
786 .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77
793 .quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9
794 .quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E
796 .quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99
797 .quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8
799 .quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086
800 .quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487
802 .quad 0xB6116FC87ED9A700, 0x4AED933482255BFC
803 .quad 0x4576516227143300, 0x8BB89FACE9DAFDCE
810 .quad 0x0F505B040B545F00, 0x154A411E114E451A
811 .quad 0x86E383E660056500, 0x12771772F491F194
814 .quad 0x851C03539A86D600, 0xCAD51F504F994CC9
815 .quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565
817 .quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439
818 .quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3
820 .quad 0xD022649296B44200, 0x602646F6B0F2D404
821 .quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B
823 .quad 0x46F2929626D4D000, 0x2242600464B4F6B0
824 .quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32
826 .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
827 .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C
828 .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
830 .size _vpaes_consts,.-_vpaes_consts