2 # Copyright (c) 2011-2012, Andy Polyakov <appro@openssl.org>
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
9 # * Redistributions of source code must retain copyright notices,
10 # this list of conditions and the following disclaimer.
12 # * Redistributions in binary form must reproduce the above
13 # copyright notice, this list of conditions and the following
14 # disclaimer in the documentation and/or other materials
15 # provided with the distribution.
17 # * Neither the name of the Andy Polyakov nor the names of its
18 # copyright holder and contributors may be used to endorse or
19 # promote products derived from this software without specific
20 # prior written permission.
22 # ALTERNATIVELY, provided that this notice is retained in full, this
23 # product may be distributed under the terms of the GNU General Public
24 # License (GPL), in which case the provisions of the GPL apply INSTEAD OF
27 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
28 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
29 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
30 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
31 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
32 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
33 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
34 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
35 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
37 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
39 # *** This file is auto-generated ***
54 .byte 102,15,56,220,209
59 .byte 102,15,56,221,209
75 .byte 102,15,56,222,209
80 .byte 102,15,56,223,209
97 .byte 102,15,56,220,209
98 .byte 102,15,56,220,217
100 .byte 102,15,56,220,225
101 movups 16(%rcx),%xmm1
102 .byte 102,15,56,220,208
103 .byte 102,15,56,220,216
105 .byte 102,15,56,220,224
109 .byte 102,15,56,220,209
110 .byte 102,15,56,220,217
111 .byte 102,15,56,220,225
112 .byte 102,15,56,221,208
113 .byte 102,15,56,221,216
114 .byte 102,15,56,221,224
122 movups 16(%rcx),%xmm1
130 .byte 102,15,56,222,209
131 .byte 102,15,56,222,217
133 .byte 102,15,56,222,225
134 movups 16(%rcx),%xmm1
135 .byte 102,15,56,222,208
136 .byte 102,15,56,222,216
138 .byte 102,15,56,222,224
142 .byte 102,15,56,222,209
143 .byte 102,15,56,222,217
144 .byte 102,15,56,222,225
145 .byte 102,15,56,223,208
146 .byte 102,15,56,223,216
147 .byte 102,15,56,223,224
155 movups 16(%rcx),%xmm1
164 .byte 102,15,56,220,209
165 .byte 102,15,56,220,217
167 .byte 102,15,56,220,225
168 .byte 102,15,56,220,233
169 movups 16(%rcx),%xmm1
170 .byte 102,15,56,220,208
171 .byte 102,15,56,220,216
173 .byte 102,15,56,220,224
174 .byte 102,15,56,220,232
178 .byte 102,15,56,220,209
179 .byte 102,15,56,220,217
180 .byte 102,15,56,220,225
181 .byte 102,15,56,220,233
182 .byte 102,15,56,221,208
183 .byte 102,15,56,221,216
184 .byte 102,15,56,221,224
185 .byte 102,15,56,221,232
193 movups 16(%rcx),%xmm1
202 .byte 102,15,56,222,209
203 .byte 102,15,56,222,217
205 .byte 102,15,56,222,225
206 .byte 102,15,56,222,233
207 movups 16(%rcx),%xmm1
208 .byte 102,15,56,222,208
209 .byte 102,15,56,222,216
211 .byte 102,15,56,222,224
212 .byte 102,15,56,222,232
216 .byte 102,15,56,222,209
217 .byte 102,15,56,222,217
218 .byte 102,15,56,222,225
219 .byte 102,15,56,222,233
220 .byte 102,15,56,223,208
221 .byte 102,15,56,223,216
222 .byte 102,15,56,223,224
223 .byte 102,15,56,223,232
231 movups 16(%rcx),%xmm1
235 .byte 102,15,56,220,209
237 .byte 102,15,56,220,217
239 .byte 102,15,56,220,225
241 .byte 102,15,56,220,233
244 .byte 102,15,56,220,241
246 .byte 102,15,56,220,249
247 jmp L$enc_loop6_enter
250 .byte 102,15,56,220,209
251 .byte 102,15,56,220,217
253 .byte 102,15,56,220,225
254 .byte 102,15,56,220,233
255 .byte 102,15,56,220,241
256 .byte 102,15,56,220,249
258 movups 16(%rcx),%xmm1
259 .byte 102,15,56,220,208
260 .byte 102,15,56,220,216
262 .byte 102,15,56,220,224
263 .byte 102,15,56,220,232
264 .byte 102,15,56,220,240
265 .byte 102,15,56,220,248
269 .byte 102,15,56,220,209
270 .byte 102,15,56,220,217
271 .byte 102,15,56,220,225
272 .byte 102,15,56,220,233
273 .byte 102,15,56,220,241
274 .byte 102,15,56,220,249
275 .byte 102,15,56,221,208
276 .byte 102,15,56,221,216
277 .byte 102,15,56,221,224
278 .byte 102,15,56,221,232
279 .byte 102,15,56,221,240
280 .byte 102,15,56,221,248
288 movups 16(%rcx),%xmm1
292 .byte 102,15,56,222,209
294 .byte 102,15,56,222,217
296 .byte 102,15,56,222,225
298 .byte 102,15,56,222,233
301 .byte 102,15,56,222,241
303 .byte 102,15,56,222,249
304 jmp L$dec_loop6_enter
307 .byte 102,15,56,222,209
308 .byte 102,15,56,222,217
310 .byte 102,15,56,222,225
311 .byte 102,15,56,222,233
312 .byte 102,15,56,222,241
313 .byte 102,15,56,222,249
315 movups 16(%rcx),%xmm1
316 .byte 102,15,56,222,208
317 .byte 102,15,56,222,216
319 .byte 102,15,56,222,224
320 .byte 102,15,56,222,232
321 .byte 102,15,56,222,240
322 .byte 102,15,56,222,248
326 .byte 102,15,56,222,209
327 .byte 102,15,56,222,217
328 .byte 102,15,56,222,225
329 .byte 102,15,56,222,233
330 .byte 102,15,56,222,241
331 .byte 102,15,56,222,249
332 .byte 102,15,56,223,208
333 .byte 102,15,56,223,216
334 .byte 102,15,56,223,224
335 .byte 102,15,56,223,232
336 .byte 102,15,56,223,240
337 .byte 102,15,56,223,248
345 movups 16(%rcx),%xmm1
349 .byte 102,15,56,220,209
351 .byte 102,15,56,220,217
353 .byte 102,15,56,220,225
355 .byte 102,15,56,220,233
358 .byte 102,15,56,220,241
360 .byte 102,15,56,220,249
363 .byte 102,68,15,56,220,193
364 .byte 102,68,15,56,220,201
365 movups 16(%rcx),%xmm1
366 jmp L$enc_loop8_enter
369 .byte 102,15,56,220,209
370 .byte 102,15,56,220,217
372 .byte 102,15,56,220,225
373 .byte 102,15,56,220,233
374 .byte 102,15,56,220,241
375 .byte 102,15,56,220,249
376 .byte 102,68,15,56,220,193
377 .byte 102,68,15,56,220,201
378 movups 16(%rcx),%xmm1
380 .byte 102,15,56,220,208
381 .byte 102,15,56,220,216
383 .byte 102,15,56,220,224
384 .byte 102,15,56,220,232
385 .byte 102,15,56,220,240
386 .byte 102,15,56,220,248
387 .byte 102,68,15,56,220,192
388 .byte 102,68,15,56,220,200
392 .byte 102,15,56,220,209
393 .byte 102,15,56,220,217
394 .byte 102,15,56,220,225
395 .byte 102,15,56,220,233
396 .byte 102,15,56,220,241
397 .byte 102,15,56,220,249
398 .byte 102,68,15,56,220,193
399 .byte 102,68,15,56,220,201
400 .byte 102,15,56,221,208
401 .byte 102,15,56,221,216
402 .byte 102,15,56,221,224
403 .byte 102,15,56,221,232
404 .byte 102,15,56,221,240
405 .byte 102,15,56,221,248
406 .byte 102,68,15,56,221,192
407 .byte 102,68,15,56,221,200
415 movups 16(%rcx),%xmm1
419 .byte 102,15,56,222,209
421 .byte 102,15,56,222,217
423 .byte 102,15,56,222,225
425 .byte 102,15,56,222,233
428 .byte 102,15,56,222,241
430 .byte 102,15,56,222,249
433 .byte 102,68,15,56,222,193
434 .byte 102,68,15,56,222,201
435 movups 16(%rcx),%xmm1
436 jmp L$dec_loop8_enter
439 .byte 102,15,56,222,209
440 .byte 102,15,56,222,217
442 .byte 102,15,56,222,225
443 .byte 102,15,56,222,233
444 .byte 102,15,56,222,241
445 .byte 102,15,56,222,249
446 .byte 102,68,15,56,222,193
447 .byte 102,68,15,56,222,201
448 movups 16(%rcx),%xmm1
450 .byte 102,15,56,222,208
451 .byte 102,15,56,222,216
453 .byte 102,15,56,222,224
454 .byte 102,15,56,222,232
455 .byte 102,15,56,222,240
456 .byte 102,15,56,222,248
457 .byte 102,68,15,56,222,192
458 .byte 102,68,15,56,222,200
462 .byte 102,15,56,222,209
463 .byte 102,15,56,222,217
464 .byte 102,15,56,222,225
465 .byte 102,15,56,222,233
466 .byte 102,15,56,222,241
467 .byte 102,15,56,222,249
468 .byte 102,68,15,56,222,193
469 .byte 102,68,15,56,222,201
470 .byte 102,15,56,223,208
471 .byte 102,15,56,223,216
472 .byte 102,15,56,223,224
473 .byte 102,15,56,223,232
474 .byte 102,15,56,223,240
475 .byte 102,15,56,223,248
476 .byte 102,68,15,56,223,192
477 .byte 102,68,15,56,223,200
480 .globl _aesni_ecb_encrypt
498 movdqu 16(%rdi),%xmm3
499 movdqu 32(%rdi),%xmm4
500 movdqu 48(%rdi),%xmm5
501 movdqu 64(%rdi),%xmm6
502 movdqu 80(%rdi),%xmm7
503 movdqu 96(%rdi),%xmm8
504 movdqu 112(%rdi),%xmm9
507 jmp L$ecb_enc_loop8_enter
514 movups %xmm3,16(%rsi)
515 movdqu 16(%rdi),%xmm3
516 movups %xmm4,32(%rsi)
517 movdqu 32(%rdi),%xmm4
518 movups %xmm5,48(%rsi)
519 movdqu 48(%rdi),%xmm5
520 movups %xmm6,64(%rsi)
521 movdqu 64(%rdi),%xmm6
522 movups %xmm7,80(%rsi)
523 movdqu 80(%rdi),%xmm7
524 movups %xmm8,96(%rsi)
525 movdqu 96(%rdi),%xmm8
526 movups %xmm9,112(%rsi)
528 movdqu 112(%rdi),%xmm9
530 L$ecb_enc_loop8_enter:
539 movups %xmm3,16(%rsi)
541 movups %xmm4,32(%rsi)
542 movups %xmm5,48(%rsi)
543 movups %xmm6,64(%rsi)
544 movups %xmm7,80(%rsi)
545 movups %xmm8,96(%rsi)
546 movups %xmm9,112(%rsi)
555 movups 16(%rdi),%xmm3
557 movups 32(%rdi),%xmm4
560 movups 48(%rdi),%xmm5
562 movups 64(%rdi),%xmm6
565 movups 80(%rdi),%xmm7
567 movdqu 96(%rdi),%xmm8
570 movups %xmm3,16(%rsi)
571 movups %xmm4,32(%rsi)
572 movups %xmm5,48(%rsi)
573 movups %xmm6,64(%rsi)
574 movups %xmm7,80(%rsi)
575 movups %xmm8,96(%rsi)
580 movups 16(%rcx),%xmm1
584 .byte 102,15,56,220,209
589 .byte 102,15,56,221,209
597 movups %xmm3,16(%rsi)
603 movups %xmm3,16(%rsi)
604 movups %xmm4,32(%rsi)
610 movups %xmm3,16(%rsi)
611 movups %xmm4,32(%rsi)
612 movups %xmm5,48(%rsi)
619 movups %xmm3,16(%rsi)
620 movups %xmm4,32(%rsi)
621 movups %xmm5,48(%rsi)
622 movups %xmm6,64(%rsi)
628 movups %xmm3,16(%rsi)
629 movups %xmm4,32(%rsi)
630 movups %xmm5,48(%rsi)
631 movups %xmm6,64(%rsi)
632 movups %xmm7,80(%rsi)
641 movdqu 16(%rdi),%xmm3
642 movdqu 32(%rdi),%xmm4
643 movdqu 48(%rdi),%xmm5
644 movdqu 64(%rdi),%xmm6
645 movdqu 80(%rdi),%xmm7
646 movdqu 96(%rdi),%xmm8
647 movdqu 112(%rdi),%xmm9
650 jmp L$ecb_dec_loop8_enter
657 movups %xmm3,16(%rsi)
658 movdqu 16(%rdi),%xmm3
659 movups %xmm4,32(%rsi)
660 movdqu 32(%rdi),%xmm4
661 movups %xmm5,48(%rsi)
662 movdqu 48(%rdi),%xmm5
663 movups %xmm6,64(%rsi)
664 movdqu 64(%rdi),%xmm6
665 movups %xmm7,80(%rsi)
666 movdqu 80(%rdi),%xmm7
667 movups %xmm8,96(%rsi)
668 movdqu 96(%rdi),%xmm8
669 movups %xmm9,112(%rsi)
671 movdqu 112(%rdi),%xmm9
673 L$ecb_dec_loop8_enter:
683 movups %xmm3,16(%rsi)
685 movups %xmm4,32(%rsi)
686 movups %xmm5,48(%rsi)
687 movups %xmm6,64(%rsi)
688 movups %xmm7,80(%rsi)
689 movups %xmm8,96(%rsi)
690 movups %xmm9,112(%rsi)
699 movups 16(%rdi),%xmm3
701 movups 32(%rdi),%xmm4
704 movups 48(%rdi),%xmm5
706 movups 64(%rdi),%xmm6
709 movups 80(%rdi),%xmm7
711 movups 96(%rdi),%xmm8
715 movups %xmm3,16(%rsi)
716 movups %xmm4,32(%rsi)
717 movups %xmm5,48(%rsi)
718 movups %xmm6,64(%rsi)
719 movups %xmm7,80(%rsi)
720 movups %xmm8,96(%rsi)
725 movups 16(%rcx),%xmm1
729 .byte 102,15,56,222,209
734 .byte 102,15,56,223,209
742 movups %xmm3,16(%rsi)
748 movups %xmm3,16(%rsi)
749 movups %xmm4,32(%rsi)
755 movups %xmm3,16(%rsi)
756 movups %xmm4,32(%rsi)
757 movups %xmm5,48(%rsi)
764 movups %xmm3,16(%rsi)
765 movups %xmm4,32(%rsi)
766 movups %xmm5,48(%rsi)
767 movups %xmm6,64(%rsi)
773 movups %xmm3,16(%rsi)
774 movups %xmm4,32(%rsi)
775 movups %xmm5,48(%rsi)
776 movups %xmm6,64(%rsi)
777 movups %xmm7,80(%rsi)
782 .globl _aesni_ccm64_encrypt_blocks
785 _aesni_ccm64_encrypt_blocks:
788 movdqa L$increment64(%rip),%xmm6
789 movdqa L$bswap_mask(%rip),%xmm7
796 .byte 102,68,15,56,0,207
797 jmp L$ccm64_enc_outer
805 movups 16(%r11),%xmm1
812 .byte 102,15,56,220,209
814 .byte 102,15,56,220,217
815 movups 16(%rcx),%xmm1
816 .byte 102,15,56,220,208
818 .byte 102,15,56,220,216
820 jnz L$ccm64_enc2_loop
821 .byte 102,15,56,220,209
822 .byte 102,15,56,220,217
824 .byte 102,15,56,221,208
825 .byte 102,15,56,221,216
833 .byte 102,15,56,0,215
834 jnz L$ccm64_enc_outer
839 .globl _aesni_ccm64_decrypt_blocks
842 _aesni_ccm64_decrypt_blocks:
846 movdqa L$increment64(%rip),%xmm6
847 movdqa L$bswap_mask(%rip),%xmm7
852 .byte 102,68,15,56,0,207
854 movups 16(%rcx),%xmm1
858 .byte 102,15,56,220,209
863 .byte 102,15,56,221,209
867 jmp L$ccm64_dec_outer
875 .byte 102,15,56,0,215
882 movups 16(%r11),%xmm1
890 .byte 102,15,56,220,209
892 .byte 102,15,56,220,217
893 movups 16(%rcx),%xmm1
894 .byte 102,15,56,220,208
896 .byte 102,15,56,220,216
898 jnz L$ccm64_dec2_loop
901 .byte 102,15,56,220,209
902 .byte 102,15,56,220,217
904 .byte 102,15,56,221,208
905 .byte 102,15,56,221,216
906 jmp L$ccm64_dec_outer
912 movups 16(%r11),%xmm1
917 .byte 102,15,56,220,217
922 .byte 102,15,56,221,217
926 .globl _aesni_ctr32_encrypt_blocks
929 _aesni_ctr32_encrypt_blocks:
937 je L$ctr32_one_shortcut
949 movdqa %xmm2,64(%rsp)
950 movdqa %xmm2,80(%rsp)
951 movdqa %xmm2,96(%rsp)
952 movdqa %xmm2,112(%rsp)
962 .byte 102,65,15,58,34,217,3
964 movdqa %xmm3,16(%rsp)
965 .byte 102,65,15,58,34,226,3
968 movdqa %xmm4,32(%rsp)
971 .byte 102,65,15,58,34,233,3
973 movdqa %xmm5,48(%rsp)
975 movl %r10d,64+12(%rsp)
980 movl %r9d,80+12(%rsp)
983 movl %r10d,96+12(%rsp)
986 movl %r9d,112+12(%rsp)
988 movups 16(%rcx),%xmm1
990 movdqa 64(%rsp),%xmm6
991 movdqa 80(%rsp),%xmm7
1003 movdqa 96(%rsp),%xmm8
1004 .byte 102,15,56,220,209
1006 movdqa 112(%rsp),%xmm9
1007 .byte 102,15,56,220,217
1009 movups 32-128(%rcx),%xmm0
1010 .byte 102,15,56,220,225
1012 .byte 102,15,56,220,233
1013 movl %r9d,0+12(%rsp)
1015 .byte 102,15,56,220,241
1016 .byte 102,15,56,220,249
1017 .byte 102,68,15,56,220,193
1018 .byte 102,68,15,56,220,201
1019 movups 48-128(%rcx),%xmm1
1020 .byte 102,15,56,220,208
1021 .byte 102,15,56,220,216
1023 .byte 102,15,56,220,224
1025 .byte 102,15,56,220,232
1026 movl %r9d,16+12(%rsp)
1028 .byte 102,15,56,220,240
1029 .byte 102,15,56,220,248
1030 .byte 102,68,15,56,220,192
1031 .byte 102,68,15,56,220,200
1032 movups 64-128(%rcx),%xmm0
1033 .byte 102,15,56,220,209
1034 .byte 102,15,56,220,217
1036 .byte 102,15,56,220,225
1038 .byte 102,15,56,220,233
1039 movl %r9d,32+12(%rsp)
1041 .byte 102,15,56,220,241
1042 .byte 102,15,56,220,249
1043 .byte 102,68,15,56,220,193
1044 .byte 102,68,15,56,220,201
1045 movups 80-128(%rcx),%xmm1
1046 .byte 102,15,56,220,208
1047 .byte 102,15,56,220,216
1049 .byte 102,15,56,220,224
1051 .byte 102,15,56,220,232
1052 movl %r9d,48+12(%rsp)
1054 .byte 102,15,56,220,240
1055 .byte 102,15,56,220,248
1056 .byte 102,68,15,56,220,192
1057 .byte 102,68,15,56,220,200
1058 movups 96-128(%rcx),%xmm0
1059 .byte 102,15,56,220,209
1060 .byte 102,15,56,220,217
1062 .byte 102,15,56,220,225
1064 .byte 102,15,56,220,233
1065 movl %r9d,64+12(%rsp)
1067 .byte 102,15,56,220,241
1068 .byte 102,15,56,220,249
1069 .byte 102,68,15,56,220,193
1070 .byte 102,68,15,56,220,201
1071 movups 112-128(%rcx),%xmm1
1072 .byte 102,15,56,220,208
1073 .byte 102,15,56,220,216
1075 .byte 102,15,56,220,224
1077 .byte 102,15,56,220,232
1078 movl %r9d,80+12(%rsp)
1080 .byte 102,15,56,220,240
1081 .byte 102,15,56,220,248
1082 .byte 102,68,15,56,220,192
1083 .byte 102,68,15,56,220,200
1084 movups 128-128(%rcx),%xmm0
1085 .byte 102,15,56,220,209
1086 .byte 102,15,56,220,217
1088 .byte 102,15,56,220,225
1090 .byte 102,15,56,220,233
1091 movl %r9d,96+12(%rsp)
1093 .byte 102,15,56,220,241
1094 .byte 102,15,56,220,249
1095 .byte 102,68,15,56,220,193
1096 .byte 102,68,15,56,220,201
1097 movups 144-128(%rcx),%xmm1
1098 .byte 102,15,56,220,208
1099 .byte 102,15,56,220,216
1101 .byte 102,15,56,220,224
1103 .byte 102,15,56,220,232
1104 movl %r9d,112+12(%rsp)
1105 .byte 102,15,56,220,240
1106 .byte 102,15,56,220,248
1107 .byte 102,68,15,56,220,192
1108 movdqu 0(%rdi),%xmm10
1109 .byte 102,68,15,56,220,200
1110 movups 160-128(%rcx),%xmm0
1115 .byte 102,15,56,220,209
1116 .byte 102,15,56,220,217
1117 .byte 102,15,56,220,225
1118 .byte 102,15,56,220,233
1119 .byte 102,15,56,220,241
1120 .byte 102,15,56,220,249
1121 .byte 102,68,15,56,220,193
1122 .byte 102,68,15,56,220,201
1123 movups 176-128(%rcx),%xmm1
1125 .byte 102,15,56,220,208
1126 .byte 102,15,56,220,216
1127 .byte 102,15,56,220,224
1128 .byte 102,15,56,220,232
1129 .byte 102,15,56,220,240
1130 .byte 102,15,56,220,248
1131 .byte 102,68,15,56,220,192
1132 .byte 102,68,15,56,220,200
1133 movups 192-128(%rcx),%xmm0
1136 .byte 102,15,56,220,209
1137 .byte 102,15,56,220,217
1138 .byte 102,15,56,220,225
1139 .byte 102,15,56,220,233
1140 .byte 102,15,56,220,241
1141 .byte 102,15,56,220,249
1142 .byte 102,68,15,56,220,193
1143 .byte 102,68,15,56,220,201
1144 movups 208-128(%rcx),%xmm1
1146 .byte 102,15,56,220,208
1147 .byte 102,15,56,220,216
1148 .byte 102,15,56,220,224
1149 .byte 102,15,56,220,232
1150 .byte 102,15,56,220,240
1151 .byte 102,15,56,220,248
1152 .byte 102,68,15,56,220,192
1153 .byte 102,68,15,56,220,200
1154 movups 224-128(%rcx),%xmm0
1157 movdqu 16(%rdi),%xmm11
1159 movdqu 32(%rdi),%xmm12
1161 movdqu 48(%rdi),%xmm13
1163 movdqu 64(%rdi),%xmm14
1165 movdqu 80(%rdi),%xmm15
1167 .byte 102,15,56,220,209
1169 .byte 102,15,56,220,217
1170 .byte 102,15,56,220,225
1171 .byte 102,15,56,220,233
1172 .byte 102,15,56,220,241
1173 .byte 102,15,56,220,249
1174 .byte 102,68,15,56,220,193
1175 .byte 102,68,15,56,220,201
1176 movdqu 96(%rdi),%xmm1
1178 .byte 102,65,15,56,221,210
1180 movdqu 112(%rdi),%xmm10
1182 .byte 102,65,15,56,221,219
1184 movdqa 0(%rsp),%xmm11
1185 .byte 102,65,15,56,221,228
1186 movdqa 16(%rsp),%xmm12
1187 .byte 102,65,15,56,221,237
1188 movdqa 32(%rsp),%xmm13
1189 .byte 102,65,15,56,221,246
1190 movdqa 48(%rsp),%xmm14
1191 .byte 102,65,15,56,221,255
1192 movdqa 64(%rsp),%xmm15
1193 .byte 102,68,15,56,221,193
1194 movdqa 80(%rsp),%xmm0
1195 .byte 102,69,15,56,221,202
1196 movups 16-128(%rcx),%xmm1
1200 movups %xmm3,16(%rsi)
1202 movups %xmm4,32(%rsi)
1204 movups %xmm5,48(%rsi)
1206 movups %xmm6,64(%rsi)
1208 movups %xmm7,80(%rsi)
1210 movups %xmm8,96(%rsi)
1211 movups %xmm9,112(%rsi)
1219 leaq -128(%rcx),%rcx
1227 movdqa 96(%rsp),%xmm8
1230 movups 16(%rcx),%xmm0
1231 .byte 102,15,56,220,209
1233 .byte 102,15,56,220,217
1235 .byte 102,15,56,220,225
1237 .byte 102,15,56,220,233
1238 movups (%rdi),%xmm10
1239 .byte 102,15,56,220,241
1240 movups 16(%rdi),%xmm11
1241 .byte 102,15,56,220,249
1242 movups 32(%rdi),%xmm12
1243 .byte 102,68,15,56,220,193
1244 movups 16(%rcx),%xmm1
1246 call L$enc_loop8_enter
1248 movdqu 48(%rdi),%xmm13
1250 movdqu 64(%rdi),%xmm10
1254 movdqu %xmm3,16(%rsi)
1256 movdqu %xmm4,32(%rsi)
1258 movdqu %xmm5,48(%rsi)
1259 movdqu %xmm6,64(%rsi)
1263 movups 80(%rdi),%xmm11
1265 movups %xmm7,80(%rsi)
1268 movups 96(%rdi),%xmm12
1270 movups %xmm8,96(%rsi)
1275 .byte 102,15,56,220,209
1277 .byte 102,15,56,220,217
1278 .byte 102,15,56,220,225
1279 .byte 102,15,56,220,233
1283 .byte 102,15,56,221,209
1284 movups (%rdi),%xmm10
1285 .byte 102,15,56,221,217
1286 movups 16(%rdi),%xmm11
1287 .byte 102,15,56,221,225
1288 movups 32(%rdi),%xmm12
1289 .byte 102,15,56,221,233
1290 movups 48(%rdi),%xmm13
1295 movups %xmm3,16(%rsi)
1297 movdqu %xmm4,32(%rsi)
1299 movdqu %xmm5,48(%rsi)
1304 .byte 102,15,56,220,209
1306 .byte 102,15,56,220,217
1307 .byte 102,15,56,220,225
1311 .byte 102,15,56,221,209
1312 .byte 102,15,56,221,217
1313 .byte 102,15,56,221,225
1315 movups (%rdi),%xmm10
1321 movups 16(%rdi),%xmm11
1323 movups %xmm3,16(%rsi)
1326 movups 32(%rdi),%xmm12
1328 movups %xmm4,32(%rsi)
1332 L$ctr32_one_shortcut:
1334 movups (%rdi),%xmm10
1337 movups 16(%rcx),%xmm1
1341 .byte 102,15,56,220,209
1346 .byte 102,15,56,221,209
1358 .globl _aesni_xts_encrypt
1369 movl 240(%rcx),%r10d
1371 movups 16(%r8),%xmm1
1375 .byte 102,68,15,56,220,249
1380 .byte 102,68,15,56,221,249
1388 movups 16(%rcx,%r10,1),%xmm1
1391 movdqa L$xts_magic(%rip),%xmm8
1392 pshufd $95,%xmm15,%xmm9
1396 movdqa %xmm15,%xmm10
1404 movdqa %xmm15,%xmm11
1412 movdqa %xmm15,%xmm12
1420 movdqa %xmm15,%xmm13
1426 movdqa %xmm15,%xmm14
1432 movaps %xmm1,96(%rsp)
1439 movups 16(%r11),%xmm1
1441 leaq L$xts_magic(%rip),%r8
1442 jmp L$xts_enc_grandloop
1445 L$xts_enc_grandloop:
1446 movdqu 0(%rdi),%xmm2
1448 movdqu 16(%rdi),%xmm3
1450 movdqu 32(%rdi),%xmm4
1452 .byte 102,15,56,220,209
1453 movdqu 48(%rdi),%xmm5
1455 .byte 102,15,56,220,217
1456 movdqu 64(%rdi),%xmm6
1458 .byte 102,15,56,220,225
1459 movdqu 80(%rdi),%xmm7
1461 movdqa 96(%rsp),%xmm9
1463 .byte 102,15,56,220,233
1464 movups 32(%r11),%xmm0
1469 .byte 102,15,56,220,241
1471 movdqa %xmm10,0(%rsp)
1472 .byte 102,15,56,220,249
1473 movups 48(%r11),%xmm1
1475 .byte 102,15,56,220,208
1477 movdqa %xmm11,16(%rsp)
1478 .byte 102,15,56,220,216
1480 movdqa %xmm12,32(%rsp)
1481 .byte 102,15,56,220,224
1483 .byte 102,15,56,220,232
1485 movdqa %xmm14,64(%rsp)
1486 .byte 102,15,56,220,240
1487 movdqa %xmm8,80(%rsp)
1488 .byte 102,15,56,220,248
1489 movups 64(%r11),%xmm0
1491 pshufd $95,%xmm15,%xmm9
1495 .byte 102,15,56,220,209
1496 .byte 102,15,56,220,217
1497 .byte 102,15,56,220,225
1498 .byte 102,15,56,220,233
1499 .byte 102,15,56,220,241
1500 .byte 102,15,56,220,249
1501 movups 16(%rcx),%xmm1
1504 .byte 102,15,56,220,208
1505 .byte 102,15,56,220,216
1506 .byte 102,15,56,220,224
1507 .byte 102,15,56,220,232
1508 .byte 102,15,56,220,240
1509 .byte 102,15,56,220,248
1517 .byte 102,15,56,220,209
1520 .byte 102,15,56,220,217
1522 movups (%r11),%xmm10
1523 .byte 102,15,56,220,225
1524 .byte 102,15,56,220,233
1526 .byte 102,15,56,220,241
1527 movaps %xmm10,%xmm11
1528 .byte 102,15,56,220,249
1529 movups 16(%rcx),%xmm1
1533 .byte 102,15,56,220,208
1536 .byte 102,15,56,220,216
1539 .byte 102,15,56,220,224
1540 .byte 102,15,56,220,232
1542 .byte 102,15,56,220,240
1543 movaps %xmm11,%xmm12
1544 .byte 102,15,56,220,248
1545 movups 32(%rcx),%xmm0
1549 .byte 102,15,56,220,209
1552 .byte 102,15,56,220,217
1555 .byte 102,15,56,220,225
1556 movdqa %xmm13,48(%rsp)
1557 .byte 102,15,56,220,233
1559 .byte 102,15,56,220,241
1560 movaps %xmm12,%xmm13
1561 .byte 102,15,56,220,249
1562 movups 48(%rcx),%xmm1
1566 .byte 102,15,56,220,208
1569 .byte 102,15,56,220,216
1572 .byte 102,15,56,220,224
1573 .byte 102,15,56,220,232
1575 .byte 102,15,56,220,240
1576 movaps %xmm13,%xmm14
1577 .byte 102,15,56,220,248
1581 .byte 102,15,56,220,209
1584 .byte 102,15,56,220,217
1587 .byte 102,15,56,220,225
1588 .byte 102,15,56,220,233
1591 .byte 102,15,56,220,241
1592 .byte 102,15,56,220,249
1593 movups 16(%r11),%xmm1
1597 .byte 102,15,56,221,84,36,0
1600 .byte 102,15,56,221,92,36,16
1601 .byte 102,15,56,221,100,36,32
1603 .byte 102,15,56,221,108,36,48
1604 .byte 102,15,56,221,116,36,64
1605 .byte 102,15,56,221,124,36,80
1609 movups %xmm2,-96(%rsi)
1610 movups %xmm3,-80(%rsi)
1611 movups %xmm4,-64(%rsi)
1612 movups %xmm5,-48(%rsi)
1613 movups %xmm6,-32(%rsi)
1614 movups %xmm7,-16(%rsi)
1616 jnc L$xts_enc_grandloop
1618 leal 7(%rax,%rax,1),%eax
1640 movdqu 16(%rdi),%xmm3
1641 movdqu 32(%rdi),%xmm4
1643 movdqu 48(%rdi),%xmm5
1645 movdqu 64(%rdi),%xmm6
1651 call _aesni_encrypt6
1654 movdqa %xmm15,%xmm10
1659 movdqu %xmm3,16(%rsi)
1661 movdqu %xmm4,32(%rsi)
1662 movdqu %xmm5,48(%rsi)
1663 movdqu %xmm6,64(%rsi)
1673 movups 16(%rcx),%xmm1
1677 .byte 102,15,56,220,209
1682 .byte 102,15,56,221,209
1684 movdqa %xmm11,%xmm10
1692 movups 16(%rdi),%xmm3
1697 call _aesni_encrypt3
1700 movdqa %xmm12,%xmm10
1703 movups %xmm3,16(%rsi)
1710 movups 16(%rdi),%xmm3
1711 movups 32(%rdi),%xmm4
1717 call _aesni_encrypt3
1720 movdqa %xmm13,%xmm10
1724 movups %xmm3,16(%rsi)
1725 movups %xmm4,32(%rsi)
1732 movups 16(%rdi),%xmm3
1733 movups 32(%rdi),%xmm4
1735 movups 48(%rdi),%xmm5
1741 call _aesni_encrypt4
1744 movdqa %xmm14,%xmm10
1749 movdqu %xmm3,16(%rsi)
1750 movdqu %xmm4,32(%rsi)
1751 movdqu %xmm5,48(%rsi)
1763 movzbl -16(%rsi),%ecx
1775 movups -16(%rsi),%xmm2
1778 movups 16(%rcx),%xmm1
1782 .byte 102,15,56,220,209
1787 .byte 102,15,56,221,209
1789 movups %xmm2,-16(%rsi)
1797 .globl _aesni_xts_decrypt
1808 movl 240(%rcx),%r10d
1810 movups 16(%r8),%xmm1
1814 .byte 102,68,15,56,220,249
1819 .byte 102,68,15,56,221,249
1833 movups 16(%rcx,%r10,1),%xmm1
1836 movdqa L$xts_magic(%rip),%xmm8
1837 pshufd $95,%xmm15,%xmm9
1841 movdqa %xmm15,%xmm10
1849 movdqa %xmm15,%xmm11
1857 movdqa %xmm15,%xmm12
1865 movdqa %xmm15,%xmm13
1871 movdqa %xmm15,%xmm14
1877 movaps %xmm1,96(%rsp)
1884 movups 16(%r11),%xmm1
1886 leaq L$xts_magic(%rip),%r8
1887 jmp L$xts_dec_grandloop
1890 L$xts_dec_grandloop:
1891 movdqu 0(%rdi),%xmm2
1893 movdqu 16(%rdi),%xmm3
1895 movdqu 32(%rdi),%xmm4
1897 .byte 102,15,56,222,209
1898 movdqu 48(%rdi),%xmm5
1900 .byte 102,15,56,222,217
1901 movdqu 64(%rdi),%xmm6
1903 .byte 102,15,56,222,225
1904 movdqu 80(%rdi),%xmm7
1906 movdqa 96(%rsp),%xmm9
1908 .byte 102,15,56,222,233
1909 movups 32(%r11),%xmm0
1914 .byte 102,15,56,222,241
1916 movdqa %xmm10,0(%rsp)
1917 .byte 102,15,56,222,249
1918 movups 48(%r11),%xmm1
1920 .byte 102,15,56,222,208
1922 movdqa %xmm11,16(%rsp)
1923 .byte 102,15,56,222,216
1925 movdqa %xmm12,32(%rsp)
1926 .byte 102,15,56,222,224
1928 .byte 102,15,56,222,232
1930 movdqa %xmm14,64(%rsp)
1931 .byte 102,15,56,222,240
1932 movdqa %xmm8,80(%rsp)
1933 .byte 102,15,56,222,248
1934 movups 64(%r11),%xmm0
1936 pshufd $95,%xmm15,%xmm9
1940 .byte 102,15,56,222,209
1941 .byte 102,15,56,222,217
1942 .byte 102,15,56,222,225
1943 .byte 102,15,56,222,233
1944 .byte 102,15,56,222,241
1945 .byte 102,15,56,222,249
1946 movups 16(%rcx),%xmm1
1949 .byte 102,15,56,222,208
1950 .byte 102,15,56,222,216
1951 .byte 102,15,56,222,224
1952 .byte 102,15,56,222,232
1953 .byte 102,15,56,222,240
1954 .byte 102,15,56,222,248
1962 .byte 102,15,56,222,209
1965 .byte 102,15,56,222,217
1967 movups (%r11),%xmm10
1968 .byte 102,15,56,222,225
1969 .byte 102,15,56,222,233
1971 .byte 102,15,56,222,241
1972 movaps %xmm10,%xmm11
1973 .byte 102,15,56,222,249
1974 movups 16(%rcx),%xmm1
1978 .byte 102,15,56,222,208
1981 .byte 102,15,56,222,216
1984 .byte 102,15,56,222,224
1985 .byte 102,15,56,222,232
1987 .byte 102,15,56,222,240
1988 movaps %xmm11,%xmm12
1989 .byte 102,15,56,222,248
1990 movups 32(%rcx),%xmm0
1994 .byte 102,15,56,222,209
1997 .byte 102,15,56,222,217
2000 .byte 102,15,56,222,225
2001 movdqa %xmm13,48(%rsp)
2002 .byte 102,15,56,222,233
2004 .byte 102,15,56,222,241
2005 movaps %xmm12,%xmm13
2006 .byte 102,15,56,222,249
2007 movups 48(%rcx),%xmm1
2011 .byte 102,15,56,222,208
2014 .byte 102,15,56,222,216
2017 .byte 102,15,56,222,224
2018 .byte 102,15,56,222,232
2020 .byte 102,15,56,222,240
2021 movaps %xmm13,%xmm14
2022 .byte 102,15,56,222,248
2026 .byte 102,15,56,222,209
2029 .byte 102,15,56,222,217
2032 .byte 102,15,56,222,225
2033 .byte 102,15,56,222,233
2036 .byte 102,15,56,222,241
2037 .byte 102,15,56,222,249
2038 movups 16(%r11),%xmm1
2042 .byte 102,15,56,223,84,36,0
2045 .byte 102,15,56,223,92,36,16
2046 .byte 102,15,56,223,100,36,32
2048 .byte 102,15,56,223,108,36,48
2049 .byte 102,15,56,223,116,36,64
2050 .byte 102,15,56,223,124,36,80
2054 movups %xmm2,-96(%rsi)
2055 movups %xmm3,-80(%rsi)
2056 movups %xmm4,-64(%rsi)
2057 movups %xmm5,-48(%rsi)
2058 movups %xmm6,-32(%rsi)
2059 movups %xmm7,-16(%rsi)
2061 jnc L$xts_dec_grandloop
2063 leal 7(%rax,%rax,1),%eax
2085 movdqu 16(%rdi),%xmm3
2086 movdqu 32(%rdi),%xmm4
2088 movdqu 48(%rdi),%xmm5
2090 movdqu 64(%rdi),%xmm6
2096 call _aesni_decrypt6
2103 movdqu %xmm3,16(%rsi)
2105 movdqu %xmm4,32(%rsi)
2107 movdqu %xmm5,48(%rsi)
2108 pcmpgtd %xmm15,%xmm14
2109 movdqu %xmm6,64(%rsi)
2111 pshufd $19,%xmm14,%xmm11
2115 movdqa %xmm15,%xmm10
2127 movups 16(%rcx),%xmm1
2131 .byte 102,15,56,222,209
2136 .byte 102,15,56,223,209
2138 movdqa %xmm11,%xmm10
2140 movdqa %xmm12,%xmm11
2147 movups 16(%rdi),%xmm3
2152 call _aesni_decrypt3
2155 movdqa %xmm12,%xmm10
2157 movdqa %xmm13,%xmm11
2159 movups %xmm3,16(%rsi)
2166 movups 16(%rdi),%xmm3
2167 movups 32(%rdi),%xmm4
2173 call _aesni_decrypt3
2176 movdqa %xmm13,%xmm10
2178 movdqa %xmm14,%xmm11
2181 movups %xmm3,16(%rsi)
2182 movups %xmm4,32(%rsi)
2189 movups 16(%rdi),%xmm3
2190 movups 32(%rdi),%xmm4
2192 movups 48(%rdi),%xmm5
2198 call _aesni_decrypt4
2201 movdqa %xmm14,%xmm10
2203 movdqa %xmm15,%xmm11
2207 movdqu %xmm3,16(%rsi)
2208 movdqu %xmm4,32(%rsi)
2209 movdqu %xmm5,48(%rsi)
2225 movups 16(%rcx),%xmm1
2229 .byte 102,15,56,222,209
2234 .byte 102,15,56,223,209
2239 movzbl 16(%rdi),%eax
2255 movups 16(%rcx),%xmm1
2259 .byte 102,15,56,222,209
2264 .byte 102,15,56,223,209
2274 .globl _aesni_cbc_encrypt
2281 movl 240(%rcx),%r10d
2298 movups 16(%rcx),%xmm1
2303 .byte 102,15,56,220,209
2308 .byte 102,15,56,221,209
2311 movups %xmm2,0(%rsi)
2348 movdqu 0(%rdi),%xmm2
2349 movdqu 16(%rdi),%xmm3
2351 movdqu 32(%rdi),%xmm4
2353 movdqu 48(%rdi),%xmm5
2355 movdqu 64(%rdi),%xmm6
2357 movdqu 80(%rdi),%xmm7
2360 jbe L$cbc_dec_six_or_seven
2364 jmp L$cbc_dec_loop8_enter
2369 L$cbc_dec_loop8_enter:
2370 movdqu 96(%rdi),%xmm8
2372 movdqu 112(%rdi),%xmm9
2374 movups 16-112(%rcx),%xmm1
2383 .byte 102,15,56,222,209
2385 movups 32-112(%rcx),%xmm0
2386 .byte 102,15,56,222,217
2387 .byte 102,15,56,222,225
2388 .byte 102,15,56,222,233
2389 .byte 102,15,56,222,241
2390 .byte 102,15,56,222,249
2392 .byte 102,68,15,56,222,193
2394 .byte 102,68,15,56,222,201
2396 movups 48-112(%rcx),%xmm1
2397 .byte 102,15,56,222,208
2398 .byte 102,15,56,222,216
2399 .byte 102,15,56,222,224
2400 .byte 102,15,56,222,232
2401 .byte 102,15,56,222,240
2402 .byte 102,15,56,222,248
2403 .byte 102,68,15,56,222,192
2404 .byte 102,68,15,56,222,200
2405 movups 64-112(%rcx),%xmm0
2406 .byte 102,15,56,222,209
2407 .byte 102,15,56,222,217
2408 .byte 102,15,56,222,225
2409 .byte 102,15,56,222,233
2410 .byte 102,15,56,222,241
2411 .byte 102,15,56,222,249
2412 .byte 102,68,15,56,222,193
2413 .byte 102,68,15,56,222,201
2414 movups 80-112(%rcx),%xmm1
2415 .byte 102,15,56,222,208
2416 .byte 102,15,56,222,216
2417 .byte 102,15,56,222,224
2418 .byte 102,15,56,222,232
2419 .byte 102,15,56,222,240
2420 .byte 102,15,56,222,248
2421 .byte 102,68,15,56,222,192
2422 .byte 102,68,15,56,222,200
2423 movups 96-112(%rcx),%xmm0
2424 .byte 102,15,56,222,209
2425 .byte 102,15,56,222,217
2426 .byte 102,15,56,222,225
2427 .byte 102,15,56,222,233
2428 .byte 102,15,56,222,241
2429 .byte 102,15,56,222,249
2430 .byte 102,68,15,56,222,193
2431 .byte 102,68,15,56,222,201
2432 movups 112-112(%rcx),%xmm1
2433 .byte 102,15,56,222,208
2434 .byte 102,15,56,222,216
2435 .byte 102,15,56,222,224
2436 .byte 102,15,56,222,232
2437 .byte 102,15,56,222,240
2438 .byte 102,15,56,222,248
2439 .byte 102,68,15,56,222,192
2440 .byte 102,68,15,56,222,200
2441 movups 128-112(%rcx),%xmm0
2442 .byte 102,15,56,222,209
2443 .byte 102,15,56,222,217
2444 .byte 102,15,56,222,225
2445 .byte 102,15,56,222,233
2446 .byte 102,15,56,222,241
2447 .byte 102,15,56,222,249
2448 .byte 102,68,15,56,222,193
2449 .byte 102,68,15,56,222,201
2450 movups 144-112(%rcx),%xmm1
2451 .byte 102,15,56,222,208
2452 .byte 102,15,56,222,216
2453 .byte 102,15,56,222,224
2454 .byte 102,15,56,222,232
2455 .byte 102,15,56,222,240
2456 .byte 102,15,56,222,248
2457 .byte 102,68,15,56,222,192
2458 .byte 102,68,15,56,222,200
2459 movups 160-112(%rcx),%xmm0
2462 .byte 102,15,56,222,209
2463 .byte 102,15,56,222,217
2464 .byte 102,15,56,222,225
2465 .byte 102,15,56,222,233
2466 .byte 102,15,56,222,241
2467 .byte 102,15,56,222,249
2468 .byte 102,68,15,56,222,193
2469 .byte 102,68,15,56,222,201
2470 movups 176-112(%rcx),%xmm1
2471 .byte 102,15,56,222,208
2472 .byte 102,15,56,222,216
2473 .byte 102,15,56,222,224
2474 .byte 102,15,56,222,232
2475 .byte 102,15,56,222,240
2476 .byte 102,15,56,222,248
2477 .byte 102,68,15,56,222,192
2478 .byte 102,68,15,56,222,200
2479 movups 192-112(%rcx),%xmm0
2481 .byte 102,15,56,222,209
2482 .byte 102,15,56,222,217
2483 .byte 102,15,56,222,225
2484 .byte 102,15,56,222,233
2485 .byte 102,15,56,222,241
2486 .byte 102,15,56,222,249
2487 .byte 102,68,15,56,222,193
2488 .byte 102,68,15,56,222,201
2489 movups 208-112(%rcx),%xmm1
2490 .byte 102,15,56,222,208
2491 .byte 102,15,56,222,216
2492 .byte 102,15,56,222,224
2493 .byte 102,15,56,222,232
2494 .byte 102,15,56,222,240
2495 .byte 102,15,56,222,248
2496 .byte 102,68,15,56,222,192
2497 .byte 102,68,15,56,222,200
2498 movups 224-112(%rcx),%xmm0
2500 .byte 102,15,56,222,209
2502 .byte 102,15,56,222,217
2504 .byte 102,15,56,222,225
2506 .byte 102,15,56,222,233
2508 .byte 102,15,56,222,241
2510 .byte 102,15,56,222,249
2512 .byte 102,68,15,56,222,193
2513 .byte 102,68,15,56,222,201
2514 movdqu 80(%rdi),%xmm1
2516 .byte 102,65,15,56,223,210
2517 movdqu 96(%rdi),%xmm10
2519 .byte 102,65,15,56,223,219
2521 movdqu 112(%rdi),%xmm0
2523 .byte 102,65,15,56,223,228
2524 movdqu 0(%r11),%xmm11
2525 .byte 102,65,15,56,223,237
2526 movdqu 16(%r11),%xmm12
2527 .byte 102,65,15,56,223,246
2528 movdqu 32(%r11),%xmm13
2529 .byte 102,65,15,56,223,255
2530 movdqu 48(%r11),%xmm14
2531 .byte 102,68,15,56,223,193
2532 movdqu 64(%r11),%xmm15
2533 .byte 102,69,15,56,223,202
2535 movdqu 80(%r11),%xmm1
2536 movups -112(%rcx),%xmm0
2540 movups %xmm3,16(%rsi)
2542 movups %xmm4,32(%rsi)
2544 movups %xmm5,48(%rsi)
2546 movups %xmm6,64(%rsi)
2548 movups %xmm7,80(%rsi)
2550 movups %xmm8,96(%rsi)
2557 leaq -112(%rcx),%rcx
2559 jle L$cbc_dec_tail_collected
2566 L$cbc_dec_six_or_seven:
2571 call _aesni_decrypt6
2577 movdqu %xmm3,16(%rsi)
2579 movdqu %xmm4,32(%rsi)
2581 movdqu %xmm5,48(%rsi)
2583 movdqu %xmm6,64(%rsi)
2586 jmp L$cbc_dec_tail_collected
2590 movups 96(%rdi),%xmm8
2592 call _aesni_decrypt8
2593 movups 80(%rdi),%xmm9
2595 movups 96(%rdi),%xmm10
2599 movdqu %xmm3,16(%rsi)
2601 movdqu %xmm4,32(%rsi)
2603 movdqu %xmm5,48(%rsi)
2605 movdqu %xmm6,64(%rsi)
2607 movdqu %xmm7,80(%rsi)
2610 jmp L$cbc_dec_tail_collected
2617 movups 16(%rdi),%xmm3
2622 movups 32(%rdi),%xmm4
2627 movups 48(%rdi),%xmm5
2632 movups 64(%rdi),%xmm6
2636 call _aesni_decrypt6
2638 movaps %xmm15,%xmm10
2642 movdqu %xmm3,16(%rsi)
2644 movdqu %xmm4,32(%rsi)
2646 movdqu %xmm5,48(%rsi)
2650 jmp L$cbc_dec_tail_collected
2656 movups 16(%rcx),%xmm1
2660 .byte 102,15,56,222,209
2665 .byte 102,15,56,223,209
2667 movaps %xmm11,%xmm10
2668 jmp L$cbc_dec_tail_collected
2673 call _aesni_decrypt3
2675 movaps %xmm12,%xmm10
2680 jmp L$cbc_dec_tail_collected
2684 call _aesni_decrypt3
2686 movaps %xmm13,%xmm10
2690 movdqu %xmm3,16(%rsi)
2693 jmp L$cbc_dec_tail_collected
2697 call _aesni_decrypt4
2699 movaps %xmm14,%xmm10
2703 movdqu %xmm3,16(%rsi)
2705 movdqu %xmm4,32(%rsi)
2708 jmp L$cbc_dec_tail_collected
2711 L$cbc_dec_tail_collected:
2714 jnz L$cbc_dec_tail_partial
2718 L$cbc_dec_tail_partial:
2732 .globl _aesni_set_decrypt_key
2735 _aesni_set_decrypt_key:
2736 .byte 0x48,0x83,0xEC,0x08
2737 call __aesni_set_encrypt_key
2741 leaq 16(%rdx,%rsi,1),%rdi
2753 .byte 102,15,56,219,192
2754 .byte 102,15,56,219,201
2757 movups %xmm0,16(%rdi)
2758 movups %xmm1,-16(%rdx)
2760 ja L$dec_key_inverse
2763 .byte 102,15,56,219,192
2768 L$SEH_end_set_decrypt_key:
2770 .globl _aesni_set_encrypt_key
2773 _aesni_set_encrypt_key:
2774 __aesni_set_encrypt_key:
2775 .byte 0x48,0x83,0xEC,0x08
2795 .byte 102,15,58,223,200,1
2796 call L$key_expansion_128_cold
2797 .byte 102,15,58,223,200,2
2798 call L$key_expansion_128
2799 .byte 102,15,58,223,200,4
2800 call L$key_expansion_128
2801 .byte 102,15,58,223,200,8
2802 call L$key_expansion_128
2803 .byte 102,15,58,223,200,16
2804 call L$key_expansion_128
2805 .byte 102,15,58,223,200,32
2806 call L$key_expansion_128
2807 .byte 102,15,58,223,200,64
2808 call L$key_expansion_128
2809 .byte 102,15,58,223,200,128
2810 call L$key_expansion_128
2811 .byte 102,15,58,223,200,27
2812 call L$key_expansion_128