2 # Do not modify. This file is auto-generated from sha1-x86_64.pl.
6 .globl sha1_block_data_order
7 .type sha1_block_data_order,@function
10 movl OPENSSL_ia32cap_P+0(%rip),%r9d
11 movl OPENSSL_ia32cap_P+4(%rip),%r8d
54 leal 1518500249(%rdx,%r13,1),%r13d
67 leal 1518500249(%rbp,%r12,1),%r12d
80 leal 1518500249(%rdx,%r11,1),%r11d
93 leal 1518500249(%rbp,%rdi,1),%edi
106 leal 1518500249(%rdx,%rsi,1),%esi
119 leal 1518500249(%rbp,%r13,1),%r13d
132 leal 1518500249(%rdx,%r12,1),%r12d
145 leal 1518500249(%rbp,%r11,1),%r11d
158 leal 1518500249(%rdx,%rdi,1),%edi
171 leal 1518500249(%rbp,%rsi,1),%esi
184 leal 1518500249(%rdx,%r13,1),%r13d
197 leal 1518500249(%rbp,%r12,1),%r12d
210 leal 1518500249(%rdx,%r11,1),%r11d
223 leal 1518500249(%rbp,%rdi,1),%edi
236 leal 1518500249(%rdx,%rsi,1),%esi
251 leal 1518500249(%rbp,%r13,1),%r13d
267 leal 1518500249(%rdx,%r12,1),%r12d
283 leal 1518500249(%rbp,%r11,1),%r11d
299 leal 1518500249(%rdx,%rdi,1),%edi
315 leal 1518500249(%rbp,%rsi,1),%esi
329 leal 1859775393(%rdx,%r13,1),%r13d
344 leal 1859775393(%rbp,%r12,1),%r12d
359 leal 1859775393(%rdx,%r11,1),%r11d
374 leal 1859775393(%rbp,%rdi,1),%edi
389 leal 1859775393(%rdx,%rsi,1),%esi
404 leal 1859775393(%rbp,%r13,1),%r13d
419 leal 1859775393(%rdx,%r12,1),%r12d
434 leal 1859775393(%rbp,%r11,1),%r11d
449 leal 1859775393(%rdx,%rdi,1),%edi
464 leal 1859775393(%rbp,%rsi,1),%esi
479 leal 1859775393(%rdx,%r13,1),%r13d
494 leal 1859775393(%rbp,%r12,1),%r12d
509 leal 1859775393(%rdx,%r11,1),%r11d
524 leal 1859775393(%rbp,%rdi,1),%edi
539 leal 1859775393(%rdx,%rsi,1),%esi
554 leal 1859775393(%rbp,%r13,1),%r13d
569 leal 1859775393(%rdx,%r12,1),%r12d
584 leal 1859775393(%rbp,%r11,1),%r11d
599 leal 1859775393(%rdx,%rdi,1),%edi
614 leal 1859775393(%rbp,%rsi,1),%esi
631 leal -1894007588(%rdx,%r13,1),%r13d
649 leal -1894007588(%rbp,%r12,1),%r12d
667 leal -1894007588(%rdx,%r11,1),%r11d
685 leal -1894007588(%rbp,%rdi,1),%edi
703 leal -1894007588(%rdx,%rsi,1),%esi
721 leal -1894007588(%rbp,%r13,1),%r13d
739 leal -1894007588(%rdx,%r12,1),%r12d
757 leal -1894007588(%rbp,%r11,1),%r11d
775 leal -1894007588(%rdx,%rdi,1),%edi
793 leal -1894007588(%rbp,%rsi,1),%esi
811 leal -1894007588(%rdx,%r13,1),%r13d
829 leal -1894007588(%rbp,%r12,1),%r12d
847 leal -1894007588(%rdx,%r11,1),%r11d
865 leal -1894007588(%rbp,%rdi,1),%edi
883 leal -1894007588(%rdx,%rsi,1),%esi
901 leal -1894007588(%rbp,%r13,1),%r13d
919 leal -1894007588(%rdx,%r12,1),%r12d
937 leal -1894007588(%rbp,%r11,1),%r11d
955 leal -1894007588(%rdx,%rdi,1),%edi
973 leal -1894007588(%rbp,%rsi,1),%esi
989 leal -899497514(%rdx,%r13,1),%r13d
1004 leal -899497514(%rbp,%r12,1),%r12d
1019 leal -899497514(%rdx,%r11,1),%r11d
1034 leal -899497514(%rbp,%rdi,1),%edi
1049 leal -899497514(%rdx,%rsi,1),%esi
1064 leal -899497514(%rbp,%r13,1),%r13d
1079 leal -899497514(%rdx,%r12,1),%r12d
1094 leal -899497514(%rbp,%r11,1),%r11d
1109 leal -899497514(%rdx,%rdi,1),%edi
1124 leal -899497514(%rbp,%rsi,1),%esi
1139 leal -899497514(%rdx,%r13,1),%r13d
1154 leal -899497514(%rbp,%r12,1),%r12d
1169 leal -899497514(%rdx,%r11,1),%r11d
1184 leal -899497514(%rbp,%rdi,1),%edi
1199 leal -899497514(%rdx,%rsi,1),%esi
1214 leal -899497514(%rbp,%r13,1),%r13d
1229 leal -899497514(%rdx,%r12,1),%r12d
1243 leal -899497514(%rbp,%r11,1),%r11d
1257 leal -899497514(%rdx,%rdi,1),%edi
1268 leal -899497514(%rbp,%rsi,1),%esi
1297 .size sha1_block_data_order,.-sha1_block_data_order
1298 .type sha1_block_data_order_ssse3,@function
1300 sha1_block_data_order_ssse3:
1312 leaq K_XX_XX(%rip),%r11
1321 movdqa 64(%r11),%xmm6
1322 movdqa 0(%r11),%xmm9
1324 movdqu 16(%r9),%xmm1
1325 movdqu 32(%r9),%xmm2
1326 movdqu 48(%r9),%xmm3
1327 .byte 102,15,56,0,198
1329 .byte 102,15,56,0,206
1330 .byte 102,15,56,0,214
1331 .byte 102,15,56,0,222
1335 movdqa %xmm0,0(%rsp)
1337 movdqa %xmm1,16(%rsp)
1339 movdqa %xmm2,32(%rsp)
1348 .byte 102,15,58,15,224,8
1368 movdqa %xmm9,48(%rsp)
1399 movdqa 0(%r11),%xmm10
1409 .byte 102,15,58,15,233,8
1429 movdqa %xmm10,0(%rsp)
1460 movdqa 16(%r11),%xmm8
1470 .byte 102,15,58,15,242,8
1490 movdqa %xmm8,16(%rsp)
1521 movdqa 16(%r11),%xmm9
1531 .byte 102,15,58,15,251,8
1551 movdqa %xmm9,32(%rsp)
1582 movdqa 16(%r11),%xmm10
1591 .byte 102,68,15,58,15,206,8
1608 movdqa %xmm10,48(%rsp)
1643 .byte 102,68,15,58,15,215,8
1660 movdqa %xmm8,0(%rsp)
1687 .byte 102,68,15,58,15,192,8
1694 movdqa 32(%r11),%xmm10
1704 movdqa %xmm9,16(%rsp)
1731 .byte 102,68,15,58,15,201,8
1748 movdqa %xmm10,32(%rsp)
1775 .byte 102,68,15,58,15,210,8
1792 movdqa %xmm8,48(%rsp)
1819 .byte 102,68,15,58,15,195,8
1836 movdqa %xmm9,0(%rsp)
1863 .byte 102,68,15,58,15,204,8
1880 movdqa %xmm10,16(%rsp)
1923 .byte 102,68,15,58,15,213,8
1930 movdqa 48(%r11),%xmm9
1940 movdqa %xmm8,32(%rsp)
1983 .byte 102,68,15,58,15,198,8
2000 movdqa %xmm9,48(%rsp)
2043 .byte 102,68,15,58,15,207,8
2060 movdqa %xmm10,0(%rsp)
2103 .byte 102,68,15,58,15,208,8
2120 movdqa %xmm8,16(%rsp)
2163 .byte 102,68,15,58,15,193,8
2180 movdqa %xmm9,32(%rsp)
2210 movdqa %xmm10,48(%rsp)
2240 movdqa 64(%r11),%xmm6
2241 movdqa 0(%r11),%xmm9
2243 movdqu 16(%r9),%xmm1
2244 movdqu 32(%r9),%xmm2
2245 movdqu 48(%r9),%xmm3
2246 .byte 102,15,56,0,198
2250 .byte 102,15,56,0,206
2258 movdqa %xmm0,0(%rsp)
2286 .byte 102,15,56,0,214
2294 movdqa %xmm1,16(%rsp)
2322 .byte 102,15,56,0,222
2330 movdqa %xmm2,32(%rsp)
2484 .size sha1_block_data_order_ssse3,.-sha1_block_data_order_ssse3
2485 .type sha1_block_data_order_avx,@function
2487 sha1_block_data_order_avx:
2500 leaq K_XX_XX(%rip),%r11
2509 vmovdqa 64(%r11),%xmm6
2510 vmovdqa 0(%r11),%xmm9
2511 vmovdqu 0(%r9),%xmm0
2512 vmovdqu 16(%r9),%xmm1
2513 vmovdqu 32(%r9),%xmm2
2514 vmovdqu 48(%r9),%xmm3
2515 vpshufb %xmm6,%xmm0,%xmm0
2517 vpshufb %xmm6,%xmm1,%xmm1
2518 vpshufb %xmm6,%xmm2,%xmm2
2519 vpshufb %xmm6,%xmm3,%xmm3
2520 vpaddd %xmm9,%xmm0,%xmm4
2521 vpaddd %xmm9,%xmm1,%xmm5
2522 vpaddd %xmm9,%xmm2,%xmm6
2523 vmovdqa %xmm4,0(%rsp)
2524 vmovdqa %xmm5,16(%rsp)
2525 vmovdqa %xmm6,32(%rsp)
2531 vpalignr $8,%xmm0,%xmm1,%xmm4
2534 vpaddd %xmm3,%xmm9,%xmm9
2537 vpsrldq $4,%xmm3,%xmm8
2540 vpxor %xmm0,%xmm4,%xmm4
2543 vpxor %xmm2,%xmm8,%xmm8
2548 vpxor %xmm8,%xmm4,%xmm4
2551 vmovdqa %xmm9,48(%rsp)
2554 vpsrld $31,%xmm4,%xmm8
2559 vpslldq $12,%xmm4,%xmm10
2560 vpaddd %xmm4,%xmm4,%xmm4
2565 vpsrld $30,%xmm10,%xmm9
2566 vpor %xmm8,%xmm4,%xmm4
2571 vpslld $2,%xmm10,%xmm10
2572 vpxor %xmm9,%xmm4,%xmm4
2577 vpxor %xmm10,%xmm4,%xmm4
2580 vmovdqa 0(%r11),%xmm10
2587 vpalignr $8,%xmm1,%xmm2,%xmm5
2590 vpaddd %xmm4,%xmm10,%xmm10
2593 vpsrldq $4,%xmm4,%xmm9
2596 vpxor %xmm1,%xmm5,%xmm5
2599 vpxor %xmm3,%xmm9,%xmm9
2604 vpxor %xmm9,%xmm5,%xmm5
2607 vmovdqa %xmm10,0(%rsp)
2610 vpsrld $31,%xmm5,%xmm9
2615 vpslldq $12,%xmm5,%xmm8
2616 vpaddd %xmm5,%xmm5,%xmm5
2621 vpsrld $30,%xmm8,%xmm10
2622 vpor %xmm9,%xmm5,%xmm5
2627 vpslld $2,%xmm8,%xmm8
2628 vpxor %xmm10,%xmm5,%xmm5
2633 vpxor %xmm8,%xmm5,%xmm5
2636 vmovdqa 16(%r11),%xmm8
2643 vpalignr $8,%xmm2,%xmm3,%xmm6
2646 vpaddd %xmm5,%xmm8,%xmm8
2649 vpsrldq $4,%xmm5,%xmm10
2652 vpxor %xmm2,%xmm6,%xmm6
2655 vpxor %xmm4,%xmm10,%xmm10
2660 vpxor %xmm10,%xmm6,%xmm6
2663 vmovdqa %xmm8,16(%rsp)
2666 vpsrld $31,%xmm6,%xmm10
2671 vpslldq $12,%xmm6,%xmm9
2672 vpaddd %xmm6,%xmm6,%xmm6
2677 vpsrld $30,%xmm9,%xmm8
2678 vpor %xmm10,%xmm6,%xmm6
2683 vpslld $2,%xmm9,%xmm9
2684 vpxor %xmm8,%xmm6,%xmm6
2689 vpxor %xmm9,%xmm6,%xmm6
2692 vmovdqa 16(%r11),%xmm9
2699 vpalignr $8,%xmm3,%xmm4,%xmm7
2702 vpaddd %xmm6,%xmm9,%xmm9
2705 vpsrldq $4,%xmm6,%xmm8
2708 vpxor %xmm3,%xmm7,%xmm7
2711 vpxor %xmm5,%xmm8,%xmm8
2716 vpxor %xmm8,%xmm7,%xmm7
2719 vmovdqa %xmm9,32(%rsp)
2722 vpsrld $31,%xmm7,%xmm8
2727 vpslldq $12,%xmm7,%xmm10
2728 vpaddd %xmm7,%xmm7,%xmm7
2733 vpsrld $30,%xmm10,%xmm9
2734 vpor %xmm8,%xmm7,%xmm7
2739 vpslld $2,%xmm10,%xmm10
2740 vpxor %xmm9,%xmm7,%xmm7
2745 vpxor %xmm10,%xmm7,%xmm7
2748 vmovdqa 16(%r11),%xmm10
2753 vpalignr $8,%xmm6,%xmm7,%xmm9
2754 vpxor %xmm4,%xmm0,%xmm0
2759 vpxor %xmm1,%xmm0,%xmm0
2762 vmovdqa %xmm10,%xmm8
2763 vpaddd %xmm7,%xmm10,%xmm10
2766 vpxor %xmm9,%xmm0,%xmm0
2771 vpsrld $30,%xmm0,%xmm9
2772 vmovdqa %xmm10,48(%rsp)
2777 vpslld $2,%xmm0,%xmm0
2786 vpor %xmm9,%xmm0,%xmm0
2789 vmovdqa %xmm0,%xmm10
2804 vpalignr $8,%xmm7,%xmm0,%xmm10
2805 vpxor %xmm5,%xmm1,%xmm1
2810 vpxor %xmm2,%xmm1,%xmm1
2814 vpaddd %xmm0,%xmm8,%xmm8
2817 vpxor %xmm10,%xmm1,%xmm1
2822 vpsrld $30,%xmm1,%xmm10
2823 vmovdqa %xmm8,0(%rsp)
2828 vpslld $2,%xmm1,%xmm1
2837 vpor %xmm10,%xmm1,%xmm1
2847 vpalignr $8,%xmm0,%xmm1,%xmm8
2848 vpxor %xmm6,%xmm2,%xmm2
2853 vpxor %xmm3,%xmm2,%xmm2
2856 vmovdqa 32(%r11),%xmm10
2857 vpaddd %xmm1,%xmm9,%xmm9
2860 vpxor %xmm8,%xmm2,%xmm2
2865 vpsrld $30,%xmm2,%xmm8
2866 vmovdqa %xmm9,16(%rsp)
2871 vpslld $2,%xmm2,%xmm2
2880 vpor %xmm8,%xmm2,%xmm2
2890 vpalignr $8,%xmm1,%xmm2,%xmm9
2891 vpxor %xmm7,%xmm3,%xmm3
2896 vpxor %xmm4,%xmm3,%xmm3
2899 vmovdqa %xmm10,%xmm8
2900 vpaddd %xmm2,%xmm10,%xmm10
2903 vpxor %xmm9,%xmm3,%xmm3
2908 vpsrld $30,%xmm3,%xmm9
2909 vmovdqa %xmm10,32(%rsp)
2914 vpslld $2,%xmm3,%xmm3
2923 vpor %xmm9,%xmm3,%xmm3
2926 vmovdqa %xmm3,%xmm10
2933 vpalignr $8,%xmm2,%xmm3,%xmm10
2934 vpxor %xmm0,%xmm4,%xmm4
2939 vpxor %xmm5,%xmm4,%xmm4
2943 vpaddd %xmm3,%xmm8,%xmm8
2946 vpxor %xmm10,%xmm4,%xmm4
2951 vpsrld $30,%xmm4,%xmm10
2952 vmovdqa %xmm8,48(%rsp)
2957 vpslld $2,%xmm4,%xmm4
2966 vpor %xmm10,%xmm4,%xmm4
2976 vpalignr $8,%xmm3,%xmm4,%xmm8
2977 vpxor %xmm1,%xmm5,%xmm5
2982 vpxor %xmm6,%xmm5,%xmm5
2985 vmovdqa %xmm9,%xmm10
2986 vpaddd %xmm4,%xmm9,%xmm9
2989 vpxor %xmm8,%xmm5,%xmm5
2994 vpsrld $30,%xmm5,%xmm8
2995 vmovdqa %xmm9,0(%rsp)
3000 vpslld $2,%xmm5,%xmm5
3009 vpor %xmm8,%xmm5,%xmm5
3019 vpalignr $8,%xmm4,%xmm5,%xmm9
3020 vpxor %xmm2,%xmm6,%xmm6
3025 vpxor %xmm7,%xmm6,%xmm6
3028 vmovdqa %xmm10,%xmm8
3029 vpaddd %xmm5,%xmm10,%xmm10
3032 vpxor %xmm9,%xmm6,%xmm6
3037 vpsrld $30,%xmm6,%xmm9
3038 vmovdqa %xmm10,16(%rsp)
3043 vpslld $2,%xmm6,%xmm6
3052 vpor %xmm9,%xmm6,%xmm6
3055 vmovdqa %xmm6,%xmm10
3078 vpalignr $8,%xmm5,%xmm6,%xmm10
3079 vpxor %xmm3,%xmm7,%xmm7
3084 vpxor %xmm0,%xmm7,%xmm7
3087 vmovdqa 48(%r11),%xmm9
3088 vpaddd %xmm6,%xmm8,%xmm8
3091 vpxor %xmm10,%xmm7,%xmm7
3096 vpsrld $30,%xmm7,%xmm10
3097 vmovdqa %xmm8,32(%rsp)
3102 vpslld $2,%xmm7,%xmm7
3111 vpor %xmm10,%xmm7,%xmm7
3137 vpalignr $8,%xmm6,%xmm7,%xmm8
3138 vpxor %xmm4,%xmm0,%xmm0
3143 vpxor %xmm1,%xmm0,%xmm0
3146 vmovdqa %xmm9,%xmm10
3147 vpaddd %xmm7,%xmm9,%xmm9
3150 vpxor %xmm8,%xmm0,%xmm0
3155 vpsrld $30,%xmm0,%xmm8
3156 vmovdqa %xmm9,48(%rsp)
3161 vpslld $2,%xmm0,%xmm0
3170 vpor %xmm8,%xmm0,%xmm0
3196 vpalignr $8,%xmm7,%xmm0,%xmm9
3197 vpxor %xmm5,%xmm1,%xmm1
3202 vpxor %xmm2,%xmm1,%xmm1
3205 vmovdqa %xmm10,%xmm8
3206 vpaddd %xmm0,%xmm10,%xmm10
3209 vpxor %xmm9,%xmm1,%xmm1
3214 vpsrld $30,%xmm1,%xmm9
3215 vmovdqa %xmm10,0(%rsp)
3220 vpslld $2,%xmm1,%xmm1
3229 vpor %xmm9,%xmm1,%xmm1
3232 vmovdqa %xmm1,%xmm10
3255 vpalignr $8,%xmm0,%xmm1,%xmm10
3256 vpxor %xmm6,%xmm2,%xmm2
3261 vpxor %xmm3,%xmm2,%xmm2
3265 vpaddd %xmm1,%xmm8,%xmm8
3268 vpxor %xmm10,%xmm2,%xmm2
3273 vpsrld $30,%xmm2,%xmm10
3274 vmovdqa %xmm8,16(%rsp)
3279 vpslld $2,%xmm2,%xmm2
3288 vpor %xmm10,%xmm2,%xmm2
3314 vpalignr $8,%xmm1,%xmm2,%xmm8
3315 vpxor %xmm7,%xmm3,%xmm3
3320 vpxor %xmm4,%xmm3,%xmm3
3323 vmovdqa %xmm9,%xmm10
3324 vpaddd %xmm2,%xmm9,%xmm9
3327 vpxor %xmm8,%xmm3,%xmm3
3332 vpsrld $30,%xmm3,%xmm8
3333 vmovdqa %xmm9,32(%rsp)
3338 vpslld $2,%xmm3,%xmm3
3347 vpor %xmm8,%xmm3,%xmm3
3357 vpaddd %xmm3,%xmm10,%xmm10
3362 movdqa %xmm10,48(%rsp)
3392 vmovdqa 64(%r11),%xmm6
3393 vmovdqa 0(%r11),%xmm9
3394 vmovdqu 0(%r9),%xmm0
3395 vmovdqu 16(%r9),%xmm1
3396 vmovdqu 32(%r9),%xmm2
3397 vmovdqu 48(%r9),%xmm3
3398 vpshufb %xmm6,%xmm0,%xmm0
3402 vpshufb %xmm6,%xmm1,%xmm1
3405 vpaddd %xmm9,%xmm0,%xmm4
3410 vmovdqa %xmm4,0(%rsp)
3437 vpshufb %xmm6,%xmm2,%xmm2
3440 vpaddd %xmm9,%xmm1,%xmm5
3445 vmovdqa %xmm5,16(%rsp)
3472 vpshufb %xmm6,%xmm3,%xmm3
3475 vpaddd %xmm9,%xmm2,%xmm6
3480 vmovdqa %xmm6,32(%rsp)
3635 .size sha1_block_data_order_avx,.-sha1_block_data_order_avx
3638 .long 0x5a827999,0x5a827999,0x5a827999,0x5a827999
3639 .long 0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
3640 .long 0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
3641 .long 0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
3642 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
3643 .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