1 #if defined(__x86_64__)
5 .globl _sha256_block_data_order
6 .private_extern _sha256_block_data_order
9 _sha256_block_data_order:
10 leaq _OPENSSL_ia32cap_P(%rip),%r11
25 leaq (%rsi,%rdx,4),%rdx
1669 movq 64+0(%rsp),%rdi
1682 cmpq 64+16(%rsp),%rsi
1694 movq 64+24(%rsp),%rsi
1708 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1709 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1710 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1711 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1712 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1713 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1714 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1715 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1716 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1717 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1718 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1719 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1720 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1721 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1722 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1723 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1724 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1725 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1726 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1727 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1728 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1729 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1730 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1731 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1732 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1733 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1734 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1735 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1736 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1737 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1738 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1739 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1741 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1742 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1743 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1744 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1745 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1746 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1747 .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
1750 sha256_block_data_order_ssse3:
1761 leaq (%rsi,%rdx,4),%rdx
1763 movq %rdi,64+0(%rsp)
1764 movq %rsi,64+8(%rsp)
1765 movq %rdx,64+16(%rsp)
1766 movq %r11,64+24(%rsp)
1782 movdqa K256+512(%rip),%xmm7
1783 movdqu 0(%rsi),%xmm0
1784 movdqu 16(%rsi),%xmm1
1785 movdqu 32(%rsi),%xmm2
1786 .byte 102,15,56,0,199
1787 movdqu 48(%rsi),%xmm3
1788 leaq K256(%rip),%rbp
1789 .byte 102,15,56,0,207
1790 movdqa 0(%rbp),%xmm4
1791 movdqa 32(%rbp),%xmm5
1792 .byte 102,15,56,0,215
1794 movdqa 64(%rbp),%xmm6
1795 .byte 102,15,56,0,223
1796 movdqa 96(%rbp),%xmm7
1800 movdqa %xmm4,0(%rsp)
1802 movdqa %xmm5,16(%rsp)
1804 movdqa %xmm6,32(%rsp)
1806 movdqa %xmm7,48(%rsp)
1823 .byte 102,15,58,15,224,4
1826 .byte 102,15,58,15,250,4
1847 pshufd $250,%xmm3,%xmm7
1898 pshufd $128,%xmm7,%xmm7
1912 pshufd $80,%xmm0,%xmm7
1939 pshufd $8,%xmm7,%xmm7
1942 movdqa 0(%rbp),%xmm6
1956 movdqa %xmm6,0(%rsp)
1967 .byte 102,15,58,15,225,4
1970 .byte 102,15,58,15,251,4
1991 pshufd $250,%xmm0,%xmm7
2042 pshufd $128,%xmm7,%xmm7
2056 pshufd $80,%xmm1,%xmm7
2083 pshufd $8,%xmm7,%xmm7
2086 movdqa 32(%rbp),%xmm6
2100 movdqa %xmm6,16(%rsp)
2111 .byte 102,15,58,15,226,4
2114 .byte 102,15,58,15,248,4
2135 pshufd $250,%xmm1,%xmm7
2186 pshufd $128,%xmm7,%xmm7
2200 pshufd $80,%xmm2,%xmm7
2227 pshufd $8,%xmm7,%xmm7
2230 movdqa 64(%rbp),%xmm6
2244 movdqa %xmm6,32(%rsp)
2255 .byte 102,15,58,15,227,4
2258 .byte 102,15,58,15,249,4
2279 pshufd $250,%xmm2,%xmm7
2330 pshufd $128,%xmm7,%xmm7
2344 pshufd $80,%xmm3,%xmm7
2371 pshufd $8,%xmm7,%xmm7
2374 movdqa 96(%rbp),%xmm6
2388 movdqa %xmm6,48(%rsp)
2807 movq 64+0(%rsp),%rdi
2820 cmpq 64+16(%rsp),%rsi
2832 movq 64+24(%rsp),%rsi