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
44 .def sha1_block_data_order; .scl 2; .type 32; .endef
46 sha1_block_data_order:
50 .LSEH_begin_sha1_block_data_order:
55 movl _gnutls_x86_cpuid_s+0(%rip),%r9d
56 movl _gnutls_x86_cpuid_s+4(%rip),%r8d
57 movl _gnutls_x86_cpuid_s+8(%rip),%r10d
95 leal 1518500249(%rdx,%r13,1),%r13d
108 leal 1518500249(%rbp,%r12,1),%r12d
121 leal 1518500249(%rdx,%r11,1),%r11d
134 leal 1518500249(%rbp,%rdi,1),%edi
147 leal 1518500249(%rdx,%rsi,1),%esi
160 leal 1518500249(%rbp,%r13,1),%r13d
173 leal 1518500249(%rdx,%r12,1),%r12d
186 leal 1518500249(%rbp,%r11,1),%r11d
199 leal 1518500249(%rdx,%rdi,1),%edi
212 leal 1518500249(%rbp,%rsi,1),%esi
225 leal 1518500249(%rdx,%r13,1),%r13d
238 leal 1518500249(%rbp,%r12,1),%r12d
251 leal 1518500249(%rdx,%r11,1),%r11d
264 leal 1518500249(%rbp,%rdi,1),%edi
277 leal 1518500249(%rdx,%rsi,1),%esi
292 leal 1518500249(%rbp,%r13,1),%r13d
308 leal 1518500249(%rdx,%r12,1),%r12d
324 leal 1518500249(%rbp,%r11,1),%r11d
340 leal 1518500249(%rdx,%rdi,1),%edi
356 leal 1518500249(%rbp,%rsi,1),%esi
370 leal 1859775393(%rdx,%r13,1),%r13d
385 leal 1859775393(%rbp,%r12,1),%r12d
400 leal 1859775393(%rdx,%r11,1),%r11d
415 leal 1859775393(%rbp,%rdi,1),%edi
430 leal 1859775393(%rdx,%rsi,1),%esi
445 leal 1859775393(%rbp,%r13,1),%r13d
460 leal 1859775393(%rdx,%r12,1),%r12d
475 leal 1859775393(%rbp,%r11,1),%r11d
490 leal 1859775393(%rdx,%rdi,1),%edi
505 leal 1859775393(%rbp,%rsi,1),%esi
520 leal 1859775393(%rdx,%r13,1),%r13d
535 leal 1859775393(%rbp,%r12,1),%r12d
550 leal 1859775393(%rdx,%r11,1),%r11d
565 leal 1859775393(%rbp,%rdi,1),%edi
580 leal 1859775393(%rdx,%rsi,1),%esi
595 leal 1859775393(%rbp,%r13,1),%r13d
610 leal 1859775393(%rdx,%r12,1),%r12d
625 leal 1859775393(%rbp,%r11,1),%r11d
640 leal 1859775393(%rdx,%rdi,1),%edi
655 leal 1859775393(%rbp,%rsi,1),%esi
672 leal -1894007588(%rdx,%r13,1),%r13d
690 leal -1894007588(%rbp,%r12,1),%r12d
708 leal -1894007588(%rdx,%r11,1),%r11d
726 leal -1894007588(%rbp,%rdi,1),%edi
744 leal -1894007588(%rdx,%rsi,1),%esi
762 leal -1894007588(%rbp,%r13,1),%r13d
780 leal -1894007588(%rdx,%r12,1),%r12d
798 leal -1894007588(%rbp,%r11,1),%r11d
816 leal -1894007588(%rdx,%rdi,1),%edi
834 leal -1894007588(%rbp,%rsi,1),%esi
852 leal -1894007588(%rdx,%r13,1),%r13d
870 leal -1894007588(%rbp,%r12,1),%r12d
888 leal -1894007588(%rdx,%r11,1),%r11d
906 leal -1894007588(%rbp,%rdi,1),%edi
924 leal -1894007588(%rdx,%rsi,1),%esi
942 leal -1894007588(%rbp,%r13,1),%r13d
960 leal -1894007588(%rdx,%r12,1),%r12d
978 leal -1894007588(%rbp,%r11,1),%r11d
996 leal -1894007588(%rdx,%rdi,1),%edi
1014 leal -1894007588(%rbp,%rsi,1),%esi
1030 leal -899497514(%rdx,%r13,1),%r13d
1045 leal -899497514(%rbp,%r12,1),%r12d
1060 leal -899497514(%rdx,%r11,1),%r11d
1075 leal -899497514(%rbp,%rdi,1),%edi
1090 leal -899497514(%rdx,%rsi,1),%esi
1105 leal -899497514(%rbp,%r13,1),%r13d
1120 leal -899497514(%rdx,%r12,1),%r12d
1135 leal -899497514(%rbp,%r11,1),%r11d
1150 leal -899497514(%rdx,%rdi,1),%edi
1165 leal -899497514(%rbp,%rsi,1),%esi
1180 leal -899497514(%rdx,%r13,1),%r13d
1195 leal -899497514(%rbp,%r12,1),%r12d
1210 leal -899497514(%rdx,%r11,1),%r11d
1225 leal -899497514(%rbp,%rdi,1),%edi
1240 leal -899497514(%rdx,%rsi,1),%esi
1255 leal -899497514(%rbp,%r13,1),%r13d
1270 leal -899497514(%rdx,%r12,1),%r12d
1284 leal -899497514(%rbp,%r11,1),%r11d
1298 leal -899497514(%rdx,%rdi,1),%edi
1309 leal -899497514(%rbp,%rsi,1),%esi
1340 .LSEH_end_sha1_block_data_order:
1341 .def sha1_block_data_order_ssse3; .scl 3; .type 32; .endef
1343 sha1_block_data_order_ssse3:
1347 .LSEH_begin_sha1_block_data_order_ssse3:
1356 leaq -160(%rsp),%rsp
1357 movaps %xmm6,64+0(%rsp)
1358 movaps %xmm7,64+16(%rsp)
1359 movaps %xmm8,64+32(%rsp)
1360 movaps %xmm9,64+48(%rsp)
1361 movaps %xmm10,64+64(%rsp)
1362 movaps %xmm11,64+80(%rsp)
1370 leaq K_XX_XX+64(%rip),%r11
1382 movdqa 64(%r11),%xmm6
1383 movdqa -64(%r11),%xmm9
1385 movdqu 16(%r9),%xmm1
1386 movdqu 32(%r9),%xmm2
1387 movdqu 48(%r9),%xmm3
1388 .byte 102,15,56,0,198
1390 .byte 102,15,56,0,206
1391 .byte 102,15,56,0,214
1392 .byte 102,15,56,0,222
1396 movdqa %xmm0,0(%rsp)
1398 movdqa %xmm1,16(%rsp)
1400 movdqa %xmm2,32(%rsp)
1409 .byte 102,15,58,15,224,8
1429 movdqa %xmm9,48(%rsp)
1460 movdqa -64(%r11),%xmm10
1470 .byte 102,15,58,15,233,8
1490 movdqa %xmm10,0(%rsp)
1521 movdqa -32(%r11),%xmm8
1531 .byte 102,15,58,15,242,8
1551 movdqa %xmm8,16(%rsp)
1582 movdqa -32(%r11),%xmm9
1592 .byte 102,15,58,15,251,8
1612 movdqa %xmm9,32(%rsp)
1643 movdqa -32(%r11),%xmm10
1652 .byte 102,68,15,58,15,206,8
1669 movdqa %xmm10,48(%rsp)
1702 .byte 102,68,15,58,15,215,8
1719 movdqa %xmm8,0(%rsp)
1746 .byte 102,68,15,58,15,192,8
1753 movdqa 0(%r11),%xmm10
1763 movdqa %xmm9,16(%rsp)
1790 .byte 102,68,15,58,15,201,8
1807 movdqa %xmm10,32(%rsp)
1834 .byte 102,68,15,58,15,210,8
1851 movdqa %xmm8,48(%rsp)
1878 .byte 102,68,15,58,15,195,8
1895 movdqa %xmm9,0(%rsp)
1923 .byte 102,68,15,58,15,204,8
1940 movdqa %xmm10,16(%rsp)
1979 .byte 102,68,15,58,15,213,8
1986 movdqa 32(%r11),%xmm9
1996 movdqa %xmm8,32(%rsp)
2035 .byte 102,68,15,58,15,198,8
2052 movdqa %xmm9,48(%rsp)
2091 .byte 102,68,15,58,15,207,8
2108 movdqa %xmm10,0(%rsp)
2147 .byte 102,68,15,58,15,208,8
2164 movdqa %xmm8,16(%rsp)
2202 .byte 102,68,15,58,15,193,8
2219 movdqa %xmm9,32(%rsp)
2249 movdqa %xmm10,48(%rsp)
2279 movdqa 64(%r11),%xmm6
2280 movdqa -64(%r11),%xmm9
2282 movdqu 16(%r9),%xmm1
2283 movdqu 32(%r9),%xmm2
2284 movdqu 48(%r9),%xmm3
2285 .byte 102,15,56,0,198
2289 .byte 102,15,56,0,206
2298 movdqa %xmm0,0(%rsp)
2325 .byte 102,15,56,0,214
2334 movdqa %xmm1,16(%rsp)
2361 .byte 102,15,56,0,222
2370 movdqa %xmm2,32(%rsp)
2517 movaps 64+0(%rsp),%xmm6
2518 movaps 64+16(%rsp),%xmm7
2519 movaps 64+32(%rsp),%xmm8
2520 movaps 64+48(%rsp),%xmm9
2521 movaps 64+64(%rsp),%xmm10
2522 movaps 64+80(%rsp),%xmm11
2532 .LSEH_end_sha1_block_data_order_ssse3:
2535 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2536 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2537 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2538 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2539 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2540 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2541 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2542 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2543 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2544 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2545 .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
2548 .def se_handler; .scl 3; .type 32; .endef
2565 leaq .Lprologue(%rip),%r10
2567 jb .Lcommon_seh_tail
2571 leaq .Lepilogue(%rip),%r10
2573 jae .Lcommon_seh_tail
2587 jmp .Lcommon_seh_tail
2590 .def ssse3_handler; .scl 3; .type 32; .endef
2611 leaq (%rsi,%r10,1),%r10
2613 jb .Lcommon_seh_tail
2618 leaq (%rsi,%r10,1),%r10
2620 jae .Lcommon_seh_tail
2659 call *__imp_RtlVirtualUnwind(%rip)
2677 .rva .LSEH_begin_sha1_block_data_order
2678 .rva .LSEH_end_sha1_block_data_order
2679 .rva .LSEH_info_sha1_block_data_order
2680 .rva .LSEH_begin_sha1_block_data_order_ssse3
2681 .rva .LSEH_end_sha1_block_data_order_ssse3
2682 .rva .LSEH_info_sha1_block_data_order_ssse3
2685 .LSEH_info_sha1_block_data_order:
2688 .LSEH_info_sha1_block_data_order_ssse3:
2691 .rva .Lprologue_ssse3,.Lepilogue_ssse3
2693 .section .note.GNU-stack,"",%progbits