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