2 /* Do not modify. This file is auto-generated from vpaes-x86_64.pl. */
20 .type _vpaes_encrypt_core,@function
28 movdqa .Lk_ipt(%rip),%xmm2
34 movdqa .Lk_ipt+16(%rip),%xmm0
39 leaq .Lk_mc_backward(%rip),%r10
52 movdqa -64(%r11,%r10,1),%xmm1
54 movdqa (%r11,%r10,1),%xmm4
95 movdqa -96(%r10),%xmm4
96 movdqa -80(%r10),%xmm0
100 movdqa 64(%r11,%r10,1),%xmm1
102 .byte 102,15,56,0,193
105 .size _vpaes_encrypt_core,.-_vpaes_encrypt_core
112 .type _vpaes_decrypt_core,@function
119 movdqa .Lk_dipt(%rip),%xmm2
126 .byte 102,15,56,0,208
127 movdqa .Lk_dipt+16(%rip),%xmm0
129 leaq .Lk_dsbd(%rip),%r10
130 .byte 102,15,56,0,193
133 movdqa .Lk_mc_forward+48(%rip),%xmm5
144 movdqa -32(%r10),%xmm4
145 movdqa -16(%r10),%xmm1
146 .byte 102,15,56,0,226
147 .byte 102,15,56,0,203
151 movdqa 16(%r10),%xmm1
153 .byte 102,15,56,0,226
154 .byte 102,15,56,0,197
155 .byte 102,15,56,0,203
157 movdqa 32(%r10),%xmm4
159 movdqa 48(%r10),%xmm1
161 .byte 102,15,56,0,226
162 .byte 102,15,56,0,197
163 .byte 102,15,56,0,203
165 movdqa 64(%r10),%xmm4
167 movdqa 80(%r10),%xmm1
169 .byte 102,15,56,0,226
170 .byte 102,15,56,0,197
171 .byte 102,15,56,0,203
174 .byte 102,15,58,15,237,12
185 .byte 102,15,56,0,208
188 .byte 102,15,56,0,217
191 .byte 102,15,56,0,224
194 .byte 102,15,56,0,211
197 .byte 102,15,56,0,220
203 movdqa 96(%r10),%xmm4
204 .byte 102,15,56,0,226
206 movdqa 112(%r10),%xmm0
207 movdqa -352(%r11),%xmm2
208 .byte 102,15,56,0,195
210 .byte 102,15,56,0,194
213 .size _vpaes_decrypt_core,.-_vpaes_decrypt_core
220 .type _vpaes_schedule_core,@function
222 _vpaes_schedule_core:
230 movdqa .Lk_rcon(%rip),%xmm8
235 leaq .Lk_ipt(%rip),%r11
236 call _vpaes_schedule_transform
239 leaq .Lk_sr(%rip),%r10
241 jnz .Lschedule_am_decrypting
247 .Lschedule_am_decrypting:
249 movdqa (%r8,%r10,1),%xmm1
250 .byte 102,15,56,0,217
272 call _vpaes_schedule_round
274 jz .Lschedule_mangle_last
275 call _vpaes_schedule_mangle
276 jmp .Loop_schedule_128
296 call _vpaes_schedule_transform
303 call _vpaes_schedule_round
304 .byte 102,15,58,15,198,8
305 call _vpaes_schedule_mangle
306 call _vpaes_schedule_192_smear
307 call _vpaes_schedule_mangle
308 call _vpaes_schedule_round
310 jz .Lschedule_mangle_last
311 call _vpaes_schedule_mangle
312 call _vpaes_schedule_192_smear
313 jmp .Loop_schedule_192
327 movdqu 16(%rdi),%xmm0
328 call _vpaes_schedule_transform
332 call _vpaes_schedule_mangle
336 call _vpaes_schedule_round
338 jz .Lschedule_mangle_last
339 call _vpaes_schedule_mangle
342 pshufd $0xFF,%xmm0,%xmm0
345 call _vpaes_schedule_low_round
348 jmp .Loop_schedule_256
362 .Lschedule_mangle_last:
364 leaq .Lk_deskew(%rip),%r11
366 jnz .Lschedule_mangle_last_dec
369 movdqa (%r8,%r10,1),%xmm1
370 .byte 102,15,56,0,193
371 leaq .Lk_opt(%rip),%r11
374 .Lschedule_mangle_last_dec:
376 pxor .Lk_s63(%rip),%xmm0
377 call _vpaes_schedule_transform
391 .size _vpaes_schedule_core,.-_vpaes_schedule_core
407 .type _vpaes_schedule_192_smear,@function
409 _vpaes_schedule_192_smear:
411 pshufd $0x80,%xmm6,%xmm1
412 pshufd $0xFE,%xmm7,%xmm0
420 .size _vpaes_schedule_192_smear,.-_vpaes_schedule_192_smear
440 .type _vpaes_schedule_round,@function
442 _vpaes_schedule_round:
446 .byte 102,65,15,58,15,200,15
447 .byte 102,69,15,58,15,192,15
451 pshufd $0xFF,%xmm0,%xmm0
452 .byte 102,15,58,15,192,1
457 _vpaes_schedule_low_round:
465 pxor .Lk_s63(%rip),%xmm7
473 .byte 102,15,56,0,208
476 .byte 102,15,56,0,217
479 .byte 102,15,56,0,224
482 .byte 102,15,56,0,211
485 .byte 102,15,56,0,220
488 .byte 102,15,56,0,226
490 .byte 102,15,56,0,195
498 .size _vpaes_schedule_round,.-_vpaes_schedule_round
509 .type _vpaes_schedule_transform,@function
511 _vpaes_schedule_transform:
518 .byte 102,15,56,0,208
519 movdqa 16(%r11),%xmm0
520 .byte 102,15,56,0,193
524 .size _vpaes_schedule_transform,.-_vpaes_schedule_transform
549 .type _vpaes_schedule_mangle,@function
551 _vpaes_schedule_mangle:
554 movdqa .Lk_mc_forward(%rip),%xmm5
556 jnz .Lschedule_mangle_dec
560 pxor .Lk_s63(%rip),%xmm4
561 .byte 102,15,56,0,229
563 .byte 102,15,56,0,229
565 .byte 102,15,56,0,229
568 jmp .Lschedule_mangle_both
570 .Lschedule_mangle_dec:
572 leaq .Lk_dksd(%rip),%r11
579 .byte 102,15,56,0,212
580 movdqa 16(%r11),%xmm3
581 .byte 102,15,56,0,217
583 .byte 102,15,56,0,221
585 movdqa 32(%r11),%xmm2
586 .byte 102,15,56,0,212
588 movdqa 48(%r11),%xmm3
589 .byte 102,15,56,0,217
591 .byte 102,15,56,0,221
593 movdqa 64(%r11),%xmm2
594 .byte 102,15,56,0,212
596 movdqa 80(%r11),%xmm3
597 .byte 102,15,56,0,217
599 .byte 102,15,56,0,221
601 movdqa 96(%r11),%xmm2
602 .byte 102,15,56,0,212
604 movdqa 112(%r11),%xmm3
605 .byte 102,15,56,0,217
610 .Lschedule_mangle_both:
611 movdqa (%r8,%r10,1),%xmm1
612 .byte 102,15,56,0,217
618 .size _vpaes_schedule_mangle,.-_vpaes_schedule_mangle
623 .globl vpaes_set_encrypt_key
624 .type vpaes_set_encrypt_key,@function
626 vpaes_set_encrypt_key:
635 call _vpaes_schedule_core
639 .size vpaes_set_encrypt_key,.-vpaes_set_encrypt_key
641 .globl vpaes_set_decrypt_key
642 .type vpaes_set_decrypt_key,@function
644 vpaes_set_decrypt_key:
651 leaq 16(%rdx,%rax,1),%rdx
658 call _vpaes_schedule_core
662 .size vpaes_set_decrypt_key,.-vpaes_set_decrypt_key
665 .type vpaes_encrypt,@function
671 call _vpaes_encrypt_core
675 .size vpaes_encrypt,.-vpaes_encrypt
678 .type vpaes_decrypt,@function
684 call _vpaes_decrypt_core
688 .size vpaes_decrypt,.-vpaes_decrypt
689 .globl vpaes_cbc_encrypt
690 .type vpaes_cbc_encrypt,@function
707 call _vpaes_encrypt_core
709 movdqu %xmm0,(%rsi,%rdi,1)
718 call _vpaes_decrypt_core
721 movdqu %xmm0,(%rsi,%rdi,1)
730 .size vpaes_cbc_encrypt,.-vpaes_cbc_encrypt
737 .type _vpaes_preheat,@function
741 leaq .Lk_s0F(%rip),%r10
742 movdqa -32(%r10),%xmm10
743 movdqa -16(%r10),%xmm11
745 movdqa 48(%r10),%xmm13
746 movdqa 64(%r10),%xmm12
747 movdqa 80(%r10),%xmm15
748 movdqa 96(%r10),%xmm14
751 .size _vpaes_preheat,.-_vpaes_preheat
757 .type _vpaes_consts,@object
761 .quad 0x0E05060F0D080180, 0x040703090A0B0C02
762 .quad 0x01040A060F0B0780, 0x030D0E0C02050809
765 .quad 0x0F0F0F0F0F0F0F0F, 0x0F0F0F0F0F0F0F0F
768 .quad 0xC2B2E8985A2A7000, 0xCABAE09052227808
769 .quad 0x4C01307D317C4D00, 0xCD80B1FCB0FDCC81
772 .quad 0xB19BE18FCB503E00, 0xA5DF7A6E142AF544
773 .quad 0x3618D415FAE22300, 0x3BF7CCC10D2ED9EF
775 .quad 0xE27A93C60B712400, 0x5EB7E955BC982FCD
776 .quad 0x69EB88400AE12900, 0xC2A163C8AB82234A
778 .quad 0xD0D26D176FBDC700, 0x15AABF7AC502A878
779 .quad 0xCFE474A55FBB6A00, 0x8E1E90D1412B35FA
782 .quad 0x0407060500030201, 0x0C0F0E0D080B0A09
783 .quad 0x080B0A0904070605, 0x000302010C0F0E0D
784 .quad 0x0C0F0E0D080B0A09, 0x0407060500030201
785 .quad 0x000302010C0F0E0D, 0x080B0A0904070605
788 .quad 0x0605040702010003, 0x0E0D0C0F0A09080B
789 .quad 0x020100030E0D0C0F, 0x0A09080B06050407
790 .quad 0x0E0D0C0F0A09080B, 0x0605040702010003
791 .quad 0x0A09080B06050407, 0x020100030E0D0C0F
794 .quad 0x0706050403020100, 0x0F0E0D0C0B0A0908
795 .quad 0x030E09040F0A0500, 0x0B06010C07020D08
796 .quad 0x0F060D040B020900, 0x070E050C030A0108
797 .quad 0x0B0E0104070A0D00, 0x0306090C0F020508
800 .quad 0x1F8391B9AF9DEEB6, 0x702A98084D7C7D81
803 .quad 0x5B5B5B5B5B5B5B5B, 0x5B5B5B5B5B5B5B5B
806 .quad 0xFF9F4929D6B66000, 0xF7974121DEBE6808
807 .quad 0x01EDBD5150BCEC00, 0xE10D5DB1B05C0CE0
810 .quad 0x07E4A34047A4E300, 0x1DFEB95A5DBEF91A
811 .quad 0x5F36B5DC83EA6900, 0x2841C2ABF49D1E77
818 .quad 0xFEB91A5DA3E44700, 0x0740E3A45A1DBEF9
819 .quad 0x41C277F4B5368300, 0x5FDC69EAAB289D1E
821 .quad 0x9A4FCA1F8550D500, 0x03D653861CC94C99
822 .quad 0x115BEDA7B6FC4A00, 0xD993256F7E3482C8
824 .quad 0xD5031CCA1FC9D600, 0x53859A4C994F5086
825 .quad 0xA23196054FDC7BE8, 0xCD5EF96A20B31487
827 .quad 0xB6116FC87ED9A700, 0x4AED933482255BFC
828 .quad 0x4576516227143300, 0x8BB89FACE9DAFDCE
835 .quad 0x0F505B040B545F00, 0x154A411E114E451A
836 .quad 0x86E383E660056500, 0x12771772F491F194
839 .quad 0x851C03539A86D600, 0xCAD51F504F994CC9
840 .quad 0xC03B1789ECD74900, 0x725E2C9EB2FBA565
842 .quad 0x7D57CCDFE6B1A200, 0xF56E9B13882A4439
843 .quad 0x3CE2FAF724C6CB00, 0x2931180D15DEEFD3
845 .quad 0xD022649296B44200, 0x602646F6B0F2D404
846 .quad 0xC19498A6CD596700, 0xF3FF0C3E3255AA6B
848 .quad 0x46F2929626D4D000, 0x2242600464B4F6B0
849 .quad 0x0C55A6CDFFAAC100, 0x9467F36B98593E32
851 .quad 0x1387EA537EF94000, 0xC7AA6DB9D4943E2D
852 .quad 0x12D7560F93441D00, 0xCA4B8159D8C58E9C
853 .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
855 .size _vpaes_consts,.-_vpaes_consts