6 .type rsaz_512_sqr,@function
23 andl OPENSSL_ia32cap_P+8(%rip),%r11d
137 leaq (%rcx,%r10,2),%r10
177 leaq (%rbx,%r12,2),%r12
195 leaq (%r10,%r13,2),%r13
225 leaq (%rcx,%r14,2),%r14
243 leaq (%r12,%r15,2),%r15
268 leaq (%rbx,%r8,2),%r8
283 leaq (%r12,%r9,2),%r9
307 leaq (%rcx,%r10,2),%r10
315 leaq (%r15,%r11,2),%r11
368 call __rsaz_512_reduce
380 call __rsaz_512_subtract
384 movl 128+8(%rsp),%r8d
393 movl %r8d,128+8(%rsp)
394 .byte 102,72,15,110,199
395 .byte 102,72,15,110,205
399 mulxq 16(%rsi),%rcx,%r10
402 mulxq 24(%rsi),%rax,%r11
405 mulxq 32(%rsi),%rcx,%r12
408 mulxq 40(%rsi),%rax,%r13
411 .byte 0xc4,0x62,0xf3,0xf6,0xb6,0x30,0x00,0x00,0x00
415 .byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00
433 mulxq 16(%rsi),%rax,%rbx
437 .byte 0xc4,0x62,0xc3,0xf6,0x86,0x18,0x00,0x00,0x00
441 mulxq 32(%rsi),%rax,%rbx
445 mulxq 40(%rsi),%rdi,%r8
449 .byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00
453 .byte 0xc4,0x62,0xc3,0xf6,0x86,0x38,0x00,0x00,0x00
470 .byte 0x4c,0x89,0x94,0x24,0x18,0x00,0x00,0x00
473 .byte 0xc4,0x62,0xc3,0xf6,0x8e,0x18,0x00,0x00,0x00
477 mulxq 32(%rsi),%rax,%rcx
481 mulxq 40(%rsi),%rdi,%r9
485 .byte 0xc4,0xe2,0xfb,0xf6,0x8e,0x30,0x00,0x00,0x00
489 .byte 0xc4,0x62,0xc3,0xf6,0x8e,0x38,0x00,0x00,0x00
506 .byte 0x4c,0x89,0xa4,0x24,0x28,0x00,0x00,0x00
509 .byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x20,0x00,0x00,0x00
513 mulxq 40(%rsi),%rdi,%r10
517 mulxq 48(%rsi),%rax,%rbx
521 mulxq 56(%rsi),%rdi,%r10
542 .byte 0xc4,0x62,0xc3,0xf6,0x9e,0x28,0x00,0x00,0x00
546 mulxq 48(%rsi),%rax,%rcx
550 mulxq 56(%rsi),%rdi,%r11
570 .byte 0xc4,0xe2,0xfb,0xf6,0x9e,0x30,0x00,0x00,0x00
574 .byte 0xc4,0x62,0xc3,0xf6,0xa6,0x38,0x00,0x00,0x00
594 .byte 0xc4,0x62,0xfb,0xf6,0xae,0x38,0x00,0x00,0x00
610 .byte 0x4c,0x89,0x9c,0x24,0x60,0x00,0x00,0x00
611 .byte 0x4c,0x89,0xa4,0x24,0x68,0x00,0x00,0x00
623 .byte 102,72,15,126,199
624 .byte 102,72,15,126,205
636 call __rsaz_512_reducex
648 call __rsaz_512_subtract
652 movl 128+8(%rsp),%r8d
660 leaq 128+24+48(%rsp),%rax
670 .size rsaz_512_sqr,.-rsaz_512_sqr
672 .type rsaz_512_mul,@function
684 .byte 102,72,15,110,199
685 .byte 102,72,15,110,201
688 andl OPENSSL_ia32cap_P+8(%rip),%r11d
695 .byte 102,72,15,126,199
696 .byte 102,72,15,126,205
707 call __rsaz_512_reduce
716 .byte 102,72,15,126,199
717 .byte 102,72,15,126,205
729 call __rsaz_512_reducex
741 call __rsaz_512_subtract
743 leaq 128+24+48(%rsp),%rax
753 .size rsaz_512_mul,.-rsaz_512_mul
754 .globl rsaz_512_mul_gather4
755 .type rsaz_512_mul_gather4,@function
757 rsaz_512_mul_gather4:
768 movdqa .Linc+16(%rip),%xmm1
769 movdqa .Linc(%rip),%xmm0
771 pshufd $0,%xmm8,%xmm8
795 movdqa 16(%rdx),%xmm9
796 movdqa 32(%rdx),%xmm10
797 movdqa 48(%rdx),%xmm11
799 movdqa 64(%rdx),%xmm12
801 movdqa 80(%rdx),%xmm13
803 movdqa 96(%rdx),%xmm14
805 movdqa 112(%rdx),%xmm15
819 pshufd $0x4e,%xmm8,%xmm9
822 andl OPENSSL_ia32cap_P+8(%rip),%r11d
825 .byte 102,76,15,126,195
828 movq %rdi,128+8(%rsp)
829 movq %rcx,128+16(%rsp)
887 movdqa 16(%rbp),%xmm9
888 movdqa 32(%rbp),%xmm10
889 movdqa 48(%rbp),%xmm11
891 movdqa 64(%rbp),%xmm12
893 movdqa 80(%rbp),%xmm13
895 movdqa 96(%rbp),%xmm14
897 movdqa 112(%rbp),%xmm15
911 pshufd $0x4e,%xmm8,%xmm9
913 .byte 102,76,15,126,195
992 movq 128+8(%rsp),%rdi
993 movq 128+16(%rsp),%rbp
1004 call __rsaz_512_reduce
1005 jmp .Lmul_gather_tail
1009 .byte 102,76,15,126,194
1012 movq %rdi,128+8(%rsp)
1013 movq %rcx,128+16(%rsp)
1015 mulxq (%rsi),%rbx,%r8
1019 mulxq 8(%rsi),%rax,%r9
1021 mulxq 16(%rsi),%rbx,%r10
1024 mulxq 24(%rsi),%rax,%r11
1027 mulxq 32(%rsi),%rbx,%r12
1030 mulxq 40(%rsi),%rax,%r13
1033 mulxq 48(%rsi),%rbx,%r14
1036 mulxq 56(%rsi),%rax,%r15
1044 jmp .Loop_mulx_gather
1048 movdqa 0(%rbp),%xmm8
1049 movdqa 16(%rbp),%xmm9
1050 movdqa 32(%rbp),%xmm10
1051 movdqa 48(%rbp),%xmm11
1053 movdqa 64(%rbp),%xmm12
1055 movdqa 80(%rbp),%xmm13
1057 movdqa 96(%rbp),%xmm14
1059 movdqa 112(%rbp),%xmm15
1073 pshufd $0x4e,%xmm8,%xmm9
1075 .byte 102,76,15,126,194
1077 .byte 0xc4,0x62,0xfb,0xf6,0x86,0x00,0x00,0x00,0x00
1081 mulxq 8(%rsi),%rax,%r9
1085 mulxq 16(%rsi),%rax,%r10
1089 .byte 0xc4,0x62,0xfb,0xf6,0x9e,0x18,0x00,0x00,0x00
1093 mulxq 32(%rsi),%rax,%r12
1097 mulxq 40(%rsi),%rax,%r13
1101 .byte 0xc4,0x62,0xfb,0xf6,0xb6,0x30,0x00,0x00,0x00
1106 mulxq 56(%rsi),%rax,%r15
1107 movq %rbx,64(%rsp,%rcx,8)
1114 jnz .Loop_mulx_gather
1118 movq %r10,64+16(%rsp)
1119 movq %r11,64+24(%rsp)
1120 movq %r12,64+32(%rsp)
1121 movq %r13,64+40(%rsp)
1122 movq %r14,64+48(%rsp)
1123 movq %r15,64+56(%rsp)
1126 movq 128+8(%rsp),%rdi
1127 movq 128+16(%rsp),%rbp
1138 call __rsaz_512_reducex
1151 call __rsaz_512_subtract
1153 leaq 128+24+48(%rsp),%rax
1161 .Lmul_gather4_epilogue:
1163 .size rsaz_512_mul_gather4,.-rsaz_512_mul_gather4
1164 .globl rsaz_512_mul_scatter4
1165 .type rsaz_512_mul_scatter4,@function
1167 rsaz_512_mul_scatter4:
1177 .Lmul_scatter4_body:
1178 leaq (%r8,%r9,8),%r8
1179 .byte 102,72,15,110,199
1180 .byte 102,72,15,110,202
1181 .byte 102,73,15,110,208
1186 andl OPENSSL_ia32cap_P+8(%rip),%r11d
1192 .byte 102,72,15,126,199
1193 .byte 102,72,15,126,205
1204 call __rsaz_512_reduce
1205 jmp .Lmul_scatter_tail
1210 call __rsaz_512_mulx
1212 .byte 102,72,15,126,199
1213 .byte 102,72,15,126,205
1225 call __rsaz_512_reducex
1236 .byte 102,72,15,126,214
1239 call __rsaz_512_subtract
1250 leaq 128+24+48(%rsp),%rax
1258 .Lmul_scatter4_epilogue:
1260 .size rsaz_512_mul_scatter4,.-rsaz_512_mul_scatter4
1261 .globl rsaz_512_mul_by_one
1262 .type rsaz_512_mul_by_one,@function
1264 rsaz_512_mul_by_one:
1274 movl OPENSSL_ia32cap_P+8(%rip),%eax
1289 movdqa %xmm0,16(%rsp)
1290 movdqa %xmm0,32(%rsp)
1291 movdqa %xmm0,48(%rsp)
1292 movdqa %xmm0,64(%rsp)
1293 movdqa %xmm0,80(%rsp)
1294 movdqa %xmm0,96(%rsp)
1298 call __rsaz_512_reduce
1303 call __rsaz_512_reducex
1314 leaq 128+24+48(%rsp),%rax
1322 .Lmul_by_one_epilogue:
1324 .size rsaz_512_mul_by_one,.-rsaz_512_mul_by_one
1325 .type __rsaz_512_reduce,@function
1329 imulq 128+8(%rsp),%rbx
1332 jmp .Lreduction_loop
1363 movq 128+8(%rsp),%rsi
1404 jne .Lreduction_loop
1407 .size __rsaz_512_reduce,.-__rsaz_512_reduce
1408 .type __rsaz_512_reducex,@function
1415 jmp .Lreduction_loopx
1420 mulxq 0(%rbp),%rax,%r8
1424 mulxq 8(%rbp),%rax,%r9
1428 mulxq 16(%rbp),%rbx,%r10
1432 mulxq 24(%rbp),%rbx,%r11
1436 .byte 0xc4,0x62,0xe3,0xf6,0xa5,0x20,0x00,0x00,0x00
1442 mulxq 128+8(%rsp),%rbx,%rdx
1445 mulxq 40(%rbp),%rax,%r13
1449 .byte 0xc4,0x62,0xfb,0xf6,0xb5,0x30,0x00,0x00,0x00
1453 mulxq 56(%rbp),%rax,%r15
1460 jne .Lreduction_loopx
1463 .size __rsaz_512_reducex,.-__rsaz_512_reducex
1464 .type __rsaz_512_subtract,@function
1466 __rsaz_512_subtract:
1520 .size __rsaz_512_subtract,.-__rsaz_512_subtract
1521 .type __rsaz_512_mul,@function
1662 .size __rsaz_512_mul,.-__rsaz_512_mul
1663 .type __rsaz_512_mulx,@function
1666 mulxq (%rsi),%rbx,%r8
1669 mulxq 8(%rsi),%rax,%r9
1672 mulxq 16(%rsi),%rbx,%r10
1675 mulxq 24(%rsi),%rax,%r11
1678 mulxq 32(%rsi),%rbx,%r12
1681 mulxq 40(%rsi),%rax,%r13
1684 mulxq 48(%rsi),%rbx,%r14
1687 mulxq 56(%rsi),%rax,%r15
1699 mulxq (%rsi),%rax,%r8
1703 mulxq 8(%rsi),%rax,%r9
1707 mulxq 16(%rsi),%rax,%r10
1711 mulxq 24(%rsi),%rax,%r11
1715 .byte 0x3e,0xc4,0x62,0xfb,0xf6,0xa6,0x20,0x00,0x00,0x00
1719 mulxq 40(%rsi),%rax,%r13
1723 mulxq 48(%rsi),%rax,%r14
1727 mulxq 56(%rsi),%rax,%r15
1728 movq 64(%rbp,%rcx,8),%rdx
1729 movq %rbx,8+64-8(%rsp,%rcx,8)
1738 mulxq (%rsi),%rax,%r8
1742 .byte 0xc4,0x62,0xfb,0xf6,0x8e,0x08,0x00,0x00,0x00
1746 .byte 0xc4,0x62,0xfb,0xf6,0x96,0x10,0x00,0x00,0x00
1750 mulxq 24(%rsi),%rax,%r11
1754 mulxq 32(%rsi),%rax,%r12
1758 mulxq 40(%rsi),%rax,%r13
1762 .byte 0xc4,0x62,0xfb,0xf6,0xb6,0x30,0x00,0x00,0x00
1766 .byte 0xc4,0x62,0xfb,0xf6,0xbe,0x38,0x00,0x00,0x00
1771 movq %rbx,8+64-8(%rsp)
1773 movq %r9,8+64+8(%rsp)
1774 movq %r10,8+64+16(%rsp)
1775 movq %r11,8+64+24(%rsp)
1776 movq %r12,8+64+32(%rsp)
1777 movq %r13,8+64+40(%rsp)
1778 movq %r14,8+64+48(%rsp)
1779 movq %r15,8+64+56(%rsp)
1782 .size __rsaz_512_mulx,.-__rsaz_512_mulx
1783 .globl rsaz_512_scatter4
1784 .type rsaz_512_scatter4,@function
1787 leaq (%rdi,%rdx,8),%rdi
1799 .size rsaz_512_scatter4,.-rsaz_512_scatter4
1801 .globl rsaz_512_gather4
1802 .type rsaz_512_gather4,@function
1806 movdqa .Linc+16(%rip),%xmm1
1807 movdqa .Linc(%rip),%xmm0
1809 pshufd $0,%xmm8,%xmm8
1835 movdqa 0(%rsi),%xmm8
1836 movdqa 16(%rsi),%xmm9
1837 movdqa 32(%rsi),%xmm10
1838 movdqa 48(%rsi),%xmm11
1840 movdqa 64(%rsi),%xmm12
1842 movdqa 80(%rsi),%xmm13
1844 movdqa 96(%rsi),%xmm14
1846 movdqa 112(%rsi),%xmm15
1860 pshufd $0x4e,%xmm8,%xmm9
1867 .LSEH_end_rsaz_512_gather4:
1868 .size rsaz_512_gather4,.-rsaz_512_gather4
1874 .section .note.GNU-stack,"",%progbits