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 _sha256_block_data_order
46 _sha256_block_data_order:
47 leaq __gnutls_x86_cpuid_s(%rip),%r11
62 leaq (%rsi,%rdx,4),%rdx
1706 movq 64+0(%rsp),%rdi
1719 cmpq 64+16(%rsp),%rsi
1731 movq 64+24(%rsp),%rsi
1745 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1746 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1747 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1748 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1749 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1750 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1751 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1752 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1753 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1754 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1755 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1756 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1757 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1758 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1759 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1760 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1761 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1762 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1763 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1764 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1765 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1766 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1767 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1768 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1769 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1770 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1771 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1772 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1773 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1774 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1775 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1776 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1778 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1779 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1780 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1781 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1782 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1783 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1784 .byte 83,72,65,50,53,54,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
1787 sha256_block_data_order_ssse3:
1798 leaq (%rsi,%rdx,4),%rdx
1800 movq %rdi,64+0(%rsp)
1801 movq %rsi,64+8(%rsp)
1802 movq %rdx,64+16(%rsp)
1803 movq %r11,64+24(%rsp)
1819 movdqa K256+512(%rip),%xmm7
1820 movdqu 0(%rsi),%xmm0
1821 movdqu 16(%rsi),%xmm1
1822 movdqu 32(%rsi),%xmm2
1823 movdqu 48(%rsi),%xmm3
1824 .byte 102,15,56,0,199
1825 leaq K256(%rip),%rbp
1826 .byte 102,15,56,0,207
1827 movdqa 0(%rbp),%xmm4
1828 .byte 102,15,56,0,215
1829 movdqa 32(%rbp),%xmm5
1831 movdqa 64(%rbp),%xmm6
1832 .byte 102,15,56,0,223
1833 movdqa 96(%rbp),%xmm7
1837 movdqa %xmm4,0(%rsp)
1839 movdqa %xmm5,16(%rsp)
1841 movdqa %xmm6,32(%rsp)
1843 movdqa %xmm7,48(%rsp)
1860 .byte 102,15,58,15,224,4
1863 .byte 102,15,58,15,250,4
1884 pshufd $250,%xmm3,%xmm7
1935 pshufd $128,%xmm7,%xmm7
1949 pshufd $80,%xmm0,%xmm7
1976 pshufd $8,%xmm7,%xmm7
1979 movdqa 0(%rbp),%xmm6
1993 movdqa %xmm6,0(%rsp)
2004 .byte 102,15,58,15,225,4
2007 .byte 102,15,58,15,251,4
2028 pshufd $250,%xmm0,%xmm7
2079 pshufd $128,%xmm7,%xmm7
2093 pshufd $80,%xmm1,%xmm7
2120 pshufd $8,%xmm7,%xmm7
2123 movdqa 32(%rbp),%xmm6
2137 movdqa %xmm6,16(%rsp)
2148 .byte 102,15,58,15,226,4
2151 .byte 102,15,58,15,248,4
2172 pshufd $250,%xmm1,%xmm7
2223 pshufd $128,%xmm7,%xmm7
2237 pshufd $80,%xmm2,%xmm7
2264 pshufd $8,%xmm7,%xmm7
2267 movdqa 64(%rbp),%xmm6
2281 movdqa %xmm6,32(%rsp)
2292 .byte 102,15,58,15,227,4
2295 .byte 102,15,58,15,249,4
2316 pshufd $250,%xmm2,%xmm7
2367 pshufd $128,%xmm7,%xmm7
2381 pshufd $80,%xmm3,%xmm7
2408 pshufd $8,%xmm7,%xmm7
2411 movdqa 96(%rbp),%xmm6
2425 movdqa %xmm6,48(%rsp)