OLD | NEW |
1 #if defined(__x86_64__) | 1 #if defined(__x86_64__) |
2 .text | 2 .text |
3 | 3 |
| 4 |
| 5 chacha20_poly1305_constants: |
| 6 |
4 .p2align 6 | 7 .p2align 6 |
5 .chacha20_consts: | 8 .chacha20_consts: |
6 .byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k' | 9 .byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k' |
7 .byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k' | 10 .byte 'e','x','p','a','n','d',' ','3','2','-','b','y','t','e',' ','k' |
8 .rol8: | 11 .rol8: |
9 .byte 3,0,1,2, 7,4,5,6, 11,8,9,10, 15,12,13,14 | 12 .byte 3,0,1,2, 7,4,5,6, 11,8,9,10, 15,12,13,14 |
10 .byte 3,0,1,2, 7,4,5,6, 11,8,9,10, 15,12,13,14 | 13 .byte 3,0,1,2, 7,4,5,6, 11,8,9,10, 15,12,13,14 |
11 .rol16: | 14 .rol16: |
12 .byte 2,3,0,1, 6,7,4,5, 10,11,8,9, 14,15,12,13 | 15 .byte 2,3,0,1, 6,7,4,5, 10,11,8,9, 14,15,12,13 |
13 .byte 2,3,0,1, 6,7,4,5, 10,11,8,9, 14,15,12,13 | 16 .byte 2,3,0,1, 6,7,4,5, 10,11,8,9, 14,15,12,13 |
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 .cfi_endproc | 210 .cfi_endproc |
208 | 211 |
209 | 212 |
210 .globl _chacha20_poly1305_open | 213 .globl _chacha20_poly1305_open |
211 .private_extern _chacha20_poly1305_open | 214 .private_extern _chacha20_poly1305_open |
212 | 215 |
213 .p2align 6 | 216 .p2align 6 |
214 _chacha20_poly1305_open: | 217 _chacha20_poly1305_open: |
215 .cfi_startproc | 218 .cfi_startproc |
216 pushq %rbp | 219 pushq %rbp |
217 .cfi_adjust_cfa_offset» 8 | 220 |
218 pushq %rbx | 221 pushq %rbx |
219 .cfi_adjust_cfa_offset» 8 | 222 |
220 pushq %r12 | 223 pushq %r12 |
221 .cfi_adjust_cfa_offset» 8 | 224 |
222 pushq %r13 | 225 pushq %r13 |
223 .cfi_adjust_cfa_offset» 8 | 226 |
224 pushq %r14 | 227 pushq %r14 |
225 .cfi_adjust_cfa_offset» 8 | 228 |
226 pushq %r15 | 229 pushq %r15 |
227 .cfi_adjust_cfa_offset» 8 | 230 |
228 | 231 |
229 | 232 |
230 pushq %r9 | 233 pushq %r9 |
231 .cfi_adjust_cfa_offset» 8 | 234 |
232 subq $288 + 32,%rsp | 235 subq $288 + 32,%rsp |
233 .cfi_adjust_cfa_offset» 288 + 32 | 236 |
234 .cfi_offset» rbp, -16 | 237 |
235 .cfi_offset» rbx, -24 | 238 |
236 .cfi_offset» r12, -32 | 239 |
237 .cfi_offset» r13, -40 | 240 |
238 .cfi_offset» r14, -48 | 241 |
239 .cfi_offset» r15, -56 | 242 |
240 leaq 32(%rsp),%rbp | 243 leaq 32(%rsp),%rbp |
241 andq $-32,%rbp | 244 andq $-32,%rbp |
242 movq %rdx,8+32(%rbp) | 245 movq %rdx,8+32(%rbp) |
243 movq %r8,0+32(%rbp) | 246 movq %r8,0+32(%rbp) |
244 movq %rdx,%rbx | 247 movq %rdx,%rbx |
245 | 248 |
246 movl _OPENSSL_ia32cap_P+8(%rip),%eax | 249 movl _OPENSSL_ia32cap_P+8(%rip),%eax |
247 andl $288,%eax | 250 andl $288,%eax |
248 xorl $288,%eax | 251 xorl $288,%eax |
249 jz chacha20_poly1305_open_avx2 | 252 jz chacha20_poly1305_open_avx2 |
(...skipping 1574 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1824 sbbq $-1,%r11 | 1827 sbbq $-1,%r11 |
1825 sbbq $3,%r12 | 1828 sbbq $3,%r12 |
1826 cmovcq %r13,%r10 | 1829 cmovcq %r13,%r10 |
1827 cmovcq %r14,%r11 | 1830 cmovcq %r14,%r11 |
1828 cmovcq %r15,%r12 | 1831 cmovcq %r15,%r12 |
1829 | 1832 |
1830 addq 0+16(%rbp),%r10 | 1833 addq 0+16(%rbp),%r10 |
1831 adcq 8+16(%rbp),%r11 | 1834 adcq 8+16(%rbp),%r11 |
1832 | 1835 |
1833 addq $288 + 32,%rsp | 1836 addq $288 + 32,%rsp |
1834 .cfi_adjust_cfa_offset» -(288 + 32) | 1837 |
1835 popq %r9 | 1838 popq %r9 |
1836 .cfi_adjust_cfa_offset» -8 | 1839 |
1837 movq %r10,(%r9) | 1840 movq %r10,(%r9) |
1838 movq %r11,8(%r9) | 1841 movq %r11,8(%r9) |
1839 | 1842 |
1840 popq %r15 | 1843 popq %r15 |
1841 .cfi_adjust_cfa_offset» -8 | 1844 |
1842 popq %r14 | 1845 popq %r14 |
1843 .cfi_adjust_cfa_offset» -8 | 1846 |
1844 popq %r13 | 1847 popq %r13 |
1845 .cfi_adjust_cfa_offset» -8 | 1848 |
1846 popq %r12 | 1849 popq %r12 |
1847 .cfi_adjust_cfa_offset» -8 | 1850 |
1848 popq %rbx | 1851 popq %rbx |
1849 .cfi_adjust_cfa_offset» -8 | 1852 |
1850 popq %rbp | 1853 popq %rbp |
1851 .cfi_adjust_cfa_offset» -8 | 1854 |
1852 .byte 0xf3,0xc3 | 1855 .byte 0xf3,0xc3 |
1853 .cfi_adjust_cfa_offset» (8 * 6) + 288 + 32 | 1856 |
1854 | 1857 |
1855 open_sse_128: | 1858 open_sse_128: |
1856 movdqu .chacha20_consts(%rip),%xmm0 | 1859 movdqu .chacha20_consts(%rip),%xmm0 |
1857 movdqa %xmm0,%xmm1 | 1860 movdqa %xmm0,%xmm1 |
1858 movdqa %xmm0,%xmm2 | 1861 movdqa %xmm0,%xmm2 |
1859 movdqu 0(%r9),%xmm4 | 1862 movdqu 0(%r9),%xmm4 |
1860 movdqa %xmm4,%xmm5 | 1863 movdqa %xmm4,%xmm5 |
1861 movdqa %xmm4,%xmm6 | 1864 movdqa %xmm4,%xmm6 |
1862 movdqu 16(%r9),%xmm8 | 1865 movdqu 16(%r9),%xmm8 |
1863 movdqa %xmm8,%xmm9 | 1866 movdqa %xmm8,%xmm9 |
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2088 | 2091 |
2089 | 2092 |
2090 | 2093 |
2091 .globl _chacha20_poly1305_seal | 2094 .globl _chacha20_poly1305_seal |
2092 .private_extern _chacha20_poly1305_seal | 2095 .private_extern _chacha20_poly1305_seal |
2093 | 2096 |
2094 .p2align 6 | 2097 .p2align 6 |
2095 _chacha20_poly1305_seal: | 2098 _chacha20_poly1305_seal: |
2096 .cfi_startproc | 2099 .cfi_startproc |
2097 pushq %rbp | 2100 pushq %rbp |
2098 .cfi_adjust_cfa_offset» 8 | 2101 |
2099 pushq %rbx | 2102 pushq %rbx |
2100 .cfi_adjust_cfa_offset» 8 | 2103 |
2101 pushq %r12 | 2104 pushq %r12 |
2102 .cfi_adjust_cfa_offset» 8 | 2105 |
2103 pushq %r13 | 2106 pushq %r13 |
2104 .cfi_adjust_cfa_offset» 8 | 2107 |
2105 pushq %r14 | 2108 pushq %r14 |
2106 .cfi_adjust_cfa_offset» 8 | 2109 |
2107 pushq %r15 | 2110 pushq %r15 |
2108 .cfi_adjust_cfa_offset» 8 | 2111 |
2109 | 2112 |
2110 | 2113 |
2111 pushq %r9 | 2114 pushq %r9 |
2112 .cfi_adjust_cfa_offset» 8 | 2115 |
2113 subq $288 + 32,%rsp | 2116 subq $288 + 32,%rsp |
2114 .cfi_adjust_cfa_offset» 288 + 32 | 2117 |
2115 .cfi_offset» rbp, -16 | 2118 |
2116 .cfi_offset» rbx, -24 | 2119 |
2117 .cfi_offset» r12, -32 | 2120 |
2118 .cfi_offset» r13, -40 | 2121 |
2119 .cfi_offset» r14, -48 | 2122 |
2120 .cfi_offset» r15, -56 | 2123 |
2121 leaq 32(%rsp),%rbp | 2124 leaq 32(%rsp),%rbp |
2122 andq $-32,%rbp | 2125 andq $-32,%rbp |
2123 movq %rdx,8+32(%rbp) | 2126 movq %rdx,8+32(%rbp) |
2124 movq %r8,0+32(%rbp) | 2127 movq %r8,0+32(%rbp) |
2125 movq %rdx,%rbx | 2128 movq %rdx,%rbx |
2126 | 2129 |
2127 movl _OPENSSL_ia32cap_P+8(%rip),%eax | 2130 movl _OPENSSL_ia32cap_P+8(%rip),%eax |
2128 andl $288,%eax | 2131 andl $288,%eax |
2129 xorl $288,%eax | 2132 xorl $288,%eax |
2130 jz chacha20_poly1305_seal_avx2 | 2133 jz chacha20_poly1305_seal_avx2 |
(...skipping 1576 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3707 sbbq $-1,%r11 | 3710 sbbq $-1,%r11 |
3708 sbbq $3,%r12 | 3711 sbbq $3,%r12 |
3709 cmovcq %r13,%r10 | 3712 cmovcq %r13,%r10 |
3710 cmovcq %r14,%r11 | 3713 cmovcq %r14,%r11 |
3711 cmovcq %r15,%r12 | 3714 cmovcq %r15,%r12 |
3712 | 3715 |
3713 addq 0+16(%rbp),%r10 | 3716 addq 0+16(%rbp),%r10 |
3714 adcq 8+16(%rbp),%r11 | 3717 adcq 8+16(%rbp),%r11 |
3715 | 3718 |
3716 addq $288 + 32,%rsp | 3719 addq $288 + 32,%rsp |
3717 .cfi_adjust_cfa_offset» -(288 + 32) | 3720 |
3718 popq %r9 | 3721 popq %r9 |
3719 .cfi_adjust_cfa_offset» -8 | 3722 |
3720 movq %r10,0(%r9) | 3723 movq %r10,0(%r9) |
3721 movq %r11,8(%r9) | 3724 movq %r11,8(%r9) |
3722 | 3725 |
3723 popq %r15 | 3726 popq %r15 |
3724 .cfi_adjust_cfa_offset» -8 | 3727 |
3725 popq %r14 | 3728 popq %r14 |
3726 .cfi_adjust_cfa_offset» -8 | 3729 |
3727 popq %r13 | 3730 popq %r13 |
3728 .cfi_adjust_cfa_offset» -8 | 3731 |
3729 popq %r12 | 3732 popq %r12 |
3730 .cfi_adjust_cfa_offset» -8 | 3733 |
3731 popq %rbx | 3734 popq %rbx |
3732 .cfi_adjust_cfa_offset» -8 | 3735 |
3733 popq %rbp | 3736 popq %rbp |
3734 .cfi_adjust_cfa_offset» -8 | 3737 |
3735 .byte 0xf3,0xc3 | 3738 .byte 0xf3,0xc3 |
3736 .cfi_adjust_cfa_offset» (8 * 6) + 288 + 32 | 3739 |
3737 | 3740 |
3738 seal_sse_128: | 3741 seal_sse_128: |
3739 movdqu .chacha20_consts(%rip),%xmm0 | 3742 movdqu .chacha20_consts(%rip),%xmm0 |
3740 movdqa %xmm0,%xmm1 | 3743 movdqa %xmm0,%xmm1 |
3741 movdqa %xmm0,%xmm2 | 3744 movdqa %xmm0,%xmm2 |
3742 movdqu 0(%r9),%xmm4 | 3745 movdqu 0(%r9),%xmm4 |
3743 movdqa %xmm4,%xmm5 | 3746 movdqa %xmm4,%xmm5 |
3744 movdqa %xmm4,%xmm6 | 3747 movdqa %xmm4,%xmm6 |
3745 movdqu 16(%r9),%xmm8 | 3748 movdqu 16(%r9),%xmm8 |
3746 movdqa %xmm8,%xmm9 | 3749 movdqa %xmm8,%xmm9 |
(...skipping 5028 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
8775 adcq %r9,%r11 | 8778 adcq %r9,%r11 |
8776 adcq $0,%r12 | 8779 adcq $0,%r12 |
8777 | 8780 |
8778 leaq 16(%rdi),%rdi | 8781 leaq 16(%rdi),%rdi |
8779 vextracti128 $1,%ymm0,%xmm0 | 8782 vextracti128 $1,%ymm0,%xmm0 |
8780 1: | 8783 1: |
8781 vzeroupper | 8784 vzeroupper |
8782 jmp seal_sse_tail_16 | 8785 jmp seal_sse_tail_16 |
8783 .cfi_endproc | 8786 .cfi_endproc |
8784 #endif | 8787 #endif |
OLD | NEW |