1 #if defined(__x86_64__)
5 .globl _sha1_block_data_order
6 .private_extern _sha1_block_data_order
9 _sha1_block_data_order:
10 movl _OPENSSL_ia32cap_P+0(%rip),%r9d
11 movl _OPENSSL_ia32cap_P+4(%rip),%r8d
12 movl _OPENSSL_ia32cap_P+8(%rip),%r10d
52 leal 1518500249(%rdx,%r13,1),%r13d
65 leal 1518500249(%rbp,%r12,1),%r12d
78 leal 1518500249(%r14,%r11,1),%r11d
91 leal 1518500249(%rdx,%rdi,1),%edi
104 leal 1518500249(%rbp,%rsi,1),%esi
117 leal 1518500249(%r14,%r13,1),%r13d
130 leal 1518500249(%rdx,%r12,1),%r12d
143 leal 1518500249(%rbp,%r11,1),%r11d
156 leal 1518500249(%r14,%rdi,1),%edi
169 leal 1518500249(%rdx,%rsi,1),%esi
182 leal 1518500249(%rbp,%r13,1),%r13d
195 leal 1518500249(%r14,%r12,1),%r12d
208 leal 1518500249(%rdx,%r11,1),%r11d
221 leal 1518500249(%rbp,%rdi,1),%edi
234 leal 1518500249(%r14,%rsi,1),%esi
248 leal 1518500249(%rdx,%r13,1),%r13d
263 leal 1518500249(%rbp,%r12,1),%r12d
278 leal 1518500249(%r14,%r11,1),%r11d
293 leal 1518500249(%rdx,%rdi,1),%edi
308 leal 1518500249(%rbp,%rsi,1),%esi
322 leal 1859775393(%r14,%r13,1),%r13d
336 leal 1859775393(%rdx,%r12,1),%r12d
350 leal 1859775393(%rbp,%r11,1),%r11d
364 leal 1859775393(%r14,%rdi,1),%edi
378 leal 1859775393(%rdx,%rsi,1),%esi
392 leal 1859775393(%rbp,%r13,1),%r13d
406 leal 1859775393(%r14,%r12,1),%r12d
420 leal 1859775393(%rdx,%r11,1),%r11d
434 leal 1859775393(%rbp,%rdi,1),%edi
448 leal 1859775393(%r14,%rsi,1),%esi
462 leal 1859775393(%rdx,%r13,1),%r13d
476 leal 1859775393(%rbp,%r12,1),%r12d
490 leal 1859775393(%r14,%r11,1),%r11d
504 leal 1859775393(%rdx,%rdi,1),%edi
518 leal 1859775393(%rbp,%rsi,1),%esi
532 leal 1859775393(%r14,%r13,1),%r13d
546 leal 1859775393(%rdx,%r12,1),%r12d
560 leal 1859775393(%rbp,%r11,1),%r11d
574 leal 1859775393(%r14,%rdi,1),%edi
588 leal 1859775393(%rdx,%rsi,1),%esi
602 leal -1894007588(%rbp,%r13,1),%r13d
619 leal -1894007588(%r14,%r12,1),%r12d
636 leal -1894007588(%rdx,%r11,1),%r11d
653 leal -1894007588(%rbp,%rdi,1),%edi
670 leal -1894007588(%r14,%rsi,1),%esi
687 leal -1894007588(%rdx,%r13,1),%r13d
704 leal -1894007588(%rbp,%r12,1),%r12d
721 leal -1894007588(%r14,%r11,1),%r11d
738 leal -1894007588(%rdx,%rdi,1),%edi
755 leal -1894007588(%rbp,%rsi,1),%esi
772 leal -1894007588(%r14,%r13,1),%r13d
789 leal -1894007588(%rdx,%r12,1),%r12d
806 leal -1894007588(%rbp,%r11,1),%r11d
823 leal -1894007588(%r14,%rdi,1),%edi
840 leal -1894007588(%rdx,%rsi,1),%esi
857 leal -1894007588(%rbp,%r13,1),%r13d
874 leal -1894007588(%r14,%r12,1),%r12d
891 leal -1894007588(%rdx,%r11,1),%r11d
908 leal -1894007588(%rbp,%rdi,1),%edi
925 leal -1894007588(%r14,%rsi,1),%esi
942 leal -899497514(%rdx,%r13,1),%r13d
956 leal -899497514(%rbp,%r12,1),%r12d
970 leal -899497514(%r14,%r11,1),%r11d
984 leal -899497514(%rdx,%rdi,1),%edi
998 leal -899497514(%rbp,%rsi,1),%esi
1012 leal -899497514(%r14,%r13,1),%r13d
1026 leal -899497514(%rdx,%r12,1),%r12d
1040 leal -899497514(%rbp,%r11,1),%r11d
1054 leal -899497514(%r14,%rdi,1),%edi
1068 leal -899497514(%rdx,%rsi,1),%esi
1082 leal -899497514(%rbp,%r13,1),%r13d
1096 leal -899497514(%r14,%r12,1),%r12d
1110 leal -899497514(%rdx,%r11,1),%r11d
1124 leal -899497514(%rbp,%rdi,1),%edi
1138 leal -899497514(%r14,%rsi,1),%esi
1152 leal -899497514(%rdx,%r13,1),%r13d
1166 leal -899497514(%rbp,%r12,1),%r12d
1180 leal -899497514(%r14,%r11,1),%r11d
1194 leal -899497514(%rdx,%rdi,1),%edi
1203 leal -899497514(%rbp,%rsi,1),%esi
1236 sha1_block_data_order_ssse3:
1253 leaq K_XX_XX+64(%rip),%r11
1265 movdqa 64(%r11),%xmm6
1266 movdqa -64(%r11),%xmm9
1268 movdqu 16(%r9),%xmm1
1269 movdqu 32(%r9),%xmm2
1270 movdqu 48(%r9),%xmm3
1271 .byte 102,15,56,0,198
1272 .byte 102,15,56,0,206
1273 .byte 102,15,56,0,214
1276 .byte 102,15,56,0,222
1279 movdqa %xmm0,0(%rsp)
1281 movdqa %xmm1,16(%rsp)
1283 movdqa %xmm2,32(%rsp)
1289 pshufd $238,%xmm0,%xmm4
1295 punpcklqdq %xmm1,%xmm4
1312 movdqa %xmm9,48(%rsp)
1342 movdqa -64(%r11),%xmm10
1350 pshufd $238,%xmm1,%xmm5
1356 punpcklqdq %xmm2,%xmm5
1373 movdqa %xmm10,0(%rsp)
1403 movdqa -32(%r11),%xmm8
1411 pshufd $238,%xmm2,%xmm6
1417 punpcklqdq %xmm3,%xmm6
1434 movdqa %xmm8,16(%rsp)
1464 movdqa -32(%r11),%xmm9
1472 pshufd $238,%xmm3,%xmm7
1478 punpcklqdq %xmm4,%xmm7
1495 movdqa %xmm9,32(%rsp)
1525 movdqa -32(%r11),%xmm10
1530 pshufd $238,%xmm6,%xmm9
1538 punpcklqdq %xmm7,%xmm9
1556 movdqa %xmm10,48(%rsp)
1570 pshufd $238,%xmm7,%xmm10
1586 punpcklqdq %xmm0,%xmm10
1604 movdqa %xmm8,0(%rsp)
1619 pshufd $238,%xmm0,%xmm8
1630 punpcklqdq %xmm1,%xmm8
1636 movdqa 0(%r11),%xmm10
1648 movdqa %xmm9,16(%rsp)
1663 pshufd $238,%xmm1,%xmm9
1674 punpcklqdq %xmm2,%xmm9
1692 movdqa %xmm10,32(%rsp)
1707 pshufd $238,%xmm2,%xmm10
1718 punpcklqdq %xmm3,%xmm10
1736 movdqa %xmm8,48(%rsp)
1751 pshufd $238,%xmm3,%xmm8
1762 punpcklqdq %xmm4,%xmm8
1780 movdqa %xmm9,0(%rsp)
1795 pshufd $238,%xmm4,%xmm9
1809 punpcklqdq %xmm5,%xmm9
1828 movdqa %xmm10,16(%rsp)
1844 pshufd $238,%xmm5,%xmm10
1865 punpcklqdq %xmm6,%xmm10
1871 movdqa 32(%r11),%xmm9
1884 movdqa %xmm8,32(%rsp)
1900 pshufd $238,%xmm6,%xmm8
1921 punpcklqdq %xmm7,%xmm8
1940 movdqa %xmm9,48(%rsp)
1956 pshufd $238,%xmm7,%xmm9
1977 punpcklqdq %xmm0,%xmm9
1996 movdqa %xmm10,0(%rsp)
2012 pshufd $238,%xmm0,%xmm10
2033 punpcklqdq %xmm1,%xmm10
2052 movdqa %xmm8,16(%rsp)
2068 pshufd $238,%xmm1,%xmm8
2086 punpcklqdq %xmm2,%xmm8
2104 movdqa %xmm9,32(%rsp)
2133 movdqa %xmm10,48(%rsp)
2162 movdqa 64(%r11),%xmm6
2163 movdqa -64(%r11),%xmm9
2165 movdqu 16(%r9),%xmm1
2166 movdqu 32(%r9),%xmm2
2167 movdqu 48(%r9),%xmm3
2168 .byte 102,15,56,0,198
2173 .byte 102,15,56,0,206
2183 movdqa %xmm0,0(%rsp)
2209 .byte 102,15,56,0,214
2219 movdqa %xmm1,16(%rsp)
2245 .byte 102,15,56,0,222
2255 movdqa %xmm2,32(%rsp)
2412 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2413 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
2414 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2415 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2416 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2417 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2418 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2419 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2420 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2421 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2422 .byte 0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2423 .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