1 # Copyright (c) 2011-2013, Andy Polyakov <appro@openssl.org>
4 # Redistribution and use in source and binary forms, with or without
5 # modification, are permitted provided that the following conditions
8 # * Redistributions of source code must retain copyright notices,
9 # this list of conditions and the following disclaimer.
11 # * Redistributions in binary form must reproduce the above
12 # copyright notice, this list of conditions and the following
13 # disclaimer in the documentation and/or other materials
14 # provided with the distribution.
16 # * Neither the name of the Andy Polyakov nor the names of its
17 # copyright holder and contributors may be used to endorse or
18 # promote products derived from this software without specific
19 # prior written permission.
21 # ALTERNATIVELY, provided that this notice is retained in full, this
22 # product may be distributed under the terms of the GNU General Public
23 # License (GPL), in which case the provisions of the GPL apply INSTEAD OF
26 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND CONTRIBUTORS
27 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 # A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 # OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 # SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 # LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38 # *** This file is auto-generated ***
43 .globl _sha1_block_data_order
46 _sha1_block_data_order:
47 movl __gnutls_x86_cpuid_s+0(%rip),%r9d
48 movl __gnutls_x86_cpuid_s+4(%rip),%r8d
49 movl __gnutls_x86_cpuid_s+8(%rip),%r10d
87 leal 1518500249(%rdx,%r13,1),%r13d
100 leal 1518500249(%rbp,%r12,1),%r12d
113 leal 1518500249(%rdx,%r11,1),%r11d
126 leal 1518500249(%rbp,%rdi,1),%edi
139 leal 1518500249(%rdx,%rsi,1),%esi
152 leal 1518500249(%rbp,%r13,1),%r13d
165 leal 1518500249(%rdx,%r12,1),%r12d
178 leal 1518500249(%rbp,%r11,1),%r11d
191 leal 1518500249(%rdx,%rdi,1),%edi
204 leal 1518500249(%rbp,%rsi,1),%esi
217 leal 1518500249(%rdx,%r13,1),%r13d
230 leal 1518500249(%rbp,%r12,1),%r12d
243 leal 1518500249(%rdx,%r11,1),%r11d
256 leal 1518500249(%rbp,%rdi,1),%edi
269 leal 1518500249(%rdx,%rsi,1),%esi
284 leal 1518500249(%rbp,%r13,1),%r13d
300 leal 1518500249(%rdx,%r12,1),%r12d
316 leal 1518500249(%rbp,%r11,1),%r11d
332 leal 1518500249(%rdx,%rdi,1),%edi
348 leal 1518500249(%rbp,%rsi,1),%esi
362 leal 1859775393(%rdx,%r13,1),%r13d
377 leal 1859775393(%rbp,%r12,1),%r12d
392 leal 1859775393(%rdx,%r11,1),%r11d
407 leal 1859775393(%rbp,%rdi,1),%edi
422 leal 1859775393(%rdx,%rsi,1),%esi
437 leal 1859775393(%rbp,%r13,1),%r13d
452 leal 1859775393(%rdx,%r12,1),%r12d
467 leal 1859775393(%rbp,%r11,1),%r11d
482 leal 1859775393(%rdx,%rdi,1),%edi
497 leal 1859775393(%rbp,%rsi,1),%esi
512 leal 1859775393(%rdx,%r13,1),%r13d
527 leal 1859775393(%rbp,%r12,1),%r12d
542 leal 1859775393(%rdx,%r11,1),%r11d
557 leal 1859775393(%rbp,%rdi,1),%edi
572 leal 1859775393(%rdx,%rsi,1),%esi
587 leal 1859775393(%rbp,%r13,1),%r13d
602 leal 1859775393(%rdx,%r12,1),%r12d
617 leal 1859775393(%rbp,%r11,1),%r11d
632 leal 1859775393(%rdx,%rdi,1),%edi
647 leal 1859775393(%rbp,%rsi,1),%esi
664 leal -1894007588(%rdx,%r13,1),%r13d
682 leal -1894007588(%rbp,%r12,1),%r12d
700 leal -1894007588(%rdx,%r11,1),%r11d
718 leal -1894007588(%rbp,%rdi,1),%edi
736 leal -1894007588(%rdx,%rsi,1),%esi
754 leal -1894007588(%rbp,%r13,1),%r13d
772 leal -1894007588(%rdx,%r12,1),%r12d
790 leal -1894007588(%rbp,%r11,1),%r11d
808 leal -1894007588(%rdx,%rdi,1),%edi
826 leal -1894007588(%rbp,%rsi,1),%esi
844 leal -1894007588(%rdx,%r13,1),%r13d
862 leal -1894007588(%rbp,%r12,1),%r12d
880 leal -1894007588(%rdx,%r11,1),%r11d
898 leal -1894007588(%rbp,%rdi,1),%edi
916 leal -1894007588(%rdx,%rsi,1),%esi
934 leal -1894007588(%rbp,%r13,1),%r13d
952 leal -1894007588(%rdx,%r12,1),%r12d
970 leal -1894007588(%rbp,%r11,1),%r11d
988 leal -1894007588(%rdx,%rdi,1),%edi
1006 leal -1894007588(%rbp,%rsi,1),%esi
1022 leal -899497514(%rdx,%r13,1),%r13d
1037 leal -899497514(%rbp,%r12,1),%r12d
1052 leal -899497514(%rdx,%r11,1),%r11d
1067 leal -899497514(%rbp,%rdi,1),%edi
1082 leal -899497514(%rdx,%rsi,1),%esi
1097 leal -899497514(%rbp,%r13,1),%r13d
1112 leal -899497514(%rdx,%r12,1),%r12d
1127 leal -899497514(%rbp,%r11,1),%r11d
1142 leal -899497514(%rdx,%rdi,1),%edi
1157 leal -899497514(%rbp,%rsi,1),%esi
1172 leal -899497514(%rdx,%r13,1),%r13d
1187 leal -899497514(%rbp,%r12,1),%r12d
1202 leal -899497514(%rdx,%r11,1),%r11d
1217 leal -899497514(%rbp,%rdi,1),%edi
1232 leal -899497514(%rdx,%rsi,1),%esi
1247 leal -899497514(%rbp,%r13,1),%r13d
1262 leal -899497514(%rdx,%r12,1),%r12d
1276 leal -899497514(%rbp,%r11,1),%r11d
1290 leal -899497514(%rdx,%rdi,1),%edi
1301 leal -899497514(%rbp,%rsi,1),%esi
1333 sha1_block_data_order_ssse3:
1345 leaq K_XX_XX+64(%rip),%r11
1357 movdqa 64(%r11),%xmm6
1358 movdqa -64(%r11),%xmm9
1360 movdqu 16(%r9),%xmm1
1361 movdqu 32(%r9),%xmm2
1362 movdqu 48(%r9),%xmm3
1363 .byte 102,15,56,0,198
1365 .byte 102,15,56,0,206
1366 .byte 102,15,56,0,214
1367 .byte 102,15,56,0,222
1371 movdqa %xmm0,0(%rsp)
1373 movdqa %xmm1,16(%rsp)
1375 movdqa %xmm2,32(%rsp)
1384 .byte 102,15,58,15,224,8
1404 movdqa %xmm9,48(%rsp)
1435 movdqa -64(%r11),%xmm10
1445 .byte 102,15,58,15,233,8
1465 movdqa %xmm10,0(%rsp)
1496 movdqa -32(%r11),%xmm8
1506 .byte 102,15,58,15,242,8
1526 movdqa %xmm8,16(%rsp)
1557 movdqa -32(%r11),%xmm9
1567 .byte 102,15,58,15,251,8
1587 movdqa %xmm9,32(%rsp)
1618 movdqa -32(%r11),%xmm10
1627 .byte 102,68,15,58,15,206,8
1644 movdqa %xmm10,48(%rsp)
1677 .byte 102,68,15,58,15,215,8
1694 movdqa %xmm8,0(%rsp)
1721 .byte 102,68,15,58,15,192,8
1728 movdqa 0(%r11),%xmm10
1738 movdqa %xmm9,16(%rsp)
1765 .byte 102,68,15,58,15,201,8
1782 movdqa %xmm10,32(%rsp)
1809 .byte 102,68,15,58,15,210,8
1826 movdqa %xmm8,48(%rsp)
1853 .byte 102,68,15,58,15,195,8
1870 movdqa %xmm9,0(%rsp)
1898 .byte 102,68,15,58,15,204,8
1915 movdqa %xmm10,16(%rsp)
1954 .byte 102,68,15,58,15,213,8
1961 movdqa 32(%r11),%xmm9
1971 movdqa %xmm8,32(%rsp)
2010 .byte 102,68,15,58,15,198,8
2027 movdqa %xmm9,48(%rsp)
2066 .byte 102,68,15,58,15,207,8
2083 movdqa %xmm10,0(%rsp)
2122 .byte 102,68,15,58,15,208,8
2139 movdqa %xmm8,16(%rsp)
2177 .byte 102,68,15,58,15,193,8
2194 movdqa %xmm9,32(%rsp)
2224 movdqa %xmm10,48(%rsp)
2254 movdqa 64(%r11),%xmm6
2255 movdqa -64(%r11),%xmm9
2257 movdqu 16(%r9),%xmm1
2258 movdqu 32(%r9),%xmm2
2259 movdqu 48(%r9),%xmm3
2260 .byte 102,15,56,0,198
2264 .byte 102,15,56,0,206
2273 movdqa %xmm0,0(%rsp)
2300 .byte 102,15,56,0,214
2309 movdqa %xmm1,16(%rsp)
2336 .byte 102,15,56,0,222
2345 movdqa %xmm2,32(%rsp)
2502 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2503 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2504 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2505 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2506 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2507 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2508 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2509 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2510 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2511 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2512 .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115,102,111,114,109,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2515 .section .note.GNU-stack,"",%progbits