Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(710)

Side by Side Diff: third_party/boringssl/win-x86/crypto/sha/sha1-586.asm

Issue 1459783002: Roll src/third_party/boringssl/src d7421ebf6..3ac32b1ed (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix build, estark comments Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 %ifidn __OUTPUT_FORMAT__,obj 1 %ifidn __OUTPUT_FORMAT__,obj
2 section code use32 class=code align=64 2 section code use32 class=code align=64
3 %elifidn __OUTPUT_FORMAT__,win32 3 %elifidn __OUTPUT_FORMAT__,win32
4 %ifdef __YASM_VERSION_ID__ 4 %ifdef __YASM_VERSION_ID__
5 %if __YASM_VERSION_ID__ < 01010000h 5 %if __YASM_VERSION_ID__ < 01010000h
6 %error yasm version 1.1.0 or later needed. 6 %error yasm version 1.1.0 or later needed.
7 %endif 7 %endif
8 ; Yasm automatically includes .00 and complains about redefining it. 8 ; Yasm automatically includes .00 and complains about redefining it.
9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html 9 ; https://www.tortall.net/projects/yasm/manual/html/objfmt-win32-safeseh.html
10 %else 10 %else
(...skipping 17 matching lines...) Expand all
28 pop ebp 28 pop ebp
29 lea esi,[_OPENSSL_ia32cap_P] 29 lea esi,[_OPENSSL_ia32cap_P]
30 lea ebp,[(L$K_XX_XX-L$000pic_point)+ebp] 30 lea ebp,[(L$K_XX_XX-L$000pic_point)+ebp]
31 mov eax,DWORD [esi] 31 mov eax,DWORD [esi]
32 mov edx,DWORD [4+esi] 32 mov edx,DWORD [4+esi]
33 test edx,512 33 test edx,512
34 jz NEAR L$001x86 34 jz NEAR L$001x86
35 mov ecx,DWORD [8+esi] 35 mov ecx,DWORD [8+esi]
36 test eax,16777216 36 test eax,16777216
37 jz NEAR L$001x86 37 jz NEAR L$001x86
38 and edx,268435456
39 and eax,1073741824
40 or eax,edx
41 cmp eax,1342177280
42 je NEAR L$avx_shortcut
38 jmp NEAR L$ssse3_shortcut 43 jmp NEAR L$ssse3_shortcut
39 align 16 44 align 16
40 L$001x86: 45 L$001x86:
41 mov ebp,DWORD [20+esp] 46 mov ebp,DWORD [20+esp]
42 mov esi,DWORD [24+esp] 47 mov esi,DWORD [24+esp]
43 mov eax,DWORD [28+esp] 48 mov eax,DWORD [28+esp]
44 sub esp,76 49 sub esp,76
45 shl eax,6 50 shl eax,6
46 add eax,esi 51 add eax,esi
47 mov DWORD [104+esp],eax 52 mov DWORD [104+esp],eax
(...skipping 2564 matching lines...) Expand 10 before | Expand all | Expand 10 after
2612 mov DWORD [4+ebp],esi 2617 mov DWORD [4+ebp],esi
2613 add edi,DWORD [16+ebp] 2618 add edi,DWORD [16+ebp]
2614 mov DWORD [8+ebp],ecx 2619 mov DWORD [8+ebp],ecx
2615 mov DWORD [12+ebp],edx 2620 mov DWORD [12+ebp],edx
2616 mov DWORD [16+ebp],edi 2621 mov DWORD [16+ebp],edi
2617 pop edi 2622 pop edi
2618 pop esi 2623 pop esi
2619 pop ebx 2624 pop ebx
2620 pop ebp 2625 pop ebp
2621 ret 2626 ret
2627 align 16
2628 __sha1_block_data_order_avx:
2629 push ebp
2630 push ebx
2631 push esi
2632 push edi
2633 call L$006pic_point
2634 L$006pic_point:
2635 pop ebp
2636 lea ebp,[(L$K_XX_XX-L$006pic_point)+ebp]
2637 L$avx_shortcut:
2638 vzeroall
2639 vmovdqa xmm7,[ebp]
2640 vmovdqa xmm0,[16+ebp]
2641 vmovdqa xmm1,[32+ebp]
2642 vmovdqa xmm2,[48+ebp]
2643 vmovdqa xmm6,[64+ebp]
2644 mov edi,DWORD [20+esp]
2645 mov ebp,DWORD [24+esp]
2646 mov edx,DWORD [28+esp]
2647 mov esi,esp
2648 sub esp,208
2649 and esp,-64
2650 vmovdqa [112+esp],xmm0
2651 vmovdqa [128+esp],xmm1
2652 vmovdqa [144+esp],xmm2
2653 shl edx,6
2654 vmovdqa [160+esp],xmm7
2655 add edx,ebp
2656 vmovdqa [176+esp],xmm6
2657 add ebp,64
2658 mov DWORD [192+esp],edi
2659 mov DWORD [196+esp],ebp
2660 mov DWORD [200+esp],edx
2661 mov DWORD [204+esp],esi
2662 mov eax,DWORD [edi]
2663 mov ebx,DWORD [4+edi]
2664 mov ecx,DWORD [8+edi]
2665 mov edx,DWORD [12+edi]
2666 mov edi,DWORD [16+edi]
2667 mov esi,ebx
2668 vmovdqu xmm0,[ebp-64]
2669 vmovdqu xmm1,[ebp-48]
2670 vmovdqu xmm2,[ebp-32]
2671 vmovdqu xmm3,[ebp-16]
2672 vpshufb xmm0,xmm0,xmm6
2673 vpshufb xmm1,xmm1,xmm6
2674 vpshufb xmm2,xmm2,xmm6
2675 vmovdqa [96+esp],xmm7
2676 vpshufb xmm3,xmm3,xmm6
2677 vpaddd xmm4,xmm0,xmm7
2678 vpaddd xmm5,xmm1,xmm7
2679 vpaddd xmm6,xmm2,xmm7
2680 vmovdqa [esp],xmm4
2681 mov ebp,ecx
2682 vmovdqa [16+esp],xmm5
2683 xor ebp,edx
2684 vmovdqa [32+esp],xmm6
2685 and esi,ebp
2686 jmp NEAR L$007loop
2687 align 16
2688 L$007loop:
2689 shrd ebx,ebx,2
2690 xor esi,edx
2691 vpalignr xmm4,xmm1,xmm0,8
2692 mov ebp,eax
2693 add edi,DWORD [esp]
2694 vpaddd xmm7,xmm7,xmm3
2695 vmovdqa [64+esp],xmm0
2696 xor ebx,ecx
2697 shld eax,eax,5
2698 vpsrldq xmm6,xmm3,4
2699 add edi,esi
2700 and ebp,ebx
2701 vpxor xmm4,xmm4,xmm0
2702 xor ebx,ecx
2703 add edi,eax
2704 vpxor xmm6,xmm6,xmm2
2705 shrd eax,eax,7
2706 xor ebp,ecx
2707 vmovdqa [48+esp],xmm7
2708 mov esi,edi
2709 add edx,DWORD [4+esp]
2710 vpxor xmm4,xmm4,xmm6
2711 xor eax,ebx
2712 shld edi,edi,5
2713 add edx,ebp
2714 and esi,eax
2715 vpsrld xmm6,xmm4,31
2716 xor eax,ebx
2717 add edx,edi
2718 shrd edi,edi,7
2719 xor esi,ebx
2720 vpslldq xmm0,xmm4,12
2721 vpaddd xmm4,xmm4,xmm4
2722 mov ebp,edx
2723 add ecx,DWORD [8+esp]
2724 xor edi,eax
2725 shld edx,edx,5
2726 vpsrld xmm7,xmm0,30
2727 vpor xmm4,xmm4,xmm6
2728 add ecx,esi
2729 and ebp,edi
2730 xor edi,eax
2731 add ecx,edx
2732 vpslld xmm0,xmm0,2
2733 shrd edx,edx,7
2734 xor ebp,eax
2735 vpxor xmm4,xmm4,xmm7
2736 mov esi,ecx
2737 add ebx,DWORD [12+esp]
2738 xor edx,edi
2739 shld ecx,ecx,5
2740 vpxor xmm4,xmm4,xmm0
2741 add ebx,ebp
2742 and esi,edx
2743 vmovdqa xmm0,[96+esp]
2744 xor edx,edi
2745 add ebx,ecx
2746 shrd ecx,ecx,7
2747 xor esi,edi
2748 vpalignr xmm5,xmm2,xmm1,8
2749 mov ebp,ebx
2750 add eax,DWORD [16+esp]
2751 vpaddd xmm0,xmm0,xmm4
2752 vmovdqa [80+esp],xmm1
2753 xor ecx,edx
2754 shld ebx,ebx,5
2755 vpsrldq xmm7,xmm4,4
2756 add eax,esi
2757 and ebp,ecx
2758 vpxor xmm5,xmm5,xmm1
2759 xor ecx,edx
2760 add eax,ebx
2761 vpxor xmm7,xmm7,xmm3
2762 shrd ebx,ebx,7
2763 xor ebp,edx
2764 vmovdqa [esp],xmm0
2765 mov esi,eax
2766 add edi,DWORD [20+esp]
2767 vpxor xmm5,xmm5,xmm7
2768 xor ebx,ecx
2769 shld eax,eax,5
2770 add edi,ebp
2771 and esi,ebx
2772 vpsrld xmm7,xmm5,31
2773 xor ebx,ecx
2774 add edi,eax
2775 shrd eax,eax,7
2776 xor esi,ecx
2777 vpslldq xmm1,xmm5,12
2778 vpaddd xmm5,xmm5,xmm5
2779 mov ebp,edi
2780 add edx,DWORD [24+esp]
2781 xor eax,ebx
2782 shld edi,edi,5
2783 vpsrld xmm0,xmm1,30
2784 vpor xmm5,xmm5,xmm7
2785 add edx,esi
2786 and ebp,eax
2787 xor eax,ebx
2788 add edx,edi
2789 vpslld xmm1,xmm1,2
2790 shrd edi,edi,7
2791 xor ebp,ebx
2792 vpxor xmm5,xmm5,xmm0
2793 mov esi,edx
2794 add ecx,DWORD [28+esp]
2795 xor edi,eax
2796 shld edx,edx,5
2797 vpxor xmm5,xmm5,xmm1
2798 add ecx,ebp
2799 and esi,edi
2800 vmovdqa xmm1,[112+esp]
2801 xor edi,eax
2802 add ecx,edx
2803 shrd edx,edx,7
2804 xor esi,eax
2805 vpalignr xmm6,xmm3,xmm2,8
2806 mov ebp,ecx
2807 add ebx,DWORD [32+esp]
2808 vpaddd xmm1,xmm1,xmm5
2809 vmovdqa [96+esp],xmm2
2810 xor edx,edi
2811 shld ecx,ecx,5
2812 vpsrldq xmm0,xmm5,4
2813 add ebx,esi
2814 and ebp,edx
2815 vpxor xmm6,xmm6,xmm2
2816 xor edx,edi
2817 add ebx,ecx
2818 vpxor xmm0,xmm0,xmm4
2819 shrd ecx,ecx,7
2820 xor ebp,edi
2821 vmovdqa [16+esp],xmm1
2822 mov esi,ebx
2823 add eax,DWORD [36+esp]
2824 vpxor xmm6,xmm6,xmm0
2825 xor ecx,edx
2826 shld ebx,ebx,5
2827 add eax,ebp
2828 and esi,ecx
2829 vpsrld xmm0,xmm6,31
2830 xor ecx,edx
2831 add eax,ebx
2832 shrd ebx,ebx,7
2833 xor esi,edx
2834 vpslldq xmm2,xmm6,12
2835 vpaddd xmm6,xmm6,xmm6
2836 mov ebp,eax
2837 add edi,DWORD [40+esp]
2838 xor ebx,ecx
2839 shld eax,eax,5
2840 vpsrld xmm1,xmm2,30
2841 vpor xmm6,xmm6,xmm0
2842 add edi,esi
2843 and ebp,ebx
2844 xor ebx,ecx
2845 add edi,eax
2846 vpslld xmm2,xmm2,2
2847 vmovdqa xmm0,[64+esp]
2848 shrd eax,eax,7
2849 xor ebp,ecx
2850 vpxor xmm6,xmm6,xmm1
2851 mov esi,edi
2852 add edx,DWORD [44+esp]
2853 xor eax,ebx
2854 shld edi,edi,5
2855 vpxor xmm6,xmm6,xmm2
2856 add edx,ebp
2857 and esi,eax
2858 vmovdqa xmm2,[112+esp]
2859 xor eax,ebx
2860 add edx,edi
2861 shrd edi,edi,7
2862 xor esi,ebx
2863 vpalignr xmm7,xmm4,xmm3,8
2864 mov ebp,edx
2865 add ecx,DWORD [48+esp]
2866 vpaddd xmm2,xmm2,xmm6
2867 vmovdqa [64+esp],xmm3
2868 xor edi,eax
2869 shld edx,edx,5
2870 vpsrldq xmm1,xmm6,4
2871 add ecx,esi
2872 and ebp,edi
2873 vpxor xmm7,xmm7,xmm3
2874 xor edi,eax
2875 add ecx,edx
2876 vpxor xmm1,xmm1,xmm5
2877 shrd edx,edx,7
2878 xor ebp,eax
2879 vmovdqa [32+esp],xmm2
2880 mov esi,ecx
2881 add ebx,DWORD [52+esp]
2882 vpxor xmm7,xmm7,xmm1
2883 xor edx,edi
2884 shld ecx,ecx,5
2885 add ebx,ebp
2886 and esi,edx
2887 vpsrld xmm1,xmm7,31
2888 xor edx,edi
2889 add ebx,ecx
2890 shrd ecx,ecx,7
2891 xor esi,edi
2892 vpslldq xmm3,xmm7,12
2893 vpaddd xmm7,xmm7,xmm7
2894 mov ebp,ebx
2895 add eax,DWORD [56+esp]
2896 xor ecx,edx
2897 shld ebx,ebx,5
2898 vpsrld xmm2,xmm3,30
2899 vpor xmm7,xmm7,xmm1
2900 add eax,esi
2901 and ebp,ecx
2902 xor ecx,edx
2903 add eax,ebx
2904 vpslld xmm3,xmm3,2
2905 vmovdqa xmm1,[80+esp]
2906 shrd ebx,ebx,7
2907 xor ebp,edx
2908 vpxor xmm7,xmm7,xmm2
2909 mov esi,eax
2910 add edi,DWORD [60+esp]
2911 xor ebx,ecx
2912 shld eax,eax,5
2913 vpxor xmm7,xmm7,xmm3
2914 add edi,ebp
2915 and esi,ebx
2916 vmovdqa xmm3,[112+esp]
2917 xor ebx,ecx
2918 add edi,eax
2919 vpalignr xmm2,xmm7,xmm6,8
2920 vpxor xmm0,xmm0,xmm4
2921 shrd eax,eax,7
2922 xor esi,ecx
2923 mov ebp,edi
2924 add edx,DWORD [esp]
2925 vpxor xmm0,xmm0,xmm1
2926 vmovdqa [80+esp],xmm4
2927 xor eax,ebx
2928 shld edi,edi,5
2929 vmovdqa xmm4,xmm3
2930 vpaddd xmm3,xmm3,xmm7
2931 add edx,esi
2932 and ebp,eax
2933 vpxor xmm0,xmm0,xmm2
2934 xor eax,ebx
2935 add edx,edi
2936 shrd edi,edi,7
2937 xor ebp,ebx
2938 vpsrld xmm2,xmm0,30
2939 vmovdqa [48+esp],xmm3
2940 mov esi,edx
2941 add ecx,DWORD [4+esp]
2942 xor edi,eax
2943 shld edx,edx,5
2944 vpslld xmm0,xmm0,2
2945 add ecx,ebp
2946 and esi,edi
2947 xor edi,eax
2948 add ecx,edx
2949 shrd edx,edx,7
2950 xor esi,eax
2951 mov ebp,ecx
2952 add ebx,DWORD [8+esp]
2953 vpor xmm0,xmm0,xmm2
2954 xor edx,edi
2955 shld ecx,ecx,5
2956 vmovdqa xmm2,[96+esp]
2957 add ebx,esi
2958 and ebp,edx
2959 xor edx,edi
2960 add ebx,ecx
2961 add eax,DWORD [12+esp]
2962 xor ebp,edi
2963 mov esi,ebx
2964 shld ebx,ebx,5
2965 add eax,ebp
2966 xor esi,edx
2967 shrd ecx,ecx,7
2968 add eax,ebx
2969 vpalignr xmm3,xmm0,xmm7,8
2970 vpxor xmm1,xmm1,xmm5
2971 add edi,DWORD [16+esp]
2972 xor esi,ecx
2973 mov ebp,eax
2974 shld eax,eax,5
2975 vpxor xmm1,xmm1,xmm2
2976 vmovdqa [96+esp],xmm5
2977 add edi,esi
2978 xor ebp,ecx
2979 vmovdqa xmm5,xmm4
2980 vpaddd xmm4,xmm4,xmm0
2981 shrd ebx,ebx,7
2982 add edi,eax
2983 vpxor xmm1,xmm1,xmm3
2984 add edx,DWORD [20+esp]
2985 xor ebp,ebx
2986 mov esi,edi
2987 shld edi,edi,5
2988 vpsrld xmm3,xmm1,30
2989 vmovdqa [esp],xmm4
2990 add edx,ebp
2991 xor esi,ebx
2992 shrd eax,eax,7
2993 add edx,edi
2994 vpslld xmm1,xmm1,2
2995 add ecx,DWORD [24+esp]
2996 xor esi,eax
2997 mov ebp,edx
2998 shld edx,edx,5
2999 add ecx,esi
3000 xor ebp,eax
3001 shrd edi,edi,7
3002 add ecx,edx
3003 vpor xmm1,xmm1,xmm3
3004 add ebx,DWORD [28+esp]
3005 xor ebp,edi
3006 vmovdqa xmm3,[64+esp]
3007 mov esi,ecx
3008 shld ecx,ecx,5
3009 add ebx,ebp
3010 xor esi,edi
3011 shrd edx,edx,7
3012 add ebx,ecx
3013 vpalignr xmm4,xmm1,xmm0,8
3014 vpxor xmm2,xmm2,xmm6
3015 add eax,DWORD [32+esp]
3016 xor esi,edx
3017 mov ebp,ebx
3018 shld ebx,ebx,5
3019 vpxor xmm2,xmm2,xmm3
3020 vmovdqa [64+esp],xmm6
3021 add eax,esi
3022 xor ebp,edx
3023 vmovdqa xmm6,[128+esp]
3024 vpaddd xmm5,xmm5,xmm1
3025 shrd ecx,ecx,7
3026 add eax,ebx
3027 vpxor xmm2,xmm2,xmm4
3028 add edi,DWORD [36+esp]
3029 xor ebp,ecx
3030 mov esi,eax
3031 shld eax,eax,5
3032 vpsrld xmm4,xmm2,30
3033 vmovdqa [16+esp],xmm5
3034 add edi,ebp
3035 xor esi,ecx
3036 shrd ebx,ebx,7
3037 add edi,eax
3038 vpslld xmm2,xmm2,2
3039 add edx,DWORD [40+esp]
3040 xor esi,ebx
3041 mov ebp,edi
3042 shld edi,edi,5
3043 add edx,esi
3044 xor ebp,ebx
3045 shrd eax,eax,7
3046 add edx,edi
3047 vpor xmm2,xmm2,xmm4
3048 add ecx,DWORD [44+esp]
3049 xor ebp,eax
3050 vmovdqa xmm4,[80+esp]
3051 mov esi,edx
3052 shld edx,edx,5
3053 add ecx,ebp
3054 xor esi,eax
3055 shrd edi,edi,7
3056 add ecx,edx
3057 vpalignr xmm5,xmm2,xmm1,8
3058 vpxor xmm3,xmm3,xmm7
3059 add ebx,DWORD [48+esp]
3060 xor esi,edi
3061 mov ebp,ecx
3062 shld ecx,ecx,5
3063 vpxor xmm3,xmm3,xmm4
3064 vmovdqa [80+esp],xmm7
3065 add ebx,esi
3066 xor ebp,edi
3067 vmovdqa xmm7,xmm6
3068 vpaddd xmm6,xmm6,xmm2
3069 shrd edx,edx,7
3070 add ebx,ecx
3071 vpxor xmm3,xmm3,xmm5
3072 add eax,DWORD [52+esp]
3073 xor ebp,edx
3074 mov esi,ebx
3075 shld ebx,ebx,5
3076 vpsrld xmm5,xmm3,30
3077 vmovdqa [32+esp],xmm6
3078 add eax,ebp
3079 xor esi,edx
3080 shrd ecx,ecx,7
3081 add eax,ebx
3082 vpslld xmm3,xmm3,2
3083 add edi,DWORD [56+esp]
3084 xor esi,ecx
3085 mov ebp,eax
3086 shld eax,eax,5
3087 add edi,esi
3088 xor ebp,ecx
3089 shrd ebx,ebx,7
3090 add edi,eax
3091 vpor xmm3,xmm3,xmm5
3092 add edx,DWORD [60+esp]
3093 xor ebp,ebx
3094 vmovdqa xmm5,[96+esp]
3095 mov esi,edi
3096 shld edi,edi,5
3097 add edx,ebp
3098 xor esi,ebx
3099 shrd eax,eax,7
3100 add edx,edi
3101 vpalignr xmm6,xmm3,xmm2,8
3102 vpxor xmm4,xmm4,xmm0
3103 add ecx,DWORD [esp]
3104 xor esi,eax
3105 mov ebp,edx
3106 shld edx,edx,5
3107 vpxor xmm4,xmm4,xmm5
3108 vmovdqa [96+esp],xmm0
3109 add ecx,esi
3110 xor ebp,eax
3111 vmovdqa xmm0,xmm7
3112 vpaddd xmm7,xmm7,xmm3
3113 shrd edi,edi,7
3114 add ecx,edx
3115 vpxor xmm4,xmm4,xmm6
3116 add ebx,DWORD [4+esp]
3117 xor ebp,edi
3118 mov esi,ecx
3119 shld ecx,ecx,5
3120 vpsrld xmm6,xmm4,30
3121 vmovdqa [48+esp],xmm7
3122 add ebx,ebp
3123 xor esi,edi
3124 shrd edx,edx,7
3125 add ebx,ecx
3126 vpslld xmm4,xmm4,2
3127 add eax,DWORD [8+esp]
3128 xor esi,edx
3129 mov ebp,ebx
3130 shld ebx,ebx,5
3131 add eax,esi
3132 xor ebp,edx
3133 shrd ecx,ecx,7
3134 add eax,ebx
3135 vpor xmm4,xmm4,xmm6
3136 add edi,DWORD [12+esp]
3137 xor ebp,ecx
3138 vmovdqa xmm6,[64+esp]
3139 mov esi,eax
3140 shld eax,eax,5
3141 add edi,ebp
3142 xor esi,ecx
3143 shrd ebx,ebx,7
3144 add edi,eax
3145 vpalignr xmm7,xmm4,xmm3,8
3146 vpxor xmm5,xmm5,xmm1
3147 add edx,DWORD [16+esp]
3148 xor esi,ebx
3149 mov ebp,edi
3150 shld edi,edi,5
3151 vpxor xmm5,xmm5,xmm6
3152 vmovdqa [64+esp],xmm1
3153 add edx,esi
3154 xor ebp,ebx
3155 vmovdqa xmm1,xmm0
3156 vpaddd xmm0,xmm0,xmm4
3157 shrd eax,eax,7
3158 add edx,edi
3159 vpxor xmm5,xmm5,xmm7
3160 add ecx,DWORD [20+esp]
3161 xor ebp,eax
3162 mov esi,edx
3163 shld edx,edx,5
3164 vpsrld xmm7,xmm5,30
3165 vmovdqa [esp],xmm0
3166 add ecx,ebp
3167 xor esi,eax
3168 shrd edi,edi,7
3169 add ecx,edx
3170 vpslld xmm5,xmm5,2
3171 add ebx,DWORD [24+esp]
3172 xor esi,edi
3173 mov ebp,ecx
3174 shld ecx,ecx,5
3175 add ebx,esi
3176 xor ebp,edi
3177 shrd edx,edx,7
3178 add ebx,ecx
3179 vpor xmm5,xmm5,xmm7
3180 add eax,DWORD [28+esp]
3181 vmovdqa xmm7,[80+esp]
3182 shrd ecx,ecx,7
3183 mov esi,ebx
3184 xor ebp,edx
3185 shld ebx,ebx,5
3186 add eax,ebp
3187 xor esi,ecx
3188 xor ecx,edx
3189 add eax,ebx
3190 vpalignr xmm0,xmm5,xmm4,8
3191 vpxor xmm6,xmm6,xmm2
3192 add edi,DWORD [32+esp]
3193 and esi,ecx
3194 xor ecx,edx
3195 shrd ebx,ebx,7
3196 vpxor xmm6,xmm6,xmm7
3197 vmovdqa [80+esp],xmm2
3198 mov ebp,eax
3199 xor esi,ecx
3200 vmovdqa xmm2,xmm1
3201 vpaddd xmm1,xmm1,xmm5
3202 shld eax,eax,5
3203 add edi,esi
3204 vpxor xmm6,xmm6,xmm0
3205 xor ebp,ebx
3206 xor ebx,ecx
3207 add edi,eax
3208 add edx,DWORD [36+esp]
3209 vpsrld xmm0,xmm6,30
3210 vmovdqa [16+esp],xmm1
3211 and ebp,ebx
3212 xor ebx,ecx
3213 shrd eax,eax,7
3214 mov esi,edi
3215 vpslld xmm6,xmm6,2
3216 xor ebp,ebx
3217 shld edi,edi,5
3218 add edx,ebp
3219 xor esi,eax
3220 xor eax,ebx
3221 add edx,edi
3222 add ecx,DWORD [40+esp]
3223 and esi,eax
3224 vpor xmm6,xmm6,xmm0
3225 xor eax,ebx
3226 shrd edi,edi,7
3227 vmovdqa xmm0,[96+esp]
3228 mov ebp,edx
3229 xor esi,eax
3230 shld edx,edx,5
3231 add ecx,esi
3232 xor ebp,edi
3233 xor edi,eax
3234 add ecx,edx
3235 add ebx,DWORD [44+esp]
3236 and ebp,edi
3237 xor edi,eax
3238 shrd edx,edx,7
3239 mov esi,ecx
3240 xor ebp,edi
3241 shld ecx,ecx,5
3242 add ebx,ebp
3243 xor esi,edx
3244 xor edx,edi
3245 add ebx,ecx
3246 vpalignr xmm1,xmm6,xmm5,8
3247 vpxor xmm7,xmm7,xmm3
3248 add eax,DWORD [48+esp]
3249 and esi,edx
3250 xor edx,edi
3251 shrd ecx,ecx,7
3252 vpxor xmm7,xmm7,xmm0
3253 vmovdqa [96+esp],xmm3
3254 mov ebp,ebx
3255 xor esi,edx
3256 vmovdqa xmm3,[144+esp]
3257 vpaddd xmm2,xmm2,xmm6
3258 shld ebx,ebx,5
3259 add eax,esi
3260 vpxor xmm7,xmm7,xmm1
3261 xor ebp,ecx
3262 xor ecx,edx
3263 add eax,ebx
3264 add edi,DWORD [52+esp]
3265 vpsrld xmm1,xmm7,30
3266 vmovdqa [32+esp],xmm2
3267 and ebp,ecx
3268 xor ecx,edx
3269 shrd ebx,ebx,7
3270 mov esi,eax
3271 vpslld xmm7,xmm7,2
3272 xor ebp,ecx
3273 shld eax,eax,5
3274 add edi,ebp
3275 xor esi,ebx
3276 xor ebx,ecx
3277 add edi,eax
3278 add edx,DWORD [56+esp]
3279 and esi,ebx
3280 vpor xmm7,xmm7,xmm1
3281 xor ebx,ecx
3282 shrd eax,eax,7
3283 vmovdqa xmm1,[64+esp]
3284 mov ebp,edi
3285 xor esi,ebx
3286 shld edi,edi,5
3287 add edx,esi
3288 xor ebp,eax
3289 xor eax,ebx
3290 add edx,edi
3291 add ecx,DWORD [60+esp]
3292 and ebp,eax
3293 xor eax,ebx
3294 shrd edi,edi,7
3295 mov esi,edx
3296 xor ebp,eax
3297 shld edx,edx,5
3298 add ecx,ebp
3299 xor esi,edi
3300 xor edi,eax
3301 add ecx,edx
3302 vpalignr xmm2,xmm7,xmm6,8
3303 vpxor xmm0,xmm0,xmm4
3304 add ebx,DWORD [esp]
3305 and esi,edi
3306 xor edi,eax
3307 shrd edx,edx,7
3308 vpxor xmm0,xmm0,xmm1
3309 vmovdqa [64+esp],xmm4
3310 mov ebp,ecx
3311 xor esi,edi
3312 vmovdqa xmm4,xmm3
3313 vpaddd xmm3,xmm3,xmm7
3314 shld ecx,ecx,5
3315 add ebx,esi
3316 vpxor xmm0,xmm0,xmm2
3317 xor ebp,edx
3318 xor edx,edi
3319 add ebx,ecx
3320 add eax,DWORD [4+esp]
3321 vpsrld xmm2,xmm0,30
3322 vmovdqa [48+esp],xmm3
3323 and ebp,edx
3324 xor edx,edi
3325 shrd ecx,ecx,7
3326 mov esi,ebx
3327 vpslld xmm0,xmm0,2
3328 xor ebp,edx
3329 shld ebx,ebx,5
3330 add eax,ebp
3331 xor esi,ecx
3332 xor ecx,edx
3333 add eax,ebx
3334 add edi,DWORD [8+esp]
3335 and esi,ecx
3336 vpor xmm0,xmm0,xmm2
3337 xor ecx,edx
3338 shrd ebx,ebx,7
3339 vmovdqa xmm2,[80+esp]
3340 mov ebp,eax
3341 xor esi,ecx
3342 shld eax,eax,5
3343 add edi,esi
3344 xor ebp,ebx
3345 xor ebx,ecx
3346 add edi,eax
3347 add edx,DWORD [12+esp]
3348 and ebp,ebx
3349 xor ebx,ecx
3350 shrd eax,eax,7
3351 mov esi,edi
3352 xor ebp,ebx
3353 shld edi,edi,5
3354 add edx,ebp
3355 xor esi,eax
3356 xor eax,ebx
3357 add edx,edi
3358 vpalignr xmm3,xmm0,xmm7,8
3359 vpxor xmm1,xmm1,xmm5
3360 add ecx,DWORD [16+esp]
3361 and esi,eax
3362 xor eax,ebx
3363 shrd edi,edi,7
3364 vpxor xmm1,xmm1,xmm2
3365 vmovdqa [80+esp],xmm5
3366 mov ebp,edx
3367 xor esi,eax
3368 vmovdqa xmm5,xmm4
3369 vpaddd xmm4,xmm4,xmm0
3370 shld edx,edx,5
3371 add ecx,esi
3372 vpxor xmm1,xmm1,xmm3
3373 xor ebp,edi
3374 xor edi,eax
3375 add ecx,edx
3376 add ebx,DWORD [20+esp]
3377 vpsrld xmm3,xmm1,30
3378 vmovdqa [esp],xmm4
3379 and ebp,edi
3380 xor edi,eax
3381 shrd edx,edx,7
3382 mov esi,ecx
3383 vpslld xmm1,xmm1,2
3384 xor ebp,edi
3385 shld ecx,ecx,5
3386 add ebx,ebp
3387 xor esi,edx
3388 xor edx,edi
3389 add ebx,ecx
3390 add eax,DWORD [24+esp]
3391 and esi,edx
3392 vpor xmm1,xmm1,xmm3
3393 xor edx,edi
3394 shrd ecx,ecx,7
3395 vmovdqa xmm3,[96+esp]
3396 mov ebp,ebx
3397 xor esi,edx
3398 shld ebx,ebx,5
3399 add eax,esi
3400 xor ebp,ecx
3401 xor ecx,edx
3402 add eax,ebx
3403 add edi,DWORD [28+esp]
3404 and ebp,ecx
3405 xor ecx,edx
3406 shrd ebx,ebx,7
3407 mov esi,eax
3408 xor ebp,ecx
3409 shld eax,eax,5
3410 add edi,ebp
3411 xor esi,ebx
3412 xor ebx,ecx
3413 add edi,eax
3414 vpalignr xmm4,xmm1,xmm0,8
3415 vpxor xmm2,xmm2,xmm6
3416 add edx,DWORD [32+esp]
3417 and esi,ebx
3418 xor ebx,ecx
3419 shrd eax,eax,7
3420 vpxor xmm2,xmm2,xmm3
3421 vmovdqa [96+esp],xmm6
3422 mov ebp,edi
3423 xor esi,ebx
3424 vmovdqa xmm6,xmm5
3425 vpaddd xmm5,xmm5,xmm1
3426 shld edi,edi,5
3427 add edx,esi
3428 vpxor xmm2,xmm2,xmm4
3429 xor ebp,eax
3430 xor eax,ebx
3431 add edx,edi
3432 add ecx,DWORD [36+esp]
3433 vpsrld xmm4,xmm2,30
3434 vmovdqa [16+esp],xmm5
3435 and ebp,eax
3436 xor eax,ebx
3437 shrd edi,edi,7
3438 mov esi,edx
3439 vpslld xmm2,xmm2,2
3440 xor ebp,eax
3441 shld edx,edx,5
3442 add ecx,ebp
3443 xor esi,edi
3444 xor edi,eax
3445 add ecx,edx
3446 add ebx,DWORD [40+esp]
3447 and esi,edi
3448 vpor xmm2,xmm2,xmm4
3449 xor edi,eax
3450 shrd edx,edx,7
3451 vmovdqa xmm4,[64+esp]
3452 mov ebp,ecx
3453 xor esi,edi
3454 shld ecx,ecx,5
3455 add ebx,esi
3456 xor ebp,edx
3457 xor edx,edi
3458 add ebx,ecx
3459 add eax,DWORD [44+esp]
3460 and ebp,edx
3461 xor edx,edi
3462 shrd ecx,ecx,7
3463 mov esi,ebx
3464 xor ebp,edx
3465 shld ebx,ebx,5
3466 add eax,ebp
3467 xor esi,edx
3468 add eax,ebx
3469 vpalignr xmm5,xmm2,xmm1,8
3470 vpxor xmm3,xmm3,xmm7
3471 add edi,DWORD [48+esp]
3472 xor esi,ecx
3473 mov ebp,eax
3474 shld eax,eax,5
3475 vpxor xmm3,xmm3,xmm4
3476 vmovdqa [64+esp],xmm7
3477 add edi,esi
3478 xor ebp,ecx
3479 vmovdqa xmm7,xmm6
3480 vpaddd xmm6,xmm6,xmm2
3481 shrd ebx,ebx,7
3482 add edi,eax
3483 vpxor xmm3,xmm3,xmm5
3484 add edx,DWORD [52+esp]
3485 xor ebp,ebx
3486 mov esi,edi
3487 shld edi,edi,5
3488 vpsrld xmm5,xmm3,30
3489 vmovdqa [32+esp],xmm6
3490 add edx,ebp
3491 xor esi,ebx
3492 shrd eax,eax,7
3493 add edx,edi
3494 vpslld xmm3,xmm3,2
3495 add ecx,DWORD [56+esp]
3496 xor esi,eax
3497 mov ebp,edx
3498 shld edx,edx,5
3499 add ecx,esi
3500 xor ebp,eax
3501 shrd edi,edi,7
3502 add ecx,edx
3503 vpor xmm3,xmm3,xmm5
3504 add ebx,DWORD [60+esp]
3505 xor ebp,edi
3506 mov esi,ecx
3507 shld ecx,ecx,5
3508 add ebx,ebp
3509 xor esi,edi
3510 shrd edx,edx,7
3511 add ebx,ecx
3512 add eax,DWORD [esp]
3513 vpaddd xmm7,xmm7,xmm3
3514 xor esi,edx
3515 mov ebp,ebx
3516 shld ebx,ebx,5
3517 add eax,esi
3518 vmovdqa [48+esp],xmm7
3519 xor ebp,edx
3520 shrd ecx,ecx,7
3521 add eax,ebx
3522 add edi,DWORD [4+esp]
3523 xor ebp,ecx
3524 mov esi,eax
3525 shld eax,eax,5
3526 add edi,ebp
3527 xor esi,ecx
3528 shrd ebx,ebx,7
3529 add edi,eax
3530 add edx,DWORD [8+esp]
3531 xor esi,ebx
3532 mov ebp,edi
3533 shld edi,edi,5
3534 add edx,esi
3535 xor ebp,ebx
3536 shrd eax,eax,7
3537 add edx,edi
3538 add ecx,DWORD [12+esp]
3539 xor ebp,eax
3540 mov esi,edx
3541 shld edx,edx,5
3542 add ecx,ebp
3543 xor esi,eax
3544 shrd edi,edi,7
3545 add ecx,edx
3546 mov ebp,DWORD [196+esp]
3547 cmp ebp,DWORD [200+esp]
3548 je NEAR L$008done
3549 vmovdqa xmm7,[160+esp]
3550 vmovdqa xmm6,[176+esp]
3551 vmovdqu xmm0,[ebp]
3552 vmovdqu xmm1,[16+ebp]
3553 vmovdqu xmm2,[32+ebp]
3554 vmovdqu xmm3,[48+ebp]
3555 add ebp,64
3556 vpshufb xmm0,xmm0,xmm6
3557 mov DWORD [196+esp],ebp
3558 vmovdqa [96+esp],xmm7
3559 add ebx,DWORD [16+esp]
3560 xor esi,edi
3561 vpshufb xmm1,xmm1,xmm6
3562 mov ebp,ecx
3563 shld ecx,ecx,5
3564 vpaddd xmm4,xmm0,xmm7
3565 add ebx,esi
3566 xor ebp,edi
3567 shrd edx,edx,7
3568 add ebx,ecx
3569 vmovdqa [esp],xmm4
3570 add eax,DWORD [20+esp]
3571 xor ebp,edx
3572 mov esi,ebx
3573 shld ebx,ebx,5
3574 add eax,ebp
3575 xor esi,edx
3576 shrd ecx,ecx,7
3577 add eax,ebx
3578 add edi,DWORD [24+esp]
3579 xor esi,ecx
3580 mov ebp,eax
3581 shld eax,eax,5
3582 add edi,esi
3583 xor ebp,ecx
3584 shrd ebx,ebx,7
3585 add edi,eax
3586 add edx,DWORD [28+esp]
3587 xor ebp,ebx
3588 mov esi,edi
3589 shld edi,edi,5
3590 add edx,ebp
3591 xor esi,ebx
3592 shrd eax,eax,7
3593 add edx,edi
3594 add ecx,DWORD [32+esp]
3595 xor esi,eax
3596 vpshufb xmm2,xmm2,xmm6
3597 mov ebp,edx
3598 shld edx,edx,5
3599 vpaddd xmm5,xmm1,xmm7
3600 add ecx,esi
3601 xor ebp,eax
3602 shrd edi,edi,7
3603 add ecx,edx
3604 vmovdqa [16+esp],xmm5
3605 add ebx,DWORD [36+esp]
3606 xor ebp,edi
3607 mov esi,ecx
3608 shld ecx,ecx,5
3609 add ebx,ebp
3610 xor esi,edi
3611 shrd edx,edx,7
3612 add ebx,ecx
3613 add eax,DWORD [40+esp]
3614 xor esi,edx
3615 mov ebp,ebx
3616 shld ebx,ebx,5
3617 add eax,esi
3618 xor ebp,edx
3619 shrd ecx,ecx,7
3620 add eax,ebx
3621 add edi,DWORD [44+esp]
3622 xor ebp,ecx
3623 mov esi,eax
3624 shld eax,eax,5
3625 add edi,ebp
3626 xor esi,ecx
3627 shrd ebx,ebx,7
3628 add edi,eax
3629 add edx,DWORD [48+esp]
3630 xor esi,ebx
3631 vpshufb xmm3,xmm3,xmm6
3632 mov ebp,edi
3633 shld edi,edi,5
3634 vpaddd xmm6,xmm2,xmm7
3635 add edx,esi
3636 xor ebp,ebx
3637 shrd eax,eax,7
3638 add edx,edi
3639 vmovdqa [32+esp],xmm6
3640 add ecx,DWORD [52+esp]
3641 xor ebp,eax
3642 mov esi,edx
3643 shld edx,edx,5
3644 add ecx,ebp
3645 xor esi,eax
3646 shrd edi,edi,7
3647 add ecx,edx
3648 add ebx,DWORD [56+esp]
3649 xor esi,edi
3650 mov ebp,ecx
3651 shld ecx,ecx,5
3652 add ebx,esi
3653 xor ebp,edi
3654 shrd edx,edx,7
3655 add ebx,ecx
3656 add eax,DWORD [60+esp]
3657 xor ebp,edx
3658 mov esi,ebx
3659 shld ebx,ebx,5
3660 add eax,ebp
3661 shrd ecx,ecx,7
3662 add eax,ebx
3663 mov ebp,DWORD [192+esp]
3664 add eax,DWORD [ebp]
3665 add esi,DWORD [4+ebp]
3666 add ecx,DWORD [8+ebp]
3667 mov DWORD [ebp],eax
3668 add edx,DWORD [12+ebp]
3669 mov DWORD [4+ebp],esi
3670 add edi,DWORD [16+ebp]
3671 mov ebx,ecx
3672 mov DWORD [8+ebp],ecx
3673 xor ebx,edx
3674 mov DWORD [12+ebp],edx
3675 mov DWORD [16+ebp],edi
3676 mov ebp,esi
3677 and esi,ebx
3678 mov ebx,ebp
3679 jmp NEAR L$007loop
3680 align 16
3681 L$008done:
3682 add ebx,DWORD [16+esp]
3683 xor esi,edi
3684 mov ebp,ecx
3685 shld ecx,ecx,5
3686 add ebx,esi
3687 xor ebp,edi
3688 shrd edx,edx,7
3689 add ebx,ecx
3690 add eax,DWORD [20+esp]
3691 xor ebp,edx
3692 mov esi,ebx
3693 shld ebx,ebx,5
3694 add eax,ebp
3695 xor esi,edx
3696 shrd ecx,ecx,7
3697 add eax,ebx
3698 add edi,DWORD [24+esp]
3699 xor esi,ecx
3700 mov ebp,eax
3701 shld eax,eax,5
3702 add edi,esi
3703 xor ebp,ecx
3704 shrd ebx,ebx,7
3705 add edi,eax
3706 add edx,DWORD [28+esp]
3707 xor ebp,ebx
3708 mov esi,edi
3709 shld edi,edi,5
3710 add edx,ebp
3711 xor esi,ebx
3712 shrd eax,eax,7
3713 add edx,edi
3714 add ecx,DWORD [32+esp]
3715 xor esi,eax
3716 mov ebp,edx
3717 shld edx,edx,5
3718 add ecx,esi
3719 xor ebp,eax
3720 shrd edi,edi,7
3721 add ecx,edx
3722 add ebx,DWORD [36+esp]
3723 xor ebp,edi
3724 mov esi,ecx
3725 shld ecx,ecx,5
3726 add ebx,ebp
3727 xor esi,edi
3728 shrd edx,edx,7
3729 add ebx,ecx
3730 add eax,DWORD [40+esp]
3731 xor esi,edx
3732 mov ebp,ebx
3733 shld ebx,ebx,5
3734 add eax,esi
3735 xor ebp,edx
3736 shrd ecx,ecx,7
3737 add eax,ebx
3738 add edi,DWORD [44+esp]
3739 xor ebp,ecx
3740 mov esi,eax
3741 shld eax,eax,5
3742 add edi,ebp
3743 xor esi,ecx
3744 shrd ebx,ebx,7
3745 add edi,eax
3746 add edx,DWORD [48+esp]
3747 xor esi,ebx
3748 mov ebp,edi
3749 shld edi,edi,5
3750 add edx,esi
3751 xor ebp,ebx
3752 shrd eax,eax,7
3753 add edx,edi
3754 add ecx,DWORD [52+esp]
3755 xor ebp,eax
3756 mov esi,edx
3757 shld edx,edx,5
3758 add ecx,ebp
3759 xor esi,eax
3760 shrd edi,edi,7
3761 add ecx,edx
3762 add ebx,DWORD [56+esp]
3763 xor esi,edi
3764 mov ebp,ecx
3765 shld ecx,ecx,5
3766 add ebx,esi
3767 xor ebp,edi
3768 shrd edx,edx,7
3769 add ebx,ecx
3770 add eax,DWORD [60+esp]
3771 xor ebp,edx
3772 mov esi,ebx
3773 shld ebx,ebx,5
3774 add eax,ebp
3775 shrd ecx,ecx,7
3776 add eax,ebx
3777 vzeroall
3778 mov ebp,DWORD [192+esp]
3779 add eax,DWORD [ebp]
3780 mov esp,DWORD [204+esp]
3781 add esi,DWORD [4+ebp]
3782 add ecx,DWORD [8+ebp]
3783 mov DWORD [ebp],eax
3784 add edx,DWORD [12+ebp]
3785 mov DWORD [4+ebp],esi
3786 add edi,DWORD [16+ebp]
3787 mov DWORD [8+ebp],ecx
3788 mov DWORD [12+ebp],edx
3789 mov DWORD [16+ebp],edi
3790 pop edi
3791 pop esi
3792 pop ebx
3793 pop ebp
3794 ret
2622 align 64 3795 align 64
2623 L$K_XX_XX: 3796 L$K_XX_XX:
2624 dd 1518500249,1518500249,1518500249,1518500249 3797 dd 1518500249,1518500249,1518500249,1518500249
2625 dd 1859775393,1859775393,1859775393,1859775393 3798 dd 1859775393,1859775393,1859775393,1859775393
2626 dd 2400959708,2400959708,2400959708,2400959708 3799 dd 2400959708,2400959708,2400959708,2400959708
2627 dd 3395469782,3395469782,3395469782,3395469782 3800 dd 3395469782,3395469782,3395469782,3395469782
2628 dd 66051,67438087,134810123,202182159 3801 dd 66051,67438087,134810123,202182159
2629 db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 3802 db 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2630 db 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 3803 db 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
2631 db 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 3804 db 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
2632 db 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 3805 db 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
2633 db 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 3806 db 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2634 segment .bss 3807 segment .bss
2635 common _OPENSSL_ia32cap_P 16 3808 common _OPENSSL_ia32cap_P 16
OLDNEW
« no previous file with comments | « third_party/boringssl/mac-x86_64/crypto/sha/sha512-x86_64.S ('k') | third_party/boringssl/win-x86/crypto/sha/sha256-586.asm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698