1 #if defined(__x86_64__)
4 .extern OPENSSL_ia32cap_P
5 .hidden OPENSSL_ia32cap_P
6 .globl sha256_block_data_order
7 .hidden sha256_block_data_order
8 .type sha256_block_data_order,@function
10 sha256_block_data_order:
11 leaq OPENSSL_ia32cap_P(%rip),%r11
26 leaq (%rsi,%rdx,4),%rdx
1670 movq 64+0(%rsp),%rdi
1683 cmpq 64+16(%rsp),%rsi
1695 movq 64+24(%rsp),%rsi
1705 .size sha256_block_data_order,.-sha256_block_data_order
1709 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1710 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
1711 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1712 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
1713 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1714 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
1715 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1716 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
1717 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1718 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
1719 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1720 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
1721 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1722 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
1723 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1724 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
1725 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1726 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
1727 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1728 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
1729 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1730 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
1731 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1732 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
1733 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1734 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
1735 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1736 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
1737 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1738 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
1739 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1740 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
1742 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1743 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
1744 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1745 .long 0x03020100,0x0b0a0908,0xffffffff,0xffffffff
1746 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1747 .long 0xffffffff,0xffffffff,0x03020100,0x0b0a0908
1748 .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
1749 .type sha256_block_data_order_ssse3,@function
1751 sha256_block_data_order_ssse3:
1762 leaq (%rsi,%rdx,4),%rdx
1764 movq %rdi,64+0(%rsp)
1765 movq %rsi,64+8(%rsp)
1766 movq %rdx,64+16(%rsp)
1767 movq %r11,64+24(%rsp)
1783 movdqa K256+512(%rip),%xmm7
1784 movdqu 0(%rsi),%xmm0
1785 movdqu 16(%rsi),%xmm1
1786 movdqu 32(%rsi),%xmm2
1787 .byte 102,15,56,0,199
1788 movdqu 48(%rsi),%xmm3
1789 leaq K256(%rip),%rbp
1790 .byte 102,15,56,0,207
1791 movdqa 0(%rbp),%xmm4
1792 movdqa 32(%rbp),%xmm5
1793 .byte 102,15,56,0,215
1795 movdqa 64(%rbp),%xmm6
1796 .byte 102,15,56,0,223
1797 movdqa 96(%rbp),%xmm7
1801 movdqa %xmm4,0(%rsp)
1803 movdqa %xmm5,16(%rsp)
1805 movdqa %xmm6,32(%rsp)
1807 movdqa %xmm7,48(%rsp)
1824 .byte 102,15,58,15,224,4
1827 .byte 102,15,58,15,250,4
1848 pshufd $250,%xmm3,%xmm7
1899 pshufd $128,%xmm7,%xmm7
1913 pshufd $80,%xmm0,%xmm7
1940 pshufd $8,%xmm7,%xmm7
1943 movdqa 0(%rbp),%xmm6
1957 movdqa %xmm6,0(%rsp)
1968 .byte 102,15,58,15,225,4
1971 .byte 102,15,58,15,251,4
1992 pshufd $250,%xmm0,%xmm7
2043 pshufd $128,%xmm7,%xmm7
2057 pshufd $80,%xmm1,%xmm7
2084 pshufd $8,%xmm7,%xmm7
2087 movdqa 32(%rbp),%xmm6
2101 movdqa %xmm6,16(%rsp)
2112 .byte 102,15,58,15,226,4
2115 .byte 102,15,58,15,248,4
2136 pshufd $250,%xmm1,%xmm7
2187 pshufd $128,%xmm7,%xmm7
2201 pshufd $80,%xmm2,%xmm7
2228 pshufd $8,%xmm7,%xmm7
2231 movdqa 64(%rbp),%xmm6
2245 movdqa %xmm6,32(%rsp)
2256 .byte 102,15,58,15,227,4
2259 .byte 102,15,58,15,249,4
2280 pshufd $250,%xmm2,%xmm7
2331 pshufd $128,%xmm7,%xmm7
2345 pshufd $80,%xmm3,%xmm7
2372 pshufd $8,%xmm7,%xmm7
2375 movdqa 96(%rbp),%xmm6
2389 movdqa %xmm6,48(%rsp)
2808 movq 64+0(%rsp),%rdi
2821 cmpq 64+16(%rsp),%rsi
2833 movq 64+24(%rsp),%rsi
2843 .size sha256_block_data_order_ssse3,.-sha256_block_data_order_ssse3