VirtualBox

Ignore:
Timestamp:
Jun 8, 2022 8:35:57 AM (3 years ago)
Author:
vboxsync
Message:

libs/openssl-3.0.3: Recreated openssl assembler files, bugref:10128

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/libs/openssl-3.0.3/crypto/genasm-nasm/sha1-mb-x86_64.S

    r94083 r95221  
    2525        bt      rcx,61
    2626        jc      NEAR _shaext_shortcut
    27         test    ecx,268435456
    28         jnz     NEAR _avx_shortcut
    2927        mov     rax,rsp
    3028
     
    30203018$L$SEH_end_sha1_multi_block_shaext:
    30213019
    3022 ALIGN   32
    3023 sha1_multi_block_avx:
    3024         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    3025         mov     QWORD[16+rsp],rsi
    3026         mov     rax,rsp
    3027 $L$SEH_begin_sha1_multi_block_avx:
    3028         mov     rdi,rcx
    3029         mov     rsi,rdx
    3030         mov     rdx,r8
    3031 
    3032 
    3033 
    3034 _avx_shortcut:
    3035         shr     rcx,32
    3036         cmp     edx,2
    3037         jb      NEAR $L$avx
    3038         test    ecx,32
    3039         jnz     NEAR _avx2_shortcut
    3040         jmp     NEAR $L$avx
    3041 ALIGN   32
    3042 $L$avx:
    3043         mov     rax,rsp
    3044 
    3045         push    rbx
    3046 
    3047         push    rbp
    3048 
    3049         lea     rsp,[((-168))+rsp]
    3050         movaps  XMMWORD[rsp],xmm6
    3051         movaps  XMMWORD[16+rsp],xmm7
    3052         movaps  XMMWORD[32+rsp],xmm8
    3053         movaps  XMMWORD[48+rsp],xmm9
    3054         movaps  XMMWORD[(-120)+rax],xmm10
    3055         movaps  XMMWORD[(-104)+rax],xmm11
    3056         movaps  XMMWORD[(-88)+rax],xmm12
    3057         movaps  XMMWORD[(-72)+rax],xmm13
    3058         movaps  XMMWORD[(-56)+rax],xmm14
    3059         movaps  XMMWORD[(-40)+rax],xmm15
    3060         sub     rsp,288
    3061         and     rsp,-256
    3062         mov     QWORD[272+rsp],rax
    3063 
    3064 $L$body_avx:
    3065         lea     rbp,[K_XX_XX]
    3066         lea     rbx,[256+rsp]
    3067 
    3068         vzeroupper
    3069 $L$oop_grande_avx:
    3070         mov     DWORD[280+rsp],edx
    3071         xor     edx,edx
    3072 
    3073         mov     r8,QWORD[rsi]
    3074 
    3075         mov     ecx,DWORD[8+rsi]
    3076         cmp     ecx,edx
    3077         cmovg   edx,ecx
    3078         test    ecx,ecx
    3079         mov     DWORD[rbx],ecx
    3080         cmovle  r8,rbp
    3081 
    3082         mov     r9,QWORD[16+rsi]
    3083 
    3084         mov     ecx,DWORD[24+rsi]
    3085         cmp     ecx,edx
    3086         cmovg   edx,ecx
    3087         test    ecx,ecx
    3088         mov     DWORD[4+rbx],ecx
    3089         cmovle  r9,rbp
    3090 
    3091         mov     r10,QWORD[32+rsi]
    3092 
    3093         mov     ecx,DWORD[40+rsi]
    3094         cmp     ecx,edx
    3095         cmovg   edx,ecx
    3096         test    ecx,ecx
    3097         mov     DWORD[8+rbx],ecx
    3098         cmovle  r10,rbp
    3099 
    3100         mov     r11,QWORD[48+rsi]
    3101 
    3102         mov     ecx,DWORD[56+rsi]
    3103         cmp     ecx,edx
    3104         cmovg   edx,ecx
    3105         test    ecx,ecx
    3106         mov     DWORD[12+rbx],ecx
    3107         cmovle  r11,rbp
    3108         test    edx,edx
    3109         jz      NEAR $L$done_avx
    3110 
    3111         vmovdqu xmm10,XMMWORD[rdi]
    3112         lea     rax,[128+rsp]
    3113         vmovdqu xmm11,XMMWORD[32+rdi]
    3114         vmovdqu xmm12,XMMWORD[64+rdi]
    3115         vmovdqu xmm13,XMMWORD[96+rdi]
    3116         vmovdqu xmm14,XMMWORD[128+rdi]
    3117         vmovdqu xmm5,XMMWORD[96+rbp]
    3118         jmp     NEAR $L$oop_avx
    3119 
    3120 ALIGN   32
    3121 $L$oop_avx:
    3122         vmovdqa xmm15,XMMWORD[((-32))+rbp]
    3123         vmovd   xmm0,DWORD[r8]
    3124         lea     r8,[64+r8]
    3125         vmovd   xmm2,DWORD[r9]
    3126         lea     r9,[64+r9]
    3127         vpinsrd xmm0,xmm0,DWORD[r10],1
    3128         lea     r10,[64+r10]
    3129         vpinsrd xmm2,xmm2,DWORD[r11],1
    3130         lea     r11,[64+r11]
    3131         vmovd   xmm1,DWORD[((-60))+r8]
    3132         vpunpckldq      xmm0,xmm0,xmm2
    3133         vmovd   xmm9,DWORD[((-60))+r9]
    3134         vpshufb xmm0,xmm0,xmm5
    3135         vpinsrd xmm1,xmm1,DWORD[((-60))+r10],1
    3136         vpinsrd xmm9,xmm9,DWORD[((-60))+r11],1
    3137         vpaddd  xmm14,xmm14,xmm15
    3138         vpslld  xmm8,xmm10,5
    3139         vpandn  xmm7,xmm11,xmm13
    3140         vpand   xmm6,xmm11,xmm12
    3141 
    3142         vmovdqa XMMWORD[(0-128)+rax],xmm0
    3143         vpaddd  xmm14,xmm14,xmm0
    3144         vpunpckldq      xmm1,xmm1,xmm9
    3145         vpsrld  xmm9,xmm10,27
    3146         vpxor   xmm6,xmm6,xmm7
    3147         vmovd   xmm2,DWORD[((-56))+r8]
    3148 
    3149         vpslld  xmm7,xmm11,30
    3150         vpor    xmm8,xmm8,xmm9
    3151         vmovd   xmm9,DWORD[((-56))+r9]
    3152         vpaddd  xmm14,xmm14,xmm6
    3153 
    3154         vpsrld  xmm11,xmm11,2
    3155         vpaddd  xmm14,xmm14,xmm8
    3156         vpshufb xmm1,xmm1,xmm5
    3157         vpor    xmm11,xmm11,xmm7
    3158         vpinsrd xmm2,xmm2,DWORD[((-56))+r10],1
    3159         vpinsrd xmm9,xmm9,DWORD[((-56))+r11],1
    3160         vpaddd  xmm13,xmm13,xmm15
    3161         vpslld  xmm8,xmm14,5
    3162         vpandn  xmm7,xmm10,xmm12
    3163         vpand   xmm6,xmm10,xmm11
    3164 
    3165         vmovdqa XMMWORD[(16-128)+rax],xmm1
    3166         vpaddd  xmm13,xmm13,xmm1
    3167         vpunpckldq      xmm2,xmm2,xmm9
    3168         vpsrld  xmm9,xmm14,27
    3169         vpxor   xmm6,xmm6,xmm7
    3170         vmovd   xmm3,DWORD[((-52))+r8]
    3171 
    3172         vpslld  xmm7,xmm10,30
    3173         vpor    xmm8,xmm8,xmm9
    3174         vmovd   xmm9,DWORD[((-52))+r9]
    3175         vpaddd  xmm13,xmm13,xmm6
    3176 
    3177         vpsrld  xmm10,xmm10,2
    3178         vpaddd  xmm13,xmm13,xmm8
    3179         vpshufb xmm2,xmm2,xmm5
    3180         vpor    xmm10,xmm10,xmm7
    3181         vpinsrd xmm3,xmm3,DWORD[((-52))+r10],1
    3182         vpinsrd xmm9,xmm9,DWORD[((-52))+r11],1
    3183         vpaddd  xmm12,xmm12,xmm15
    3184         vpslld  xmm8,xmm13,5
    3185         vpandn  xmm7,xmm14,xmm11
    3186         vpand   xmm6,xmm14,xmm10
    3187 
    3188         vmovdqa XMMWORD[(32-128)+rax],xmm2
    3189         vpaddd  xmm12,xmm12,xmm2
    3190         vpunpckldq      xmm3,xmm3,xmm9
    3191         vpsrld  xmm9,xmm13,27
    3192         vpxor   xmm6,xmm6,xmm7
    3193         vmovd   xmm4,DWORD[((-48))+r8]
    3194 
    3195         vpslld  xmm7,xmm14,30
    3196         vpor    xmm8,xmm8,xmm9
    3197         vmovd   xmm9,DWORD[((-48))+r9]
    3198         vpaddd  xmm12,xmm12,xmm6
    3199 
    3200         vpsrld  xmm14,xmm14,2
    3201         vpaddd  xmm12,xmm12,xmm8
    3202         vpshufb xmm3,xmm3,xmm5
    3203         vpor    xmm14,xmm14,xmm7
    3204         vpinsrd xmm4,xmm4,DWORD[((-48))+r10],1
    3205         vpinsrd xmm9,xmm9,DWORD[((-48))+r11],1
    3206         vpaddd  xmm11,xmm11,xmm15
    3207         vpslld  xmm8,xmm12,5
    3208         vpandn  xmm7,xmm13,xmm10
    3209         vpand   xmm6,xmm13,xmm14
    3210 
    3211         vmovdqa XMMWORD[(48-128)+rax],xmm3
    3212         vpaddd  xmm11,xmm11,xmm3
    3213         vpunpckldq      xmm4,xmm4,xmm9
    3214         vpsrld  xmm9,xmm12,27
    3215         vpxor   xmm6,xmm6,xmm7
    3216         vmovd   xmm0,DWORD[((-44))+r8]
    3217 
    3218         vpslld  xmm7,xmm13,30
    3219         vpor    xmm8,xmm8,xmm9
    3220         vmovd   xmm9,DWORD[((-44))+r9]
    3221         vpaddd  xmm11,xmm11,xmm6
    3222 
    3223         vpsrld  xmm13,xmm13,2
    3224         vpaddd  xmm11,xmm11,xmm8
    3225         vpshufb xmm4,xmm4,xmm5
    3226         vpor    xmm13,xmm13,xmm7
    3227         vpinsrd xmm0,xmm0,DWORD[((-44))+r10],1
    3228         vpinsrd xmm9,xmm9,DWORD[((-44))+r11],1
    3229         vpaddd  xmm10,xmm10,xmm15
    3230         vpslld  xmm8,xmm11,5
    3231         vpandn  xmm7,xmm12,xmm14
    3232         vpand   xmm6,xmm12,xmm13
    3233 
    3234         vmovdqa XMMWORD[(64-128)+rax],xmm4
    3235         vpaddd  xmm10,xmm10,xmm4
    3236         vpunpckldq      xmm0,xmm0,xmm9
    3237         vpsrld  xmm9,xmm11,27
    3238         vpxor   xmm6,xmm6,xmm7
    3239         vmovd   xmm1,DWORD[((-40))+r8]
    3240 
    3241         vpslld  xmm7,xmm12,30
    3242         vpor    xmm8,xmm8,xmm9
    3243         vmovd   xmm9,DWORD[((-40))+r9]
    3244         vpaddd  xmm10,xmm10,xmm6
    3245 
    3246         vpsrld  xmm12,xmm12,2
    3247         vpaddd  xmm10,xmm10,xmm8
    3248         vpshufb xmm0,xmm0,xmm5
    3249         vpor    xmm12,xmm12,xmm7
    3250         vpinsrd xmm1,xmm1,DWORD[((-40))+r10],1
    3251         vpinsrd xmm9,xmm9,DWORD[((-40))+r11],1
    3252         vpaddd  xmm14,xmm14,xmm15
    3253         vpslld  xmm8,xmm10,5
    3254         vpandn  xmm7,xmm11,xmm13
    3255         vpand   xmm6,xmm11,xmm12
    3256 
    3257         vmovdqa XMMWORD[(80-128)+rax],xmm0
    3258         vpaddd  xmm14,xmm14,xmm0
    3259         vpunpckldq      xmm1,xmm1,xmm9
    3260         vpsrld  xmm9,xmm10,27
    3261         vpxor   xmm6,xmm6,xmm7
    3262         vmovd   xmm2,DWORD[((-36))+r8]
    3263 
    3264         vpslld  xmm7,xmm11,30
    3265         vpor    xmm8,xmm8,xmm9
    3266         vmovd   xmm9,DWORD[((-36))+r9]
    3267         vpaddd  xmm14,xmm14,xmm6
    3268 
    3269         vpsrld  xmm11,xmm11,2
    3270         vpaddd  xmm14,xmm14,xmm8
    3271         vpshufb xmm1,xmm1,xmm5
    3272         vpor    xmm11,xmm11,xmm7
    3273         vpinsrd xmm2,xmm2,DWORD[((-36))+r10],1
    3274         vpinsrd xmm9,xmm9,DWORD[((-36))+r11],1
    3275         vpaddd  xmm13,xmm13,xmm15
    3276         vpslld  xmm8,xmm14,5
    3277         vpandn  xmm7,xmm10,xmm12
    3278         vpand   xmm6,xmm10,xmm11
    3279 
    3280         vmovdqa XMMWORD[(96-128)+rax],xmm1
    3281         vpaddd  xmm13,xmm13,xmm1
    3282         vpunpckldq      xmm2,xmm2,xmm9
    3283         vpsrld  xmm9,xmm14,27
    3284         vpxor   xmm6,xmm6,xmm7
    3285         vmovd   xmm3,DWORD[((-32))+r8]
    3286 
    3287         vpslld  xmm7,xmm10,30
    3288         vpor    xmm8,xmm8,xmm9
    3289         vmovd   xmm9,DWORD[((-32))+r9]
    3290         vpaddd  xmm13,xmm13,xmm6
    3291 
    3292         vpsrld  xmm10,xmm10,2
    3293         vpaddd  xmm13,xmm13,xmm8
    3294         vpshufb xmm2,xmm2,xmm5
    3295         vpor    xmm10,xmm10,xmm7
    3296         vpinsrd xmm3,xmm3,DWORD[((-32))+r10],1
    3297         vpinsrd xmm9,xmm9,DWORD[((-32))+r11],1
    3298         vpaddd  xmm12,xmm12,xmm15
    3299         vpslld  xmm8,xmm13,5
    3300         vpandn  xmm7,xmm14,xmm11
    3301         vpand   xmm6,xmm14,xmm10
    3302 
    3303         vmovdqa XMMWORD[(112-128)+rax],xmm2
    3304         vpaddd  xmm12,xmm12,xmm2
    3305         vpunpckldq      xmm3,xmm3,xmm9
    3306         vpsrld  xmm9,xmm13,27
    3307         vpxor   xmm6,xmm6,xmm7
    3308         vmovd   xmm4,DWORD[((-28))+r8]
    3309 
    3310         vpslld  xmm7,xmm14,30
    3311         vpor    xmm8,xmm8,xmm9
    3312         vmovd   xmm9,DWORD[((-28))+r9]
    3313         vpaddd  xmm12,xmm12,xmm6
    3314 
    3315         vpsrld  xmm14,xmm14,2
    3316         vpaddd  xmm12,xmm12,xmm8
    3317         vpshufb xmm3,xmm3,xmm5
    3318         vpor    xmm14,xmm14,xmm7
    3319         vpinsrd xmm4,xmm4,DWORD[((-28))+r10],1
    3320         vpinsrd xmm9,xmm9,DWORD[((-28))+r11],1
    3321         vpaddd  xmm11,xmm11,xmm15
    3322         vpslld  xmm8,xmm12,5
    3323         vpandn  xmm7,xmm13,xmm10
    3324         vpand   xmm6,xmm13,xmm14
    3325 
    3326         vmovdqa XMMWORD[(128-128)+rax],xmm3
    3327         vpaddd  xmm11,xmm11,xmm3
    3328         vpunpckldq      xmm4,xmm4,xmm9
    3329         vpsrld  xmm9,xmm12,27
    3330         vpxor   xmm6,xmm6,xmm7
    3331         vmovd   xmm0,DWORD[((-24))+r8]
    3332 
    3333         vpslld  xmm7,xmm13,30
    3334         vpor    xmm8,xmm8,xmm9
    3335         vmovd   xmm9,DWORD[((-24))+r9]
    3336         vpaddd  xmm11,xmm11,xmm6
    3337 
    3338         vpsrld  xmm13,xmm13,2
    3339         vpaddd  xmm11,xmm11,xmm8
    3340         vpshufb xmm4,xmm4,xmm5
    3341         vpor    xmm13,xmm13,xmm7
    3342         vpinsrd xmm0,xmm0,DWORD[((-24))+r10],1
    3343         vpinsrd xmm9,xmm9,DWORD[((-24))+r11],1
    3344         vpaddd  xmm10,xmm10,xmm15
    3345         vpslld  xmm8,xmm11,5
    3346         vpandn  xmm7,xmm12,xmm14
    3347         vpand   xmm6,xmm12,xmm13
    3348 
    3349         vmovdqa XMMWORD[(144-128)+rax],xmm4
    3350         vpaddd  xmm10,xmm10,xmm4
    3351         vpunpckldq      xmm0,xmm0,xmm9
    3352         vpsrld  xmm9,xmm11,27
    3353         vpxor   xmm6,xmm6,xmm7
    3354         vmovd   xmm1,DWORD[((-20))+r8]
    3355 
    3356         vpslld  xmm7,xmm12,30
    3357         vpor    xmm8,xmm8,xmm9
    3358         vmovd   xmm9,DWORD[((-20))+r9]
    3359         vpaddd  xmm10,xmm10,xmm6
    3360 
    3361         vpsrld  xmm12,xmm12,2
    3362         vpaddd  xmm10,xmm10,xmm8
    3363         vpshufb xmm0,xmm0,xmm5
    3364         vpor    xmm12,xmm12,xmm7
    3365         vpinsrd xmm1,xmm1,DWORD[((-20))+r10],1
    3366         vpinsrd xmm9,xmm9,DWORD[((-20))+r11],1
    3367         vpaddd  xmm14,xmm14,xmm15
    3368         vpslld  xmm8,xmm10,5
    3369         vpandn  xmm7,xmm11,xmm13
    3370         vpand   xmm6,xmm11,xmm12
    3371 
    3372         vmovdqa XMMWORD[(160-128)+rax],xmm0
    3373         vpaddd  xmm14,xmm14,xmm0
    3374         vpunpckldq      xmm1,xmm1,xmm9
    3375         vpsrld  xmm9,xmm10,27
    3376         vpxor   xmm6,xmm6,xmm7
    3377         vmovd   xmm2,DWORD[((-16))+r8]
    3378 
    3379         vpslld  xmm7,xmm11,30
    3380         vpor    xmm8,xmm8,xmm9
    3381         vmovd   xmm9,DWORD[((-16))+r9]
    3382         vpaddd  xmm14,xmm14,xmm6
    3383 
    3384         vpsrld  xmm11,xmm11,2
    3385         vpaddd  xmm14,xmm14,xmm8
    3386         vpshufb xmm1,xmm1,xmm5
    3387         vpor    xmm11,xmm11,xmm7
    3388         vpinsrd xmm2,xmm2,DWORD[((-16))+r10],1
    3389         vpinsrd xmm9,xmm9,DWORD[((-16))+r11],1
    3390         vpaddd  xmm13,xmm13,xmm15
    3391         vpslld  xmm8,xmm14,5
    3392         vpandn  xmm7,xmm10,xmm12
    3393         vpand   xmm6,xmm10,xmm11
    3394 
    3395         vmovdqa XMMWORD[(176-128)+rax],xmm1
    3396         vpaddd  xmm13,xmm13,xmm1
    3397         vpunpckldq      xmm2,xmm2,xmm9
    3398         vpsrld  xmm9,xmm14,27
    3399         vpxor   xmm6,xmm6,xmm7
    3400         vmovd   xmm3,DWORD[((-12))+r8]
    3401 
    3402         vpslld  xmm7,xmm10,30
    3403         vpor    xmm8,xmm8,xmm9
    3404         vmovd   xmm9,DWORD[((-12))+r9]
    3405         vpaddd  xmm13,xmm13,xmm6
    3406 
    3407         vpsrld  xmm10,xmm10,2
    3408         vpaddd  xmm13,xmm13,xmm8
    3409         vpshufb xmm2,xmm2,xmm5
    3410         vpor    xmm10,xmm10,xmm7
    3411         vpinsrd xmm3,xmm3,DWORD[((-12))+r10],1
    3412         vpinsrd xmm9,xmm9,DWORD[((-12))+r11],1
    3413         vpaddd  xmm12,xmm12,xmm15
    3414         vpslld  xmm8,xmm13,5
    3415         vpandn  xmm7,xmm14,xmm11
    3416         vpand   xmm6,xmm14,xmm10
    3417 
    3418         vmovdqa XMMWORD[(192-128)+rax],xmm2
    3419         vpaddd  xmm12,xmm12,xmm2
    3420         vpunpckldq      xmm3,xmm3,xmm9
    3421         vpsrld  xmm9,xmm13,27
    3422         vpxor   xmm6,xmm6,xmm7
    3423         vmovd   xmm4,DWORD[((-8))+r8]
    3424 
    3425         vpslld  xmm7,xmm14,30
    3426         vpor    xmm8,xmm8,xmm9
    3427         vmovd   xmm9,DWORD[((-8))+r9]
    3428         vpaddd  xmm12,xmm12,xmm6
    3429 
    3430         vpsrld  xmm14,xmm14,2
    3431         vpaddd  xmm12,xmm12,xmm8
    3432         vpshufb xmm3,xmm3,xmm5
    3433         vpor    xmm14,xmm14,xmm7
    3434         vpinsrd xmm4,xmm4,DWORD[((-8))+r10],1
    3435         vpinsrd xmm9,xmm9,DWORD[((-8))+r11],1
    3436         vpaddd  xmm11,xmm11,xmm15
    3437         vpslld  xmm8,xmm12,5
    3438         vpandn  xmm7,xmm13,xmm10
    3439         vpand   xmm6,xmm13,xmm14
    3440 
    3441         vmovdqa XMMWORD[(208-128)+rax],xmm3
    3442         vpaddd  xmm11,xmm11,xmm3
    3443         vpunpckldq      xmm4,xmm4,xmm9
    3444         vpsrld  xmm9,xmm12,27
    3445         vpxor   xmm6,xmm6,xmm7
    3446         vmovd   xmm0,DWORD[((-4))+r8]
    3447 
    3448         vpslld  xmm7,xmm13,30
    3449         vpor    xmm8,xmm8,xmm9
    3450         vmovd   xmm9,DWORD[((-4))+r9]
    3451         vpaddd  xmm11,xmm11,xmm6
    3452 
    3453         vpsrld  xmm13,xmm13,2
    3454         vpaddd  xmm11,xmm11,xmm8
    3455         vpshufb xmm4,xmm4,xmm5
    3456         vpor    xmm13,xmm13,xmm7
    3457         vmovdqa xmm1,XMMWORD[((0-128))+rax]
    3458         vpinsrd xmm0,xmm0,DWORD[((-4))+r10],1
    3459         vpinsrd xmm9,xmm9,DWORD[((-4))+r11],1
    3460         vpaddd  xmm10,xmm10,xmm15
    3461         prefetcht0      [63+r8]
    3462         vpslld  xmm8,xmm11,5
    3463         vpandn  xmm7,xmm12,xmm14
    3464         vpand   xmm6,xmm12,xmm13
    3465 
    3466         vmovdqa XMMWORD[(224-128)+rax],xmm4
    3467         vpaddd  xmm10,xmm10,xmm4
    3468         vpunpckldq      xmm0,xmm0,xmm9
    3469         vpsrld  xmm9,xmm11,27
    3470         prefetcht0      [63+r9]
    3471         vpxor   xmm6,xmm6,xmm7
    3472 
    3473         vpslld  xmm7,xmm12,30
    3474         vpor    xmm8,xmm8,xmm9
    3475         prefetcht0      [63+r10]
    3476         vpaddd  xmm10,xmm10,xmm6
    3477 
    3478         vpsrld  xmm12,xmm12,2
    3479         vpaddd  xmm10,xmm10,xmm8
    3480         prefetcht0      [63+r11]
    3481         vpshufb xmm0,xmm0,xmm5
    3482         vpor    xmm12,xmm12,xmm7
    3483         vmovdqa xmm2,XMMWORD[((16-128))+rax]
    3484         vpxor   xmm1,xmm1,xmm3
    3485         vmovdqa xmm3,XMMWORD[((32-128))+rax]
    3486 
    3487         vpaddd  xmm14,xmm14,xmm15
    3488         vpslld  xmm8,xmm10,5
    3489         vpandn  xmm7,xmm11,xmm13
    3490 
    3491         vpand   xmm6,xmm11,xmm12
    3492 
    3493         vmovdqa XMMWORD[(240-128)+rax],xmm0
    3494         vpaddd  xmm14,xmm14,xmm0
    3495         vpxor   xmm1,xmm1,XMMWORD[((128-128))+rax]
    3496         vpsrld  xmm9,xmm10,27
    3497         vpxor   xmm6,xmm6,xmm7
    3498         vpxor   xmm1,xmm1,xmm3
    3499 
    3500 
    3501         vpslld  xmm7,xmm11,30
    3502         vpor    xmm8,xmm8,xmm9
    3503         vpaddd  xmm14,xmm14,xmm6
    3504 
    3505         vpsrld  xmm5,xmm1,31
    3506         vpaddd  xmm1,xmm1,xmm1
    3507 
    3508         vpsrld  xmm11,xmm11,2
    3509 
    3510         vpaddd  xmm14,xmm14,xmm8
    3511         vpor    xmm1,xmm1,xmm5
    3512         vpor    xmm11,xmm11,xmm7
    3513         vpxor   xmm2,xmm2,xmm4
    3514         vmovdqa xmm4,XMMWORD[((48-128))+rax]
    3515 
    3516         vpaddd  xmm13,xmm13,xmm15
    3517         vpslld  xmm8,xmm14,5
    3518         vpandn  xmm7,xmm10,xmm12
    3519 
    3520         vpand   xmm6,xmm10,xmm11
    3521 
    3522         vmovdqa XMMWORD[(0-128)+rax],xmm1
    3523         vpaddd  xmm13,xmm13,xmm1
    3524         vpxor   xmm2,xmm2,XMMWORD[((144-128))+rax]
    3525         vpsrld  xmm9,xmm14,27
    3526         vpxor   xmm6,xmm6,xmm7
    3527         vpxor   xmm2,xmm2,xmm4
    3528 
    3529 
    3530         vpslld  xmm7,xmm10,30
    3531         vpor    xmm8,xmm8,xmm9
    3532         vpaddd  xmm13,xmm13,xmm6
    3533 
    3534         vpsrld  xmm5,xmm2,31
    3535         vpaddd  xmm2,xmm2,xmm2
    3536 
    3537         vpsrld  xmm10,xmm10,2
    3538 
    3539         vpaddd  xmm13,xmm13,xmm8
    3540         vpor    xmm2,xmm2,xmm5
    3541         vpor    xmm10,xmm10,xmm7
    3542         vpxor   xmm3,xmm3,xmm0
    3543         vmovdqa xmm0,XMMWORD[((64-128))+rax]
    3544 
    3545         vpaddd  xmm12,xmm12,xmm15
    3546         vpslld  xmm8,xmm13,5
    3547         vpandn  xmm7,xmm14,xmm11
    3548 
    3549         vpand   xmm6,xmm14,xmm10
    3550 
    3551         vmovdqa XMMWORD[(16-128)+rax],xmm2
    3552         vpaddd  xmm12,xmm12,xmm2
    3553         vpxor   xmm3,xmm3,XMMWORD[((160-128))+rax]
    3554         vpsrld  xmm9,xmm13,27
    3555         vpxor   xmm6,xmm6,xmm7
    3556         vpxor   xmm3,xmm3,xmm0
    3557 
    3558 
    3559         vpslld  xmm7,xmm14,30
    3560         vpor    xmm8,xmm8,xmm9
    3561         vpaddd  xmm12,xmm12,xmm6
    3562 
    3563         vpsrld  xmm5,xmm3,31
    3564         vpaddd  xmm3,xmm3,xmm3
    3565 
    3566         vpsrld  xmm14,xmm14,2
    3567 
    3568         vpaddd  xmm12,xmm12,xmm8
    3569         vpor    xmm3,xmm3,xmm5
    3570         vpor    xmm14,xmm14,xmm7
    3571         vpxor   xmm4,xmm4,xmm1
    3572         vmovdqa xmm1,XMMWORD[((80-128))+rax]
    3573 
    3574         vpaddd  xmm11,xmm11,xmm15
    3575         vpslld  xmm8,xmm12,5
    3576         vpandn  xmm7,xmm13,xmm10
    3577 
    3578         vpand   xmm6,xmm13,xmm14
    3579 
    3580         vmovdqa XMMWORD[(32-128)+rax],xmm3
    3581         vpaddd  xmm11,xmm11,xmm3
    3582         vpxor   xmm4,xmm4,XMMWORD[((176-128))+rax]
    3583         vpsrld  xmm9,xmm12,27
    3584         vpxor   xmm6,xmm6,xmm7
    3585         vpxor   xmm4,xmm4,xmm1
    3586 
    3587 
    3588         vpslld  xmm7,xmm13,30
    3589         vpor    xmm8,xmm8,xmm9
    3590         vpaddd  xmm11,xmm11,xmm6
    3591 
    3592         vpsrld  xmm5,xmm4,31
    3593         vpaddd  xmm4,xmm4,xmm4
    3594 
    3595         vpsrld  xmm13,xmm13,2
    3596 
    3597         vpaddd  xmm11,xmm11,xmm8
    3598         vpor    xmm4,xmm4,xmm5
    3599         vpor    xmm13,xmm13,xmm7
    3600         vpxor   xmm0,xmm0,xmm2
    3601         vmovdqa xmm2,XMMWORD[((96-128))+rax]
    3602 
    3603         vpaddd  xmm10,xmm10,xmm15
    3604         vpslld  xmm8,xmm11,5
    3605         vpandn  xmm7,xmm12,xmm14
    3606 
    3607         vpand   xmm6,xmm12,xmm13
    3608 
    3609         vmovdqa XMMWORD[(48-128)+rax],xmm4
    3610         vpaddd  xmm10,xmm10,xmm4
    3611         vpxor   xmm0,xmm0,XMMWORD[((192-128))+rax]
    3612         vpsrld  xmm9,xmm11,27
    3613         vpxor   xmm6,xmm6,xmm7
    3614         vpxor   xmm0,xmm0,xmm2
    3615 
    3616 
    3617         vpslld  xmm7,xmm12,30
    3618         vpor    xmm8,xmm8,xmm9
    3619         vpaddd  xmm10,xmm10,xmm6
    3620 
    3621         vpsrld  xmm5,xmm0,31
    3622         vpaddd  xmm0,xmm0,xmm0
    3623 
    3624         vpsrld  xmm12,xmm12,2
    3625 
    3626         vpaddd  xmm10,xmm10,xmm8
    3627         vpor    xmm0,xmm0,xmm5
    3628         vpor    xmm12,xmm12,xmm7
    3629         vmovdqa xmm15,XMMWORD[rbp]
    3630         vpxor   xmm1,xmm1,xmm3
    3631         vmovdqa xmm3,XMMWORD[((112-128))+rax]
    3632 
    3633         vpslld  xmm8,xmm10,5
    3634         vpaddd  xmm14,xmm14,xmm15
    3635         vpxor   xmm6,xmm13,xmm11
    3636         vmovdqa XMMWORD[(64-128)+rax],xmm0
    3637         vpaddd  xmm14,xmm14,xmm0
    3638         vpxor   xmm1,xmm1,XMMWORD[((208-128))+rax]
    3639         vpsrld  xmm9,xmm10,27
    3640         vpxor   xmm6,xmm6,xmm12
    3641         vpxor   xmm1,xmm1,xmm3
    3642 
    3643         vpslld  xmm7,xmm11,30
    3644         vpor    xmm8,xmm8,xmm9
    3645         vpaddd  xmm14,xmm14,xmm6
    3646         vpsrld  xmm5,xmm1,31
    3647         vpaddd  xmm1,xmm1,xmm1
    3648 
    3649         vpsrld  xmm11,xmm11,2
    3650         vpaddd  xmm14,xmm14,xmm8
    3651         vpor    xmm1,xmm1,xmm5
    3652         vpor    xmm11,xmm11,xmm7
    3653         vpxor   xmm2,xmm2,xmm4
    3654         vmovdqa xmm4,XMMWORD[((128-128))+rax]
    3655 
    3656         vpslld  xmm8,xmm14,5
    3657         vpaddd  xmm13,xmm13,xmm15
    3658         vpxor   xmm6,xmm12,xmm10
    3659         vmovdqa XMMWORD[(80-128)+rax],xmm1
    3660         vpaddd  xmm13,xmm13,xmm1
    3661         vpxor   xmm2,xmm2,XMMWORD[((224-128))+rax]
    3662         vpsrld  xmm9,xmm14,27
    3663         vpxor   xmm6,xmm6,xmm11
    3664         vpxor   xmm2,xmm2,xmm4
    3665 
    3666         vpslld  xmm7,xmm10,30
    3667         vpor    xmm8,xmm8,xmm9
    3668         vpaddd  xmm13,xmm13,xmm6
    3669         vpsrld  xmm5,xmm2,31
    3670         vpaddd  xmm2,xmm2,xmm2
    3671 
    3672         vpsrld  xmm10,xmm10,2
    3673         vpaddd  xmm13,xmm13,xmm8
    3674         vpor    xmm2,xmm2,xmm5
    3675         vpor    xmm10,xmm10,xmm7
    3676         vpxor   xmm3,xmm3,xmm0
    3677         vmovdqa xmm0,XMMWORD[((144-128))+rax]
    3678 
    3679         vpslld  xmm8,xmm13,5
    3680         vpaddd  xmm12,xmm12,xmm15
    3681         vpxor   xmm6,xmm11,xmm14
    3682         vmovdqa XMMWORD[(96-128)+rax],xmm2
    3683         vpaddd  xmm12,xmm12,xmm2
    3684         vpxor   xmm3,xmm3,XMMWORD[((240-128))+rax]
    3685         vpsrld  xmm9,xmm13,27
    3686         vpxor   xmm6,xmm6,xmm10
    3687         vpxor   xmm3,xmm3,xmm0
    3688 
    3689         vpslld  xmm7,xmm14,30
    3690         vpor    xmm8,xmm8,xmm9
    3691         vpaddd  xmm12,xmm12,xmm6
    3692         vpsrld  xmm5,xmm3,31
    3693         vpaddd  xmm3,xmm3,xmm3
    3694 
    3695         vpsrld  xmm14,xmm14,2
    3696         vpaddd  xmm12,xmm12,xmm8
    3697         vpor    xmm3,xmm3,xmm5
    3698         vpor    xmm14,xmm14,xmm7
    3699         vpxor   xmm4,xmm4,xmm1
    3700         vmovdqa xmm1,XMMWORD[((160-128))+rax]
    3701 
    3702         vpslld  xmm8,xmm12,5
    3703         vpaddd  xmm11,xmm11,xmm15
    3704         vpxor   xmm6,xmm10,xmm13
    3705         vmovdqa XMMWORD[(112-128)+rax],xmm3
    3706         vpaddd  xmm11,xmm11,xmm3
    3707         vpxor   xmm4,xmm4,XMMWORD[((0-128))+rax]
    3708         vpsrld  xmm9,xmm12,27
    3709         vpxor   xmm6,xmm6,xmm14
    3710         vpxor   xmm4,xmm4,xmm1
    3711 
    3712         vpslld  xmm7,xmm13,30
    3713         vpor    xmm8,xmm8,xmm9
    3714         vpaddd  xmm11,xmm11,xmm6
    3715         vpsrld  xmm5,xmm4,31
    3716         vpaddd  xmm4,xmm4,xmm4
    3717 
    3718         vpsrld  xmm13,xmm13,2
    3719         vpaddd  xmm11,xmm11,xmm8
    3720         vpor    xmm4,xmm4,xmm5
    3721         vpor    xmm13,xmm13,xmm7
    3722         vpxor   xmm0,xmm0,xmm2
    3723         vmovdqa xmm2,XMMWORD[((176-128))+rax]
    3724 
    3725         vpslld  xmm8,xmm11,5
    3726         vpaddd  xmm10,xmm10,xmm15
    3727         vpxor   xmm6,xmm14,xmm12
    3728         vmovdqa XMMWORD[(128-128)+rax],xmm4
    3729         vpaddd  xmm10,xmm10,xmm4
    3730         vpxor   xmm0,xmm0,XMMWORD[((16-128))+rax]
    3731         vpsrld  xmm9,xmm11,27
    3732         vpxor   xmm6,xmm6,xmm13
    3733         vpxor   xmm0,xmm0,xmm2
    3734 
    3735         vpslld  xmm7,xmm12,30
    3736         vpor    xmm8,xmm8,xmm9
    3737         vpaddd  xmm10,xmm10,xmm6
    3738         vpsrld  xmm5,xmm0,31
    3739         vpaddd  xmm0,xmm0,xmm0
    3740 
    3741         vpsrld  xmm12,xmm12,2
    3742         vpaddd  xmm10,xmm10,xmm8
    3743         vpor    xmm0,xmm0,xmm5
    3744         vpor    xmm12,xmm12,xmm7
    3745         vpxor   xmm1,xmm1,xmm3
    3746         vmovdqa xmm3,XMMWORD[((192-128))+rax]
    3747 
    3748         vpslld  xmm8,xmm10,5
    3749         vpaddd  xmm14,xmm14,xmm15
    3750         vpxor   xmm6,xmm13,xmm11
    3751         vmovdqa XMMWORD[(144-128)+rax],xmm0
    3752         vpaddd  xmm14,xmm14,xmm0
    3753         vpxor   xmm1,xmm1,XMMWORD[((32-128))+rax]
    3754         vpsrld  xmm9,xmm10,27
    3755         vpxor   xmm6,xmm6,xmm12
    3756         vpxor   xmm1,xmm1,xmm3
    3757 
    3758         vpslld  xmm7,xmm11,30
    3759         vpor    xmm8,xmm8,xmm9
    3760         vpaddd  xmm14,xmm14,xmm6
    3761         vpsrld  xmm5,xmm1,31
    3762         vpaddd  xmm1,xmm1,xmm1
    3763 
    3764         vpsrld  xmm11,xmm11,2
    3765         vpaddd  xmm14,xmm14,xmm8
    3766         vpor    xmm1,xmm1,xmm5
    3767         vpor    xmm11,xmm11,xmm7
    3768         vpxor   xmm2,xmm2,xmm4
    3769         vmovdqa xmm4,XMMWORD[((208-128))+rax]
    3770 
    3771         vpslld  xmm8,xmm14,5
    3772         vpaddd  xmm13,xmm13,xmm15
    3773         vpxor   xmm6,xmm12,xmm10
    3774         vmovdqa XMMWORD[(160-128)+rax],xmm1
    3775         vpaddd  xmm13,xmm13,xmm1
    3776         vpxor   xmm2,xmm2,XMMWORD[((48-128))+rax]
    3777         vpsrld  xmm9,xmm14,27
    3778         vpxor   xmm6,xmm6,xmm11
    3779         vpxor   xmm2,xmm2,xmm4
    3780 
    3781         vpslld  xmm7,xmm10,30
    3782         vpor    xmm8,xmm8,xmm9
    3783         vpaddd  xmm13,xmm13,xmm6
    3784         vpsrld  xmm5,xmm2,31
    3785         vpaddd  xmm2,xmm2,xmm2
    3786 
    3787         vpsrld  xmm10,xmm10,2
    3788         vpaddd  xmm13,xmm13,xmm8
    3789         vpor    xmm2,xmm2,xmm5
    3790         vpor    xmm10,xmm10,xmm7
    3791         vpxor   xmm3,xmm3,xmm0
    3792         vmovdqa xmm0,XMMWORD[((224-128))+rax]
    3793 
    3794         vpslld  xmm8,xmm13,5
    3795         vpaddd  xmm12,xmm12,xmm15
    3796         vpxor   xmm6,xmm11,xmm14
    3797         vmovdqa XMMWORD[(176-128)+rax],xmm2
    3798         vpaddd  xmm12,xmm12,xmm2
    3799         vpxor   xmm3,xmm3,XMMWORD[((64-128))+rax]
    3800         vpsrld  xmm9,xmm13,27
    3801         vpxor   xmm6,xmm6,xmm10
    3802         vpxor   xmm3,xmm3,xmm0
    3803 
    3804         vpslld  xmm7,xmm14,30
    3805         vpor    xmm8,xmm8,xmm9
    3806         vpaddd  xmm12,xmm12,xmm6
    3807         vpsrld  xmm5,xmm3,31
    3808         vpaddd  xmm3,xmm3,xmm3
    3809 
    3810         vpsrld  xmm14,xmm14,2
    3811         vpaddd  xmm12,xmm12,xmm8
    3812         vpor    xmm3,xmm3,xmm5
    3813         vpor    xmm14,xmm14,xmm7
    3814         vpxor   xmm4,xmm4,xmm1
    3815         vmovdqa xmm1,XMMWORD[((240-128))+rax]
    3816 
    3817         vpslld  xmm8,xmm12,5
    3818         vpaddd  xmm11,xmm11,xmm15
    3819         vpxor   xmm6,xmm10,xmm13
    3820         vmovdqa XMMWORD[(192-128)+rax],xmm3
    3821         vpaddd  xmm11,xmm11,xmm3
    3822         vpxor   xmm4,xmm4,XMMWORD[((80-128))+rax]
    3823         vpsrld  xmm9,xmm12,27
    3824         vpxor   xmm6,xmm6,xmm14
    3825         vpxor   xmm4,xmm4,xmm1
    3826 
    3827         vpslld  xmm7,xmm13,30
    3828         vpor    xmm8,xmm8,xmm9
    3829         vpaddd  xmm11,xmm11,xmm6
    3830         vpsrld  xmm5,xmm4,31
    3831         vpaddd  xmm4,xmm4,xmm4
    3832 
    3833         vpsrld  xmm13,xmm13,2
    3834         vpaddd  xmm11,xmm11,xmm8
    3835         vpor    xmm4,xmm4,xmm5
    3836         vpor    xmm13,xmm13,xmm7
    3837         vpxor   xmm0,xmm0,xmm2
    3838         vmovdqa xmm2,XMMWORD[((0-128))+rax]
    3839 
    3840         vpslld  xmm8,xmm11,5
    3841         vpaddd  xmm10,xmm10,xmm15
    3842         vpxor   xmm6,xmm14,xmm12
    3843         vmovdqa XMMWORD[(208-128)+rax],xmm4
    3844         vpaddd  xmm10,xmm10,xmm4
    3845         vpxor   xmm0,xmm0,XMMWORD[((96-128))+rax]
    3846         vpsrld  xmm9,xmm11,27
    3847         vpxor   xmm6,xmm6,xmm13
    3848         vpxor   xmm0,xmm0,xmm2
    3849 
    3850         vpslld  xmm7,xmm12,30
    3851         vpor    xmm8,xmm8,xmm9
    3852         vpaddd  xmm10,xmm10,xmm6
    3853         vpsrld  xmm5,xmm0,31
    3854         vpaddd  xmm0,xmm0,xmm0
    3855 
    3856         vpsrld  xmm12,xmm12,2
    3857         vpaddd  xmm10,xmm10,xmm8
    3858         vpor    xmm0,xmm0,xmm5
    3859         vpor    xmm12,xmm12,xmm7
    3860         vpxor   xmm1,xmm1,xmm3
    3861         vmovdqa xmm3,XMMWORD[((16-128))+rax]
    3862 
    3863         vpslld  xmm8,xmm10,5
    3864         vpaddd  xmm14,xmm14,xmm15
    3865         vpxor   xmm6,xmm13,xmm11
    3866         vmovdqa XMMWORD[(224-128)+rax],xmm0
    3867         vpaddd  xmm14,xmm14,xmm0
    3868         vpxor   xmm1,xmm1,XMMWORD[((112-128))+rax]
    3869         vpsrld  xmm9,xmm10,27
    3870         vpxor   xmm6,xmm6,xmm12
    3871         vpxor   xmm1,xmm1,xmm3
    3872 
    3873         vpslld  xmm7,xmm11,30
    3874         vpor    xmm8,xmm8,xmm9
    3875         vpaddd  xmm14,xmm14,xmm6
    3876         vpsrld  xmm5,xmm1,31
    3877         vpaddd  xmm1,xmm1,xmm1
    3878 
    3879         vpsrld  xmm11,xmm11,2
    3880         vpaddd  xmm14,xmm14,xmm8
    3881         vpor    xmm1,xmm1,xmm5
    3882         vpor    xmm11,xmm11,xmm7
    3883         vpxor   xmm2,xmm2,xmm4
    3884         vmovdqa xmm4,XMMWORD[((32-128))+rax]
    3885 
    3886         vpslld  xmm8,xmm14,5
    3887         vpaddd  xmm13,xmm13,xmm15
    3888         vpxor   xmm6,xmm12,xmm10
    3889         vmovdqa XMMWORD[(240-128)+rax],xmm1
    3890         vpaddd  xmm13,xmm13,xmm1
    3891         vpxor   xmm2,xmm2,XMMWORD[((128-128))+rax]
    3892         vpsrld  xmm9,xmm14,27
    3893         vpxor   xmm6,xmm6,xmm11
    3894         vpxor   xmm2,xmm2,xmm4
    3895 
    3896         vpslld  xmm7,xmm10,30
    3897         vpor    xmm8,xmm8,xmm9
    3898         vpaddd  xmm13,xmm13,xmm6
    3899         vpsrld  xmm5,xmm2,31
    3900         vpaddd  xmm2,xmm2,xmm2
    3901 
    3902         vpsrld  xmm10,xmm10,2
    3903         vpaddd  xmm13,xmm13,xmm8
    3904         vpor    xmm2,xmm2,xmm5
    3905         vpor    xmm10,xmm10,xmm7
    3906         vpxor   xmm3,xmm3,xmm0
    3907         vmovdqa xmm0,XMMWORD[((48-128))+rax]
    3908 
    3909         vpslld  xmm8,xmm13,5
    3910         vpaddd  xmm12,xmm12,xmm15
    3911         vpxor   xmm6,xmm11,xmm14
    3912         vmovdqa XMMWORD[(0-128)+rax],xmm2
    3913         vpaddd  xmm12,xmm12,xmm2
    3914         vpxor   xmm3,xmm3,XMMWORD[((144-128))+rax]
    3915         vpsrld  xmm9,xmm13,27
    3916         vpxor   xmm6,xmm6,xmm10
    3917         vpxor   xmm3,xmm3,xmm0
    3918 
    3919         vpslld  xmm7,xmm14,30
    3920         vpor    xmm8,xmm8,xmm9
    3921         vpaddd  xmm12,xmm12,xmm6
    3922         vpsrld  xmm5,xmm3,31
    3923         vpaddd  xmm3,xmm3,xmm3
    3924 
    3925         vpsrld  xmm14,xmm14,2
    3926         vpaddd  xmm12,xmm12,xmm8
    3927         vpor    xmm3,xmm3,xmm5
    3928         vpor    xmm14,xmm14,xmm7
    3929         vpxor   xmm4,xmm4,xmm1
    3930         vmovdqa xmm1,XMMWORD[((64-128))+rax]
    3931 
    3932         vpslld  xmm8,xmm12,5
    3933         vpaddd  xmm11,xmm11,xmm15
    3934         vpxor   xmm6,xmm10,xmm13
    3935         vmovdqa XMMWORD[(16-128)+rax],xmm3
    3936         vpaddd  xmm11,xmm11,xmm3
    3937         vpxor   xmm4,xmm4,XMMWORD[((160-128))+rax]
    3938         vpsrld  xmm9,xmm12,27
    3939         vpxor   xmm6,xmm6,xmm14
    3940         vpxor   xmm4,xmm4,xmm1
    3941 
    3942         vpslld  xmm7,xmm13,30
    3943         vpor    xmm8,xmm8,xmm9
    3944         vpaddd  xmm11,xmm11,xmm6
    3945         vpsrld  xmm5,xmm4,31
    3946         vpaddd  xmm4,xmm4,xmm4
    3947 
    3948         vpsrld  xmm13,xmm13,2
    3949         vpaddd  xmm11,xmm11,xmm8
    3950         vpor    xmm4,xmm4,xmm5
    3951         vpor    xmm13,xmm13,xmm7
    3952         vpxor   xmm0,xmm0,xmm2
    3953         vmovdqa xmm2,XMMWORD[((80-128))+rax]
    3954 
    3955         vpslld  xmm8,xmm11,5
    3956         vpaddd  xmm10,xmm10,xmm15
    3957         vpxor   xmm6,xmm14,xmm12
    3958         vmovdqa XMMWORD[(32-128)+rax],xmm4
    3959         vpaddd  xmm10,xmm10,xmm4
    3960         vpxor   xmm0,xmm0,XMMWORD[((176-128))+rax]
    3961         vpsrld  xmm9,xmm11,27
    3962         vpxor   xmm6,xmm6,xmm13
    3963         vpxor   xmm0,xmm0,xmm2
    3964 
    3965         vpslld  xmm7,xmm12,30
    3966         vpor    xmm8,xmm8,xmm9
    3967         vpaddd  xmm10,xmm10,xmm6
    3968         vpsrld  xmm5,xmm0,31
    3969         vpaddd  xmm0,xmm0,xmm0
    3970 
    3971         vpsrld  xmm12,xmm12,2
    3972         vpaddd  xmm10,xmm10,xmm8
    3973         vpor    xmm0,xmm0,xmm5
    3974         vpor    xmm12,xmm12,xmm7
    3975         vpxor   xmm1,xmm1,xmm3
    3976         vmovdqa xmm3,XMMWORD[((96-128))+rax]
    3977 
    3978         vpslld  xmm8,xmm10,5
    3979         vpaddd  xmm14,xmm14,xmm15
    3980         vpxor   xmm6,xmm13,xmm11
    3981         vmovdqa XMMWORD[(48-128)+rax],xmm0
    3982         vpaddd  xmm14,xmm14,xmm0
    3983         vpxor   xmm1,xmm1,XMMWORD[((192-128))+rax]
    3984         vpsrld  xmm9,xmm10,27
    3985         vpxor   xmm6,xmm6,xmm12
    3986         vpxor   xmm1,xmm1,xmm3
    3987 
    3988         vpslld  xmm7,xmm11,30
    3989         vpor    xmm8,xmm8,xmm9
    3990         vpaddd  xmm14,xmm14,xmm6
    3991         vpsrld  xmm5,xmm1,31
    3992         vpaddd  xmm1,xmm1,xmm1
    3993 
    3994         vpsrld  xmm11,xmm11,2
    3995         vpaddd  xmm14,xmm14,xmm8
    3996         vpor    xmm1,xmm1,xmm5
    3997         vpor    xmm11,xmm11,xmm7
    3998         vpxor   xmm2,xmm2,xmm4
    3999         vmovdqa xmm4,XMMWORD[((112-128))+rax]
    4000 
    4001         vpslld  xmm8,xmm14,5
    4002         vpaddd  xmm13,xmm13,xmm15
    4003         vpxor   xmm6,xmm12,xmm10
    4004         vmovdqa XMMWORD[(64-128)+rax],xmm1
    4005         vpaddd  xmm13,xmm13,xmm1
    4006         vpxor   xmm2,xmm2,XMMWORD[((208-128))+rax]
    4007         vpsrld  xmm9,xmm14,27
    4008         vpxor   xmm6,xmm6,xmm11
    4009         vpxor   xmm2,xmm2,xmm4
    4010 
    4011         vpslld  xmm7,xmm10,30
    4012         vpor    xmm8,xmm8,xmm9
    4013         vpaddd  xmm13,xmm13,xmm6
    4014         vpsrld  xmm5,xmm2,31
    4015         vpaddd  xmm2,xmm2,xmm2
    4016 
    4017         vpsrld  xmm10,xmm10,2
    4018         vpaddd  xmm13,xmm13,xmm8
    4019         vpor    xmm2,xmm2,xmm5
    4020         vpor    xmm10,xmm10,xmm7
    4021         vpxor   xmm3,xmm3,xmm0
    4022         vmovdqa xmm0,XMMWORD[((128-128))+rax]
    4023 
    4024         vpslld  xmm8,xmm13,5
    4025         vpaddd  xmm12,xmm12,xmm15
    4026         vpxor   xmm6,xmm11,xmm14
    4027         vmovdqa XMMWORD[(80-128)+rax],xmm2
    4028         vpaddd  xmm12,xmm12,xmm2
    4029         vpxor   xmm3,xmm3,XMMWORD[((224-128))+rax]
    4030         vpsrld  xmm9,xmm13,27
    4031         vpxor   xmm6,xmm6,xmm10
    4032         vpxor   xmm3,xmm3,xmm0
    4033 
    4034         vpslld  xmm7,xmm14,30
    4035         vpor    xmm8,xmm8,xmm9
    4036         vpaddd  xmm12,xmm12,xmm6
    4037         vpsrld  xmm5,xmm3,31
    4038         vpaddd  xmm3,xmm3,xmm3
    4039 
    4040         vpsrld  xmm14,xmm14,2
    4041         vpaddd  xmm12,xmm12,xmm8
    4042         vpor    xmm3,xmm3,xmm5
    4043         vpor    xmm14,xmm14,xmm7
    4044         vpxor   xmm4,xmm4,xmm1
    4045         vmovdqa xmm1,XMMWORD[((144-128))+rax]
    4046 
    4047         vpslld  xmm8,xmm12,5
    4048         vpaddd  xmm11,xmm11,xmm15
    4049         vpxor   xmm6,xmm10,xmm13
    4050         vmovdqa XMMWORD[(96-128)+rax],xmm3
    4051         vpaddd  xmm11,xmm11,xmm3
    4052         vpxor   xmm4,xmm4,XMMWORD[((240-128))+rax]
    4053         vpsrld  xmm9,xmm12,27
    4054         vpxor   xmm6,xmm6,xmm14
    4055         vpxor   xmm4,xmm4,xmm1
    4056 
    4057         vpslld  xmm7,xmm13,30
    4058         vpor    xmm8,xmm8,xmm9
    4059         vpaddd  xmm11,xmm11,xmm6
    4060         vpsrld  xmm5,xmm4,31
    4061         vpaddd  xmm4,xmm4,xmm4
    4062 
    4063         vpsrld  xmm13,xmm13,2
    4064         vpaddd  xmm11,xmm11,xmm8
    4065         vpor    xmm4,xmm4,xmm5
    4066         vpor    xmm13,xmm13,xmm7
    4067         vpxor   xmm0,xmm0,xmm2
    4068         vmovdqa xmm2,XMMWORD[((160-128))+rax]
    4069 
    4070         vpslld  xmm8,xmm11,5
    4071         vpaddd  xmm10,xmm10,xmm15
    4072         vpxor   xmm6,xmm14,xmm12
    4073         vmovdqa XMMWORD[(112-128)+rax],xmm4
    4074         vpaddd  xmm10,xmm10,xmm4
    4075         vpxor   xmm0,xmm0,XMMWORD[((0-128))+rax]
    4076         vpsrld  xmm9,xmm11,27
    4077         vpxor   xmm6,xmm6,xmm13
    4078         vpxor   xmm0,xmm0,xmm2
    4079 
    4080         vpslld  xmm7,xmm12,30
    4081         vpor    xmm8,xmm8,xmm9
    4082         vpaddd  xmm10,xmm10,xmm6
    4083         vpsrld  xmm5,xmm0,31
    4084         vpaddd  xmm0,xmm0,xmm0
    4085 
    4086         vpsrld  xmm12,xmm12,2
    4087         vpaddd  xmm10,xmm10,xmm8
    4088         vpor    xmm0,xmm0,xmm5
    4089         vpor    xmm12,xmm12,xmm7
    4090         vmovdqa xmm15,XMMWORD[32+rbp]
    4091         vpxor   xmm1,xmm1,xmm3
    4092         vmovdqa xmm3,XMMWORD[((176-128))+rax]
    4093 
    4094         vpaddd  xmm14,xmm14,xmm15
    4095         vpslld  xmm8,xmm10,5
    4096         vpand   xmm7,xmm13,xmm12
    4097         vpxor   xmm1,xmm1,XMMWORD[((16-128))+rax]
    4098 
    4099         vpaddd  xmm14,xmm14,xmm7
    4100         vpsrld  xmm9,xmm10,27
    4101         vpxor   xmm6,xmm13,xmm12
    4102         vpxor   xmm1,xmm1,xmm3
    4103 
    4104         vmovdqu XMMWORD[(128-128)+rax],xmm0
    4105         vpaddd  xmm14,xmm14,xmm0
    4106         vpor    xmm8,xmm8,xmm9
    4107         vpsrld  xmm5,xmm1,31
    4108         vpand   xmm6,xmm6,xmm11
    4109         vpaddd  xmm1,xmm1,xmm1
    4110 
    4111         vpslld  xmm7,xmm11,30
    4112         vpaddd  xmm14,xmm14,xmm6
    4113 
    4114         vpsrld  xmm11,xmm11,2
    4115         vpaddd  xmm14,xmm14,xmm8
    4116         vpor    xmm1,xmm1,xmm5
    4117         vpor    xmm11,xmm11,xmm7
    4118         vpxor   xmm2,xmm2,xmm4
    4119         vmovdqa xmm4,XMMWORD[((192-128))+rax]
    4120 
    4121         vpaddd  xmm13,xmm13,xmm15
    4122         vpslld  xmm8,xmm14,5
    4123         vpand   xmm7,xmm12,xmm11
    4124         vpxor   xmm2,xmm2,XMMWORD[((32-128))+rax]
    4125 
    4126         vpaddd  xmm13,xmm13,xmm7
    4127         vpsrld  xmm9,xmm14,27
    4128         vpxor   xmm6,xmm12,xmm11
    4129         vpxor   xmm2,xmm2,xmm4
    4130 
    4131         vmovdqu XMMWORD[(144-128)+rax],xmm1
    4132         vpaddd  xmm13,xmm13,xmm1
    4133         vpor    xmm8,xmm8,xmm9
    4134         vpsrld  xmm5,xmm2,31
    4135         vpand   xmm6,xmm6,xmm10
    4136         vpaddd  xmm2,xmm2,xmm2
    4137 
    4138         vpslld  xmm7,xmm10,30
    4139         vpaddd  xmm13,xmm13,xmm6
    4140 
    4141         vpsrld  xmm10,xmm10,2
    4142         vpaddd  xmm13,xmm13,xmm8
    4143         vpor    xmm2,xmm2,xmm5
    4144         vpor    xmm10,xmm10,xmm7
    4145         vpxor   xmm3,xmm3,xmm0
    4146         vmovdqa xmm0,XMMWORD[((208-128))+rax]
    4147 
    4148         vpaddd  xmm12,xmm12,xmm15
    4149         vpslld  xmm8,xmm13,5
    4150         vpand   xmm7,xmm11,xmm10
    4151         vpxor   xmm3,xmm3,XMMWORD[((48-128))+rax]
    4152 
    4153         vpaddd  xmm12,xmm12,xmm7
    4154         vpsrld  xmm9,xmm13,27
    4155         vpxor   xmm6,xmm11,xmm10
    4156         vpxor   xmm3,xmm3,xmm0
    4157 
    4158         vmovdqu XMMWORD[(160-128)+rax],xmm2
    4159         vpaddd  xmm12,xmm12,xmm2
    4160         vpor    xmm8,xmm8,xmm9
    4161         vpsrld  xmm5,xmm3,31
    4162         vpand   xmm6,xmm6,xmm14
    4163         vpaddd  xmm3,xmm3,xmm3
    4164 
    4165         vpslld  xmm7,xmm14,30
    4166         vpaddd  xmm12,xmm12,xmm6
    4167 
    4168         vpsrld  xmm14,xmm14,2
    4169         vpaddd  xmm12,xmm12,xmm8
    4170         vpor    xmm3,xmm3,xmm5
    4171         vpor    xmm14,xmm14,xmm7
    4172         vpxor   xmm4,xmm4,xmm1
    4173         vmovdqa xmm1,XMMWORD[((224-128))+rax]
    4174 
    4175         vpaddd  xmm11,xmm11,xmm15
    4176         vpslld  xmm8,xmm12,5
    4177         vpand   xmm7,xmm10,xmm14
    4178         vpxor   xmm4,xmm4,XMMWORD[((64-128))+rax]
    4179 
    4180         vpaddd  xmm11,xmm11,xmm7
    4181         vpsrld  xmm9,xmm12,27
    4182         vpxor   xmm6,xmm10,xmm14
    4183         vpxor   xmm4,xmm4,xmm1
    4184 
    4185         vmovdqu XMMWORD[(176-128)+rax],xmm3
    4186         vpaddd  xmm11,xmm11,xmm3
    4187         vpor    xmm8,xmm8,xmm9
    4188         vpsrld  xmm5,xmm4,31
    4189         vpand   xmm6,xmm6,xmm13
    4190         vpaddd  xmm4,xmm4,xmm4
    4191 
    4192         vpslld  xmm7,xmm13,30
    4193         vpaddd  xmm11,xmm11,xmm6
    4194 
    4195         vpsrld  xmm13,xmm13,2
    4196         vpaddd  xmm11,xmm11,xmm8
    4197         vpor    xmm4,xmm4,xmm5
    4198         vpor    xmm13,xmm13,xmm7
    4199         vpxor   xmm0,xmm0,xmm2
    4200         vmovdqa xmm2,XMMWORD[((240-128))+rax]
    4201 
    4202         vpaddd  xmm10,xmm10,xmm15
    4203         vpslld  xmm8,xmm11,5
    4204         vpand   xmm7,xmm14,xmm13
    4205         vpxor   xmm0,xmm0,XMMWORD[((80-128))+rax]
    4206 
    4207         vpaddd  xmm10,xmm10,xmm7
    4208         vpsrld  xmm9,xmm11,27
    4209         vpxor   xmm6,xmm14,xmm13
    4210         vpxor   xmm0,xmm0,xmm2
    4211 
    4212         vmovdqu XMMWORD[(192-128)+rax],xmm4
    4213         vpaddd  xmm10,xmm10,xmm4
    4214         vpor    xmm8,xmm8,xmm9
    4215         vpsrld  xmm5,xmm0,31
    4216         vpand   xmm6,xmm6,xmm12
    4217         vpaddd  xmm0,xmm0,xmm0
    4218 
    4219         vpslld  xmm7,xmm12,30
    4220         vpaddd  xmm10,xmm10,xmm6
    4221 
    4222         vpsrld  xmm12,xmm12,2
    4223         vpaddd  xmm10,xmm10,xmm8
    4224         vpor    xmm0,xmm0,xmm5
    4225         vpor    xmm12,xmm12,xmm7
    4226         vpxor   xmm1,xmm1,xmm3
    4227         vmovdqa xmm3,XMMWORD[((0-128))+rax]
    4228 
    4229         vpaddd  xmm14,xmm14,xmm15
    4230         vpslld  xmm8,xmm10,5
    4231         vpand   xmm7,xmm13,xmm12
    4232         vpxor   xmm1,xmm1,XMMWORD[((96-128))+rax]
    4233 
    4234         vpaddd  xmm14,xmm14,xmm7
    4235         vpsrld  xmm9,xmm10,27
    4236         vpxor   xmm6,xmm13,xmm12
    4237         vpxor   xmm1,xmm1,xmm3
    4238 
    4239         vmovdqu XMMWORD[(208-128)+rax],xmm0
    4240         vpaddd  xmm14,xmm14,xmm0
    4241         vpor    xmm8,xmm8,xmm9
    4242         vpsrld  xmm5,xmm1,31
    4243         vpand   xmm6,xmm6,xmm11
    4244         vpaddd  xmm1,xmm1,xmm1
    4245 
    4246         vpslld  xmm7,xmm11,30
    4247         vpaddd  xmm14,xmm14,xmm6
    4248 
    4249         vpsrld  xmm11,xmm11,2
    4250         vpaddd  xmm14,xmm14,xmm8
    4251         vpor    xmm1,xmm1,xmm5
    4252         vpor    xmm11,xmm11,xmm7
    4253         vpxor   xmm2,xmm2,xmm4
    4254         vmovdqa xmm4,XMMWORD[((16-128))+rax]
    4255 
    4256         vpaddd  xmm13,xmm13,xmm15
    4257         vpslld  xmm8,xmm14,5
    4258         vpand   xmm7,xmm12,xmm11
    4259         vpxor   xmm2,xmm2,XMMWORD[((112-128))+rax]
    4260 
    4261         vpaddd  xmm13,xmm13,xmm7
    4262         vpsrld  xmm9,xmm14,27
    4263         vpxor   xmm6,xmm12,xmm11
    4264         vpxor   xmm2,xmm2,xmm4
    4265 
    4266         vmovdqu XMMWORD[(224-128)+rax],xmm1
    4267         vpaddd  xmm13,xmm13,xmm1
    4268         vpor    xmm8,xmm8,xmm9
    4269         vpsrld  xmm5,xmm2,31
    4270         vpand   xmm6,xmm6,xmm10
    4271         vpaddd  xmm2,xmm2,xmm2
    4272 
    4273         vpslld  xmm7,xmm10,30
    4274         vpaddd  xmm13,xmm13,xmm6
    4275 
    4276         vpsrld  xmm10,xmm10,2
    4277         vpaddd  xmm13,xmm13,xmm8
    4278         vpor    xmm2,xmm2,xmm5
    4279         vpor    xmm10,xmm10,xmm7
    4280         vpxor   xmm3,xmm3,xmm0
    4281         vmovdqa xmm0,XMMWORD[((32-128))+rax]
    4282 
    4283         vpaddd  xmm12,xmm12,xmm15
    4284         vpslld  xmm8,xmm13,5
    4285         vpand   xmm7,xmm11,xmm10
    4286         vpxor   xmm3,xmm3,XMMWORD[((128-128))+rax]
    4287 
    4288         vpaddd  xmm12,xmm12,xmm7
    4289         vpsrld  xmm9,xmm13,27
    4290         vpxor   xmm6,xmm11,xmm10
    4291         vpxor   xmm3,xmm3,xmm0
    4292 
    4293         vmovdqu XMMWORD[(240-128)+rax],xmm2
    4294         vpaddd  xmm12,xmm12,xmm2
    4295         vpor    xmm8,xmm8,xmm9
    4296         vpsrld  xmm5,xmm3,31
    4297         vpand   xmm6,xmm6,xmm14
    4298         vpaddd  xmm3,xmm3,xmm3
    4299 
    4300         vpslld  xmm7,xmm14,30
    4301         vpaddd  xmm12,xmm12,xmm6
    4302 
    4303         vpsrld  xmm14,xmm14,2
    4304         vpaddd  xmm12,xmm12,xmm8
    4305         vpor    xmm3,xmm3,xmm5
    4306         vpor    xmm14,xmm14,xmm7
    4307         vpxor   xmm4,xmm4,xmm1
    4308         vmovdqa xmm1,XMMWORD[((48-128))+rax]
    4309 
    4310         vpaddd  xmm11,xmm11,xmm15
    4311         vpslld  xmm8,xmm12,5
    4312         vpand   xmm7,xmm10,xmm14
    4313         vpxor   xmm4,xmm4,XMMWORD[((144-128))+rax]
    4314 
    4315         vpaddd  xmm11,xmm11,xmm7
    4316         vpsrld  xmm9,xmm12,27
    4317         vpxor   xmm6,xmm10,xmm14
    4318         vpxor   xmm4,xmm4,xmm1
    4319 
    4320         vmovdqu XMMWORD[(0-128)+rax],xmm3
    4321         vpaddd  xmm11,xmm11,xmm3
    4322         vpor    xmm8,xmm8,xmm9
    4323         vpsrld  xmm5,xmm4,31
    4324         vpand   xmm6,xmm6,xmm13
    4325         vpaddd  xmm4,xmm4,xmm4
    4326 
    4327         vpslld  xmm7,xmm13,30
    4328         vpaddd  xmm11,xmm11,xmm6
    4329 
    4330         vpsrld  xmm13,xmm13,2
    4331         vpaddd  xmm11,xmm11,xmm8
    4332         vpor    xmm4,xmm4,xmm5
    4333         vpor    xmm13,xmm13,xmm7
    4334         vpxor   xmm0,xmm0,xmm2
    4335         vmovdqa xmm2,XMMWORD[((64-128))+rax]
    4336 
    4337         vpaddd  xmm10,xmm10,xmm15
    4338         vpslld  xmm8,xmm11,5
    4339         vpand   xmm7,xmm14,xmm13
    4340         vpxor   xmm0,xmm0,XMMWORD[((160-128))+rax]
    4341 
    4342         vpaddd  xmm10,xmm10,xmm7
    4343         vpsrld  xmm9,xmm11,27
    4344         vpxor   xmm6,xmm14,xmm13
    4345         vpxor   xmm0,xmm0,xmm2
    4346 
    4347         vmovdqu XMMWORD[(16-128)+rax],xmm4
    4348         vpaddd  xmm10,xmm10,xmm4
    4349         vpor    xmm8,xmm8,xmm9
    4350         vpsrld  xmm5,xmm0,31
    4351         vpand   xmm6,xmm6,xmm12
    4352         vpaddd  xmm0,xmm0,xmm0
    4353 
    4354         vpslld  xmm7,xmm12,30
    4355         vpaddd  xmm10,xmm10,xmm6
    4356 
    4357         vpsrld  xmm12,xmm12,2
    4358         vpaddd  xmm10,xmm10,xmm8
    4359         vpor    xmm0,xmm0,xmm5
    4360         vpor    xmm12,xmm12,xmm7
    4361         vpxor   xmm1,xmm1,xmm3
    4362         vmovdqa xmm3,XMMWORD[((80-128))+rax]
    4363 
    4364         vpaddd  xmm14,xmm14,xmm15
    4365         vpslld  xmm8,xmm10,5
    4366         vpand   xmm7,xmm13,xmm12
    4367         vpxor   xmm1,xmm1,XMMWORD[((176-128))+rax]
    4368 
    4369         vpaddd  xmm14,xmm14,xmm7
    4370         vpsrld  xmm9,xmm10,27
    4371         vpxor   xmm6,xmm13,xmm12
    4372         vpxor   xmm1,xmm1,xmm3
    4373 
    4374         vmovdqu XMMWORD[(32-128)+rax],xmm0
    4375         vpaddd  xmm14,xmm14,xmm0
    4376         vpor    xmm8,xmm8,xmm9
    4377         vpsrld  xmm5,xmm1,31
    4378         vpand   xmm6,xmm6,xmm11
    4379         vpaddd  xmm1,xmm1,xmm1
    4380 
    4381         vpslld  xmm7,xmm11,30
    4382         vpaddd  xmm14,xmm14,xmm6
    4383 
    4384         vpsrld  xmm11,xmm11,2
    4385         vpaddd  xmm14,xmm14,xmm8
    4386         vpor    xmm1,xmm1,xmm5
    4387         vpor    xmm11,xmm11,xmm7
    4388         vpxor   xmm2,xmm2,xmm4
    4389         vmovdqa xmm4,XMMWORD[((96-128))+rax]
    4390 
    4391         vpaddd  xmm13,xmm13,xmm15
    4392         vpslld  xmm8,xmm14,5
    4393         vpand   xmm7,xmm12,xmm11
    4394         vpxor   xmm2,xmm2,XMMWORD[((192-128))+rax]
    4395 
    4396         vpaddd  xmm13,xmm13,xmm7
    4397         vpsrld  xmm9,xmm14,27
    4398         vpxor   xmm6,xmm12,xmm11
    4399         vpxor   xmm2,xmm2,xmm4
    4400 
    4401         vmovdqu XMMWORD[(48-128)+rax],xmm1
    4402         vpaddd  xmm13,xmm13,xmm1
    4403         vpor    xmm8,xmm8,xmm9
    4404         vpsrld  xmm5,xmm2,31
    4405         vpand   xmm6,xmm6,xmm10
    4406         vpaddd  xmm2,xmm2,xmm2
    4407 
    4408         vpslld  xmm7,xmm10,30
    4409         vpaddd  xmm13,xmm13,xmm6
    4410 
    4411         vpsrld  xmm10,xmm10,2
    4412         vpaddd  xmm13,xmm13,xmm8
    4413         vpor    xmm2,xmm2,xmm5
    4414         vpor    xmm10,xmm10,xmm7
    4415         vpxor   xmm3,xmm3,xmm0
    4416         vmovdqa xmm0,XMMWORD[((112-128))+rax]
    4417 
    4418         vpaddd  xmm12,xmm12,xmm15
    4419         vpslld  xmm8,xmm13,5
    4420         vpand   xmm7,xmm11,xmm10
    4421         vpxor   xmm3,xmm3,XMMWORD[((208-128))+rax]
    4422 
    4423         vpaddd  xmm12,xmm12,xmm7
    4424         vpsrld  xmm9,xmm13,27
    4425         vpxor   xmm6,xmm11,xmm10
    4426         vpxor   xmm3,xmm3,xmm0
    4427 
    4428         vmovdqu XMMWORD[(64-128)+rax],xmm2
    4429         vpaddd  xmm12,xmm12,xmm2
    4430         vpor    xmm8,xmm8,xmm9
    4431         vpsrld  xmm5,xmm3,31
    4432         vpand   xmm6,xmm6,xmm14
    4433         vpaddd  xmm3,xmm3,xmm3
    4434 
    4435         vpslld  xmm7,xmm14,30
    4436         vpaddd  xmm12,xmm12,xmm6
    4437 
    4438         vpsrld  xmm14,xmm14,2
    4439         vpaddd  xmm12,xmm12,xmm8
    4440         vpor    xmm3,xmm3,xmm5
    4441         vpor    xmm14,xmm14,xmm7
    4442         vpxor   xmm4,xmm4,xmm1
    4443         vmovdqa xmm1,XMMWORD[((128-128))+rax]
    4444 
    4445         vpaddd  xmm11,xmm11,xmm15
    4446         vpslld  xmm8,xmm12,5
    4447         vpand   xmm7,xmm10,xmm14
    4448         vpxor   xmm4,xmm4,XMMWORD[((224-128))+rax]
    4449 
    4450         vpaddd  xmm11,xmm11,xmm7
    4451         vpsrld  xmm9,xmm12,27
    4452         vpxor   xmm6,xmm10,xmm14
    4453         vpxor   xmm4,xmm4,xmm1
    4454 
    4455         vmovdqu XMMWORD[(80-128)+rax],xmm3
    4456         vpaddd  xmm11,xmm11,xmm3
    4457         vpor    xmm8,xmm8,xmm9
    4458         vpsrld  xmm5,xmm4,31
    4459         vpand   xmm6,xmm6,xmm13
    4460         vpaddd  xmm4,xmm4,xmm4
    4461 
    4462         vpslld  xmm7,xmm13,30
    4463         vpaddd  xmm11,xmm11,xmm6
    4464 
    4465         vpsrld  xmm13,xmm13,2
    4466         vpaddd  xmm11,xmm11,xmm8
    4467         vpor    xmm4,xmm4,xmm5
    4468         vpor    xmm13,xmm13,xmm7
    4469         vpxor   xmm0,xmm0,xmm2
    4470         vmovdqa xmm2,XMMWORD[((144-128))+rax]
    4471 
    4472         vpaddd  xmm10,xmm10,xmm15
    4473         vpslld  xmm8,xmm11,5
    4474         vpand   xmm7,xmm14,xmm13
    4475         vpxor   xmm0,xmm0,XMMWORD[((240-128))+rax]
    4476 
    4477         vpaddd  xmm10,xmm10,xmm7
    4478         vpsrld  xmm9,xmm11,27
    4479         vpxor   xmm6,xmm14,xmm13
    4480         vpxor   xmm0,xmm0,xmm2
    4481 
    4482         vmovdqu XMMWORD[(96-128)+rax],xmm4
    4483         vpaddd  xmm10,xmm10,xmm4
    4484         vpor    xmm8,xmm8,xmm9
    4485         vpsrld  xmm5,xmm0,31
    4486         vpand   xmm6,xmm6,xmm12
    4487         vpaddd  xmm0,xmm0,xmm0
    4488 
    4489         vpslld  xmm7,xmm12,30
    4490         vpaddd  xmm10,xmm10,xmm6
    4491 
    4492         vpsrld  xmm12,xmm12,2
    4493         vpaddd  xmm10,xmm10,xmm8
    4494         vpor    xmm0,xmm0,xmm5
    4495         vpor    xmm12,xmm12,xmm7
    4496         vpxor   xmm1,xmm1,xmm3
    4497         vmovdqa xmm3,XMMWORD[((160-128))+rax]
    4498 
    4499         vpaddd  xmm14,xmm14,xmm15
    4500         vpslld  xmm8,xmm10,5
    4501         vpand   xmm7,xmm13,xmm12
    4502         vpxor   xmm1,xmm1,XMMWORD[((0-128))+rax]
    4503 
    4504         vpaddd  xmm14,xmm14,xmm7
    4505         vpsrld  xmm9,xmm10,27
    4506         vpxor   xmm6,xmm13,xmm12
    4507         vpxor   xmm1,xmm1,xmm3
    4508 
    4509         vmovdqu XMMWORD[(112-128)+rax],xmm0
    4510         vpaddd  xmm14,xmm14,xmm0
    4511         vpor    xmm8,xmm8,xmm9
    4512         vpsrld  xmm5,xmm1,31
    4513         vpand   xmm6,xmm6,xmm11
    4514         vpaddd  xmm1,xmm1,xmm1
    4515 
    4516         vpslld  xmm7,xmm11,30
    4517         vpaddd  xmm14,xmm14,xmm6
    4518 
    4519         vpsrld  xmm11,xmm11,2
    4520         vpaddd  xmm14,xmm14,xmm8
    4521         vpor    xmm1,xmm1,xmm5
    4522         vpor    xmm11,xmm11,xmm7
    4523         vpxor   xmm2,xmm2,xmm4
    4524         vmovdqa xmm4,XMMWORD[((176-128))+rax]
    4525 
    4526         vpaddd  xmm13,xmm13,xmm15
    4527         vpslld  xmm8,xmm14,5
    4528         vpand   xmm7,xmm12,xmm11
    4529         vpxor   xmm2,xmm2,XMMWORD[((16-128))+rax]
    4530 
    4531         vpaddd  xmm13,xmm13,xmm7
    4532         vpsrld  xmm9,xmm14,27
    4533         vpxor   xmm6,xmm12,xmm11
    4534         vpxor   xmm2,xmm2,xmm4
    4535 
    4536         vmovdqu XMMWORD[(128-128)+rax],xmm1
    4537         vpaddd  xmm13,xmm13,xmm1
    4538         vpor    xmm8,xmm8,xmm9
    4539         vpsrld  xmm5,xmm2,31
    4540         vpand   xmm6,xmm6,xmm10
    4541         vpaddd  xmm2,xmm2,xmm2
    4542 
    4543         vpslld  xmm7,xmm10,30
    4544         vpaddd  xmm13,xmm13,xmm6
    4545 
    4546         vpsrld  xmm10,xmm10,2
    4547         vpaddd  xmm13,xmm13,xmm8
    4548         vpor    xmm2,xmm2,xmm5
    4549         vpor    xmm10,xmm10,xmm7
    4550         vpxor   xmm3,xmm3,xmm0
    4551         vmovdqa xmm0,XMMWORD[((192-128))+rax]
    4552 
    4553         vpaddd  xmm12,xmm12,xmm15
    4554         vpslld  xmm8,xmm13,5
    4555         vpand   xmm7,xmm11,xmm10
    4556         vpxor   xmm3,xmm3,XMMWORD[((32-128))+rax]
    4557 
    4558         vpaddd  xmm12,xmm12,xmm7
    4559         vpsrld  xmm9,xmm13,27
    4560         vpxor   xmm6,xmm11,xmm10
    4561         vpxor   xmm3,xmm3,xmm0
    4562 
    4563         vmovdqu XMMWORD[(144-128)+rax],xmm2
    4564         vpaddd  xmm12,xmm12,xmm2
    4565         vpor    xmm8,xmm8,xmm9
    4566         vpsrld  xmm5,xmm3,31
    4567         vpand   xmm6,xmm6,xmm14
    4568         vpaddd  xmm3,xmm3,xmm3
    4569 
    4570         vpslld  xmm7,xmm14,30
    4571         vpaddd  xmm12,xmm12,xmm6
    4572 
    4573         vpsrld  xmm14,xmm14,2
    4574         vpaddd  xmm12,xmm12,xmm8
    4575         vpor    xmm3,xmm3,xmm5
    4576         vpor    xmm14,xmm14,xmm7
    4577         vpxor   xmm4,xmm4,xmm1
    4578         vmovdqa xmm1,XMMWORD[((208-128))+rax]
    4579 
    4580         vpaddd  xmm11,xmm11,xmm15
    4581         vpslld  xmm8,xmm12,5
    4582         vpand   xmm7,xmm10,xmm14
    4583         vpxor   xmm4,xmm4,XMMWORD[((48-128))+rax]
    4584 
    4585         vpaddd  xmm11,xmm11,xmm7
    4586         vpsrld  xmm9,xmm12,27
    4587         vpxor   xmm6,xmm10,xmm14
    4588         vpxor   xmm4,xmm4,xmm1
    4589 
    4590         vmovdqu XMMWORD[(160-128)+rax],xmm3
    4591         vpaddd  xmm11,xmm11,xmm3
    4592         vpor    xmm8,xmm8,xmm9
    4593         vpsrld  xmm5,xmm4,31
    4594         vpand   xmm6,xmm6,xmm13
    4595         vpaddd  xmm4,xmm4,xmm4
    4596 
    4597         vpslld  xmm7,xmm13,30
    4598         vpaddd  xmm11,xmm11,xmm6
    4599 
    4600         vpsrld  xmm13,xmm13,2
    4601         vpaddd  xmm11,xmm11,xmm8
    4602         vpor    xmm4,xmm4,xmm5
    4603         vpor    xmm13,xmm13,xmm7
    4604         vpxor   xmm0,xmm0,xmm2
    4605         vmovdqa xmm2,XMMWORD[((224-128))+rax]
    4606 
    4607         vpaddd  xmm10,xmm10,xmm15
    4608         vpslld  xmm8,xmm11,5
    4609         vpand   xmm7,xmm14,xmm13
    4610         vpxor   xmm0,xmm0,XMMWORD[((64-128))+rax]
    4611 
    4612         vpaddd  xmm10,xmm10,xmm7
    4613         vpsrld  xmm9,xmm11,27
    4614         vpxor   xmm6,xmm14,xmm13
    4615         vpxor   xmm0,xmm0,xmm2
    4616 
    4617         vmovdqu XMMWORD[(176-128)+rax],xmm4
    4618         vpaddd  xmm10,xmm10,xmm4
    4619         vpor    xmm8,xmm8,xmm9
    4620         vpsrld  xmm5,xmm0,31
    4621         vpand   xmm6,xmm6,xmm12
    4622         vpaddd  xmm0,xmm0,xmm0
    4623 
    4624         vpslld  xmm7,xmm12,30
    4625         vpaddd  xmm10,xmm10,xmm6
    4626 
    4627         vpsrld  xmm12,xmm12,2
    4628         vpaddd  xmm10,xmm10,xmm8
    4629         vpor    xmm0,xmm0,xmm5
    4630         vpor    xmm12,xmm12,xmm7
    4631         vmovdqa xmm15,XMMWORD[64+rbp]
    4632         vpxor   xmm1,xmm1,xmm3
    4633         vmovdqa xmm3,XMMWORD[((240-128))+rax]
    4634 
    4635         vpslld  xmm8,xmm10,5
    4636         vpaddd  xmm14,xmm14,xmm15
    4637         vpxor   xmm6,xmm13,xmm11
    4638         vmovdqa XMMWORD[(192-128)+rax],xmm0
    4639         vpaddd  xmm14,xmm14,xmm0
    4640         vpxor   xmm1,xmm1,XMMWORD[((80-128))+rax]
    4641         vpsrld  xmm9,xmm10,27
    4642         vpxor   xmm6,xmm6,xmm12
    4643         vpxor   xmm1,xmm1,xmm3
    4644 
    4645         vpslld  xmm7,xmm11,30
    4646         vpor    xmm8,xmm8,xmm9
    4647         vpaddd  xmm14,xmm14,xmm6
    4648         vpsrld  xmm5,xmm1,31
    4649         vpaddd  xmm1,xmm1,xmm1
    4650 
    4651         vpsrld  xmm11,xmm11,2
    4652         vpaddd  xmm14,xmm14,xmm8
    4653         vpor    xmm1,xmm1,xmm5
    4654         vpor    xmm11,xmm11,xmm7
    4655         vpxor   xmm2,xmm2,xmm4
    4656         vmovdqa xmm4,XMMWORD[((0-128))+rax]
    4657 
    4658         vpslld  xmm8,xmm14,5
    4659         vpaddd  xmm13,xmm13,xmm15
    4660         vpxor   xmm6,xmm12,xmm10
    4661         vmovdqa XMMWORD[(208-128)+rax],xmm1
    4662         vpaddd  xmm13,xmm13,xmm1
    4663         vpxor   xmm2,xmm2,XMMWORD[((96-128))+rax]
    4664         vpsrld  xmm9,xmm14,27
    4665         vpxor   xmm6,xmm6,xmm11
    4666         vpxor   xmm2,xmm2,xmm4
    4667 
    4668         vpslld  xmm7,xmm10,30
    4669         vpor    xmm8,xmm8,xmm9
    4670         vpaddd  xmm13,xmm13,xmm6
    4671         vpsrld  xmm5,xmm2,31
    4672         vpaddd  xmm2,xmm2,xmm2
    4673 
    4674         vpsrld  xmm10,xmm10,2
    4675         vpaddd  xmm13,xmm13,xmm8
    4676         vpor    xmm2,xmm2,xmm5
    4677         vpor    xmm10,xmm10,xmm7
    4678         vpxor   xmm3,xmm3,xmm0
    4679         vmovdqa xmm0,XMMWORD[((16-128))+rax]
    4680 
    4681         vpslld  xmm8,xmm13,5
    4682         vpaddd  xmm12,xmm12,xmm15
    4683         vpxor   xmm6,xmm11,xmm14
    4684         vmovdqa XMMWORD[(224-128)+rax],xmm2
    4685         vpaddd  xmm12,xmm12,xmm2
    4686         vpxor   xmm3,xmm3,XMMWORD[((112-128))+rax]
    4687         vpsrld  xmm9,xmm13,27
    4688         vpxor   xmm6,xmm6,xmm10
    4689         vpxor   xmm3,xmm3,xmm0
    4690 
    4691         vpslld  xmm7,xmm14,30
    4692         vpor    xmm8,xmm8,xmm9
    4693         vpaddd  xmm12,xmm12,xmm6
    4694         vpsrld  xmm5,xmm3,31
    4695         vpaddd  xmm3,xmm3,xmm3
    4696 
    4697         vpsrld  xmm14,xmm14,2
    4698         vpaddd  xmm12,xmm12,xmm8
    4699         vpor    xmm3,xmm3,xmm5
    4700         vpor    xmm14,xmm14,xmm7
    4701         vpxor   xmm4,xmm4,xmm1
    4702         vmovdqa xmm1,XMMWORD[((32-128))+rax]
    4703 
    4704         vpslld  xmm8,xmm12,5
    4705         vpaddd  xmm11,xmm11,xmm15
    4706         vpxor   xmm6,xmm10,xmm13
    4707         vmovdqa XMMWORD[(240-128)+rax],xmm3
    4708         vpaddd  xmm11,xmm11,xmm3
    4709         vpxor   xmm4,xmm4,XMMWORD[((128-128))+rax]
    4710         vpsrld  xmm9,xmm12,27
    4711         vpxor   xmm6,xmm6,xmm14
    4712         vpxor   xmm4,xmm4,xmm1
    4713 
    4714         vpslld  xmm7,xmm13,30
    4715         vpor    xmm8,xmm8,xmm9
    4716         vpaddd  xmm11,xmm11,xmm6
    4717         vpsrld  xmm5,xmm4,31
    4718         vpaddd  xmm4,xmm4,xmm4
    4719 
    4720         vpsrld  xmm13,xmm13,2
    4721         vpaddd  xmm11,xmm11,xmm8
    4722         vpor    xmm4,xmm4,xmm5
    4723         vpor    xmm13,xmm13,xmm7
    4724         vpxor   xmm0,xmm0,xmm2
    4725         vmovdqa xmm2,XMMWORD[((48-128))+rax]
    4726 
    4727         vpslld  xmm8,xmm11,5
    4728         vpaddd  xmm10,xmm10,xmm15
    4729         vpxor   xmm6,xmm14,xmm12
    4730         vmovdqa XMMWORD[(0-128)+rax],xmm4
    4731         vpaddd  xmm10,xmm10,xmm4
    4732         vpxor   xmm0,xmm0,XMMWORD[((144-128))+rax]
    4733         vpsrld  xmm9,xmm11,27
    4734         vpxor   xmm6,xmm6,xmm13
    4735         vpxor   xmm0,xmm0,xmm2
    4736 
    4737         vpslld  xmm7,xmm12,30
    4738         vpor    xmm8,xmm8,xmm9
    4739         vpaddd  xmm10,xmm10,xmm6
    4740         vpsrld  xmm5,xmm0,31
    4741         vpaddd  xmm0,xmm0,xmm0
    4742 
    4743         vpsrld  xmm12,xmm12,2
    4744         vpaddd  xmm10,xmm10,xmm8
    4745         vpor    xmm0,xmm0,xmm5
    4746         vpor    xmm12,xmm12,xmm7
    4747         vpxor   xmm1,xmm1,xmm3
    4748         vmovdqa xmm3,XMMWORD[((64-128))+rax]
    4749 
    4750         vpslld  xmm8,xmm10,5
    4751         vpaddd  xmm14,xmm14,xmm15
    4752         vpxor   xmm6,xmm13,xmm11
    4753         vmovdqa XMMWORD[(16-128)+rax],xmm0
    4754         vpaddd  xmm14,xmm14,xmm0
    4755         vpxor   xmm1,xmm1,XMMWORD[((160-128))+rax]
    4756         vpsrld  xmm9,xmm10,27
    4757         vpxor   xmm6,xmm6,xmm12
    4758         vpxor   xmm1,xmm1,xmm3
    4759 
    4760         vpslld  xmm7,xmm11,30
    4761         vpor    xmm8,xmm8,xmm9
    4762         vpaddd  xmm14,xmm14,xmm6
    4763         vpsrld  xmm5,xmm1,31
    4764         vpaddd  xmm1,xmm1,xmm1
    4765 
    4766         vpsrld  xmm11,xmm11,2
    4767         vpaddd  xmm14,xmm14,xmm8
    4768         vpor    xmm1,xmm1,xmm5
    4769         vpor    xmm11,xmm11,xmm7
    4770         vpxor   xmm2,xmm2,xmm4
    4771         vmovdqa xmm4,XMMWORD[((80-128))+rax]
    4772 
    4773         vpslld  xmm8,xmm14,5
    4774         vpaddd  xmm13,xmm13,xmm15
    4775         vpxor   xmm6,xmm12,xmm10
    4776         vmovdqa XMMWORD[(32-128)+rax],xmm1
    4777         vpaddd  xmm13,xmm13,xmm1
    4778         vpxor   xmm2,xmm2,XMMWORD[((176-128))+rax]
    4779         vpsrld  xmm9,xmm14,27
    4780         vpxor   xmm6,xmm6,xmm11
    4781         vpxor   xmm2,xmm2,xmm4
    4782 
    4783         vpslld  xmm7,xmm10,30
    4784         vpor    xmm8,xmm8,xmm9
    4785         vpaddd  xmm13,xmm13,xmm6
    4786         vpsrld  xmm5,xmm2,31
    4787         vpaddd  xmm2,xmm2,xmm2
    4788 
    4789         vpsrld  xmm10,xmm10,2
    4790         vpaddd  xmm13,xmm13,xmm8
    4791         vpor    xmm2,xmm2,xmm5
    4792         vpor    xmm10,xmm10,xmm7
    4793         vpxor   xmm3,xmm3,xmm0
    4794         vmovdqa xmm0,XMMWORD[((96-128))+rax]
    4795 
    4796         vpslld  xmm8,xmm13,5
    4797         vpaddd  xmm12,xmm12,xmm15
    4798         vpxor   xmm6,xmm11,xmm14
    4799         vmovdqa XMMWORD[(48-128)+rax],xmm2
    4800         vpaddd  xmm12,xmm12,xmm2
    4801         vpxor   xmm3,xmm3,XMMWORD[((192-128))+rax]
    4802         vpsrld  xmm9,xmm13,27
    4803         vpxor   xmm6,xmm6,xmm10
    4804         vpxor   xmm3,xmm3,xmm0
    4805 
    4806         vpslld  xmm7,xmm14,30
    4807         vpor    xmm8,xmm8,xmm9
    4808         vpaddd  xmm12,xmm12,xmm6
    4809         vpsrld  xmm5,xmm3,31
    4810         vpaddd  xmm3,xmm3,xmm3
    4811 
    4812         vpsrld  xmm14,xmm14,2
    4813         vpaddd  xmm12,xmm12,xmm8
    4814         vpor    xmm3,xmm3,xmm5
    4815         vpor    xmm14,xmm14,xmm7
    4816         vpxor   xmm4,xmm4,xmm1
    4817         vmovdqa xmm1,XMMWORD[((112-128))+rax]
    4818 
    4819         vpslld  xmm8,xmm12,5
    4820         vpaddd  xmm11,xmm11,xmm15
    4821         vpxor   xmm6,xmm10,xmm13
    4822         vmovdqa XMMWORD[(64-128)+rax],xmm3
    4823         vpaddd  xmm11,xmm11,xmm3
    4824         vpxor   xmm4,xmm4,XMMWORD[((208-128))+rax]
    4825         vpsrld  xmm9,xmm12,27
    4826         vpxor   xmm6,xmm6,xmm14
    4827         vpxor   xmm4,xmm4,xmm1
    4828 
    4829         vpslld  xmm7,xmm13,30
    4830         vpor    xmm8,xmm8,xmm9
    4831         vpaddd  xmm11,xmm11,xmm6
    4832         vpsrld  xmm5,xmm4,31
    4833         vpaddd  xmm4,xmm4,xmm4
    4834 
    4835         vpsrld  xmm13,xmm13,2
    4836         vpaddd  xmm11,xmm11,xmm8
    4837         vpor    xmm4,xmm4,xmm5
    4838         vpor    xmm13,xmm13,xmm7
    4839         vpxor   xmm0,xmm0,xmm2
    4840         vmovdqa xmm2,XMMWORD[((128-128))+rax]
    4841 
    4842         vpslld  xmm8,xmm11,5
    4843         vpaddd  xmm10,xmm10,xmm15
    4844         vpxor   xmm6,xmm14,xmm12
    4845         vmovdqa XMMWORD[(80-128)+rax],xmm4
    4846         vpaddd  xmm10,xmm10,xmm4
    4847         vpxor   xmm0,xmm0,XMMWORD[((224-128))+rax]
    4848         vpsrld  xmm9,xmm11,27
    4849         vpxor   xmm6,xmm6,xmm13
    4850         vpxor   xmm0,xmm0,xmm2
    4851 
    4852         vpslld  xmm7,xmm12,30
    4853         vpor    xmm8,xmm8,xmm9
    4854         vpaddd  xmm10,xmm10,xmm6
    4855         vpsrld  xmm5,xmm0,31
    4856         vpaddd  xmm0,xmm0,xmm0
    4857 
    4858         vpsrld  xmm12,xmm12,2
    4859         vpaddd  xmm10,xmm10,xmm8
    4860         vpor    xmm0,xmm0,xmm5
    4861         vpor    xmm12,xmm12,xmm7
    4862         vpxor   xmm1,xmm1,xmm3
    4863         vmovdqa xmm3,XMMWORD[((144-128))+rax]
    4864 
    4865         vpslld  xmm8,xmm10,5
    4866         vpaddd  xmm14,xmm14,xmm15
    4867         vpxor   xmm6,xmm13,xmm11
    4868         vmovdqa XMMWORD[(96-128)+rax],xmm0
    4869         vpaddd  xmm14,xmm14,xmm0
    4870         vpxor   xmm1,xmm1,XMMWORD[((240-128))+rax]
    4871         vpsrld  xmm9,xmm10,27
    4872         vpxor   xmm6,xmm6,xmm12
    4873         vpxor   xmm1,xmm1,xmm3
    4874 
    4875         vpslld  xmm7,xmm11,30
    4876         vpor    xmm8,xmm8,xmm9
    4877         vpaddd  xmm14,xmm14,xmm6
    4878         vpsrld  xmm5,xmm1,31
    4879         vpaddd  xmm1,xmm1,xmm1
    4880 
    4881         vpsrld  xmm11,xmm11,2
    4882         vpaddd  xmm14,xmm14,xmm8
    4883         vpor    xmm1,xmm1,xmm5
    4884         vpor    xmm11,xmm11,xmm7
    4885         vpxor   xmm2,xmm2,xmm4
    4886         vmovdqa xmm4,XMMWORD[((160-128))+rax]
    4887 
    4888         vpslld  xmm8,xmm14,5
    4889         vpaddd  xmm13,xmm13,xmm15
    4890         vpxor   xmm6,xmm12,xmm10
    4891         vmovdqa XMMWORD[(112-128)+rax],xmm1
    4892         vpaddd  xmm13,xmm13,xmm1
    4893         vpxor   xmm2,xmm2,XMMWORD[((0-128))+rax]
    4894         vpsrld  xmm9,xmm14,27
    4895         vpxor   xmm6,xmm6,xmm11
    4896         vpxor   xmm2,xmm2,xmm4
    4897 
    4898         vpslld  xmm7,xmm10,30
    4899         vpor    xmm8,xmm8,xmm9
    4900         vpaddd  xmm13,xmm13,xmm6
    4901         vpsrld  xmm5,xmm2,31
    4902         vpaddd  xmm2,xmm2,xmm2
    4903 
    4904         vpsrld  xmm10,xmm10,2
    4905         vpaddd  xmm13,xmm13,xmm8
    4906         vpor    xmm2,xmm2,xmm5
    4907         vpor    xmm10,xmm10,xmm7
    4908         vpxor   xmm3,xmm3,xmm0
    4909         vmovdqa xmm0,XMMWORD[((176-128))+rax]
    4910 
    4911         vpslld  xmm8,xmm13,5
    4912         vpaddd  xmm12,xmm12,xmm15
    4913         vpxor   xmm6,xmm11,xmm14
    4914         vpaddd  xmm12,xmm12,xmm2
    4915         vpxor   xmm3,xmm3,XMMWORD[((16-128))+rax]
    4916         vpsrld  xmm9,xmm13,27
    4917         vpxor   xmm6,xmm6,xmm10
    4918         vpxor   xmm3,xmm3,xmm0
    4919 
    4920         vpslld  xmm7,xmm14,30
    4921         vpor    xmm8,xmm8,xmm9
    4922         vpaddd  xmm12,xmm12,xmm6
    4923         vpsrld  xmm5,xmm3,31
    4924         vpaddd  xmm3,xmm3,xmm3
    4925 
    4926         vpsrld  xmm14,xmm14,2
    4927         vpaddd  xmm12,xmm12,xmm8
    4928         vpor    xmm3,xmm3,xmm5
    4929         vpor    xmm14,xmm14,xmm7
    4930         vpxor   xmm4,xmm4,xmm1
    4931         vmovdqa xmm1,XMMWORD[((192-128))+rax]
    4932 
    4933         vpslld  xmm8,xmm12,5
    4934         vpaddd  xmm11,xmm11,xmm15
    4935         vpxor   xmm6,xmm10,xmm13
    4936         vpaddd  xmm11,xmm11,xmm3
    4937         vpxor   xmm4,xmm4,XMMWORD[((32-128))+rax]
    4938         vpsrld  xmm9,xmm12,27
    4939         vpxor   xmm6,xmm6,xmm14
    4940         vpxor   xmm4,xmm4,xmm1
    4941 
    4942         vpslld  xmm7,xmm13,30
    4943         vpor    xmm8,xmm8,xmm9
    4944         vpaddd  xmm11,xmm11,xmm6
    4945         vpsrld  xmm5,xmm4,31
    4946         vpaddd  xmm4,xmm4,xmm4
    4947 
    4948         vpsrld  xmm13,xmm13,2
    4949         vpaddd  xmm11,xmm11,xmm8
    4950         vpor    xmm4,xmm4,xmm5
    4951         vpor    xmm13,xmm13,xmm7
    4952         vpxor   xmm0,xmm0,xmm2
    4953         vmovdqa xmm2,XMMWORD[((208-128))+rax]
    4954 
    4955         vpslld  xmm8,xmm11,5
    4956         vpaddd  xmm10,xmm10,xmm15
    4957         vpxor   xmm6,xmm14,xmm12
    4958         vpaddd  xmm10,xmm10,xmm4
    4959         vpxor   xmm0,xmm0,XMMWORD[((48-128))+rax]
    4960         vpsrld  xmm9,xmm11,27
    4961         vpxor   xmm6,xmm6,xmm13
    4962         vpxor   xmm0,xmm0,xmm2
    4963 
    4964         vpslld  xmm7,xmm12,30
    4965         vpor    xmm8,xmm8,xmm9
    4966         vpaddd  xmm10,xmm10,xmm6
    4967         vpsrld  xmm5,xmm0,31
    4968         vpaddd  xmm0,xmm0,xmm0
    4969 
    4970         vpsrld  xmm12,xmm12,2
    4971         vpaddd  xmm10,xmm10,xmm8
    4972         vpor    xmm0,xmm0,xmm5
    4973         vpor    xmm12,xmm12,xmm7
    4974         vpxor   xmm1,xmm1,xmm3
    4975         vmovdqa xmm3,XMMWORD[((224-128))+rax]
    4976 
    4977         vpslld  xmm8,xmm10,5
    4978         vpaddd  xmm14,xmm14,xmm15
    4979         vpxor   xmm6,xmm13,xmm11
    4980         vpaddd  xmm14,xmm14,xmm0
    4981         vpxor   xmm1,xmm1,XMMWORD[((64-128))+rax]
    4982         vpsrld  xmm9,xmm10,27
    4983         vpxor   xmm6,xmm6,xmm12
    4984         vpxor   xmm1,xmm1,xmm3
    4985 
    4986         vpslld  xmm7,xmm11,30
    4987         vpor    xmm8,xmm8,xmm9
    4988         vpaddd  xmm14,xmm14,xmm6
    4989         vpsrld  xmm5,xmm1,31
    4990         vpaddd  xmm1,xmm1,xmm1
    4991 
    4992         vpsrld  xmm11,xmm11,2
    4993         vpaddd  xmm14,xmm14,xmm8
    4994         vpor    xmm1,xmm1,xmm5
    4995         vpor    xmm11,xmm11,xmm7
    4996         vpxor   xmm2,xmm2,xmm4
    4997         vmovdqa xmm4,XMMWORD[((240-128))+rax]
    4998 
    4999         vpslld  xmm8,xmm14,5
    5000         vpaddd  xmm13,xmm13,xmm15
    5001         vpxor   xmm6,xmm12,xmm10
    5002         vpaddd  xmm13,xmm13,xmm1
    5003         vpxor   xmm2,xmm2,XMMWORD[((80-128))+rax]
    5004         vpsrld  xmm9,xmm14,27
    5005         vpxor   xmm6,xmm6,xmm11
    5006         vpxor   xmm2,xmm2,xmm4
    5007 
    5008         vpslld  xmm7,xmm10,30
    5009         vpor    xmm8,xmm8,xmm9
    5010         vpaddd  xmm13,xmm13,xmm6
    5011         vpsrld  xmm5,xmm2,31
    5012         vpaddd  xmm2,xmm2,xmm2
    5013 
    5014         vpsrld  xmm10,xmm10,2
    5015         vpaddd  xmm13,xmm13,xmm8
    5016         vpor    xmm2,xmm2,xmm5
    5017         vpor    xmm10,xmm10,xmm7
    5018         vpxor   xmm3,xmm3,xmm0
    5019         vmovdqa xmm0,XMMWORD[((0-128))+rax]
    5020 
    5021         vpslld  xmm8,xmm13,5
    5022         vpaddd  xmm12,xmm12,xmm15
    5023         vpxor   xmm6,xmm11,xmm14
    5024         vpaddd  xmm12,xmm12,xmm2
    5025         vpxor   xmm3,xmm3,XMMWORD[((96-128))+rax]
    5026         vpsrld  xmm9,xmm13,27
    5027         vpxor   xmm6,xmm6,xmm10
    5028         vpxor   xmm3,xmm3,xmm0
    5029 
    5030         vpslld  xmm7,xmm14,30
    5031         vpor    xmm8,xmm8,xmm9
    5032         vpaddd  xmm12,xmm12,xmm6
    5033         vpsrld  xmm5,xmm3,31
    5034         vpaddd  xmm3,xmm3,xmm3
    5035 
    5036         vpsrld  xmm14,xmm14,2
    5037         vpaddd  xmm12,xmm12,xmm8
    5038         vpor    xmm3,xmm3,xmm5
    5039         vpor    xmm14,xmm14,xmm7
    5040         vpxor   xmm4,xmm4,xmm1
    5041         vmovdqa xmm1,XMMWORD[((16-128))+rax]
    5042 
    5043         vpslld  xmm8,xmm12,5
    5044         vpaddd  xmm11,xmm11,xmm15
    5045         vpxor   xmm6,xmm10,xmm13
    5046         vpaddd  xmm11,xmm11,xmm3
    5047         vpxor   xmm4,xmm4,XMMWORD[((112-128))+rax]
    5048         vpsrld  xmm9,xmm12,27
    5049         vpxor   xmm6,xmm6,xmm14
    5050         vpxor   xmm4,xmm4,xmm1
    5051 
    5052         vpslld  xmm7,xmm13,30
    5053         vpor    xmm8,xmm8,xmm9
    5054         vpaddd  xmm11,xmm11,xmm6
    5055         vpsrld  xmm5,xmm4,31
    5056         vpaddd  xmm4,xmm4,xmm4
    5057 
    5058         vpsrld  xmm13,xmm13,2
    5059         vpaddd  xmm11,xmm11,xmm8
    5060         vpor    xmm4,xmm4,xmm5
    5061         vpor    xmm13,xmm13,xmm7
    5062         vpslld  xmm8,xmm11,5
    5063         vpaddd  xmm10,xmm10,xmm15
    5064         vpxor   xmm6,xmm14,xmm12
    5065 
    5066         vpsrld  xmm9,xmm11,27
    5067         vpaddd  xmm10,xmm10,xmm4
    5068         vpxor   xmm6,xmm6,xmm13
    5069 
    5070         vpslld  xmm7,xmm12,30
    5071         vpor    xmm8,xmm8,xmm9
    5072         vpaddd  xmm10,xmm10,xmm6
    5073 
    5074         vpsrld  xmm12,xmm12,2
    5075         vpaddd  xmm10,xmm10,xmm8
    5076         vpor    xmm12,xmm12,xmm7
    5077         mov     ecx,1
    5078         cmp     ecx,DWORD[rbx]
    5079         cmovge  r8,rbp
    5080         cmp     ecx,DWORD[4+rbx]
    5081         cmovge  r9,rbp
    5082         cmp     ecx,DWORD[8+rbx]
    5083         cmovge  r10,rbp
    5084         cmp     ecx,DWORD[12+rbx]
    5085         cmovge  r11,rbp
    5086         vmovdqu xmm6,XMMWORD[rbx]
    5087         vpxor   xmm8,xmm8,xmm8
    5088         vmovdqa xmm7,xmm6
    5089         vpcmpgtd        xmm7,xmm7,xmm8
    5090         vpaddd  xmm6,xmm6,xmm7
    5091 
    5092         vpand   xmm10,xmm10,xmm7
    5093         vpand   xmm11,xmm11,xmm7
    5094         vpaddd  xmm10,xmm10,XMMWORD[rdi]
    5095         vpand   xmm12,xmm12,xmm7
    5096         vpaddd  xmm11,xmm11,XMMWORD[32+rdi]
    5097         vpand   xmm13,xmm13,xmm7
    5098         vpaddd  xmm12,xmm12,XMMWORD[64+rdi]
    5099         vpand   xmm14,xmm14,xmm7
    5100         vpaddd  xmm13,xmm13,XMMWORD[96+rdi]
    5101         vpaddd  xmm14,xmm14,XMMWORD[128+rdi]
    5102         vmovdqu XMMWORD[rdi],xmm10
    5103         vmovdqu XMMWORD[32+rdi],xmm11
    5104         vmovdqu XMMWORD[64+rdi],xmm12
    5105         vmovdqu XMMWORD[96+rdi],xmm13
    5106         vmovdqu XMMWORD[128+rdi],xmm14
    5107 
    5108         vmovdqu XMMWORD[rbx],xmm6
    5109         vmovdqu xmm5,XMMWORD[96+rbp]
    5110         dec     edx
    5111         jnz     NEAR $L$oop_avx
    5112 
    5113         mov     edx,DWORD[280+rsp]
    5114         lea     rdi,[16+rdi]
    5115         lea     rsi,[64+rsi]
    5116         dec     edx
    5117         jnz     NEAR $L$oop_grande_avx
    5118 
    5119 $L$done_avx:
    5120         mov     rax,QWORD[272+rsp]
    5121 
    5122         vzeroupper
    5123         movaps  xmm6,XMMWORD[((-184))+rax]
    5124         movaps  xmm7,XMMWORD[((-168))+rax]
    5125         movaps  xmm8,XMMWORD[((-152))+rax]
    5126         movaps  xmm9,XMMWORD[((-136))+rax]
    5127         movaps  xmm10,XMMWORD[((-120))+rax]
    5128         movaps  xmm11,XMMWORD[((-104))+rax]
    5129         movaps  xmm12,XMMWORD[((-88))+rax]
    5130         movaps  xmm13,XMMWORD[((-72))+rax]
    5131         movaps  xmm14,XMMWORD[((-56))+rax]
    5132         movaps  xmm15,XMMWORD[((-40))+rax]
    5133         mov     rbp,QWORD[((-16))+rax]
    5134 
    5135         mov     rbx,QWORD[((-8))+rax]
    5136 
    5137         lea     rsp,[rax]
    5138 
    5139 $L$epilogue_avx:
    5140         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    5141         mov     rsi,QWORD[16+rsp]
    5142         DB      0F3h,0C3h               ;repret
    5143 
    5144 $L$SEH_end_sha1_multi_block_avx:
    5145 
    5146 ALIGN   32
    5147 sha1_multi_block_avx2:
    5148         mov     QWORD[8+rsp],rdi        ;WIN64 prologue
    5149         mov     QWORD[16+rsp],rsi
    5150         mov     rax,rsp
    5151 $L$SEH_begin_sha1_multi_block_avx2:
    5152         mov     rdi,rcx
    5153         mov     rsi,rdx
    5154         mov     rdx,r8
    5155 
    5156 
    5157 
    5158 _avx2_shortcut:
    5159         mov     rax,rsp
    5160 
    5161         push    rbx
    5162 
    5163         push    rbp
    5164 
    5165         push    r12
    5166 
    5167         push    r13
    5168 
    5169         push    r14
    5170 
    5171         push    r15
    5172 
    5173         lea     rsp,[((-168))+rsp]
    5174         movaps  XMMWORD[rsp],xmm6
    5175         movaps  XMMWORD[16+rsp],xmm7
    5176         movaps  XMMWORD[32+rsp],xmm8
    5177         movaps  XMMWORD[48+rsp],xmm9
    5178         movaps  XMMWORD[64+rsp],xmm10
    5179         movaps  XMMWORD[80+rsp],xmm11
    5180         movaps  XMMWORD[(-120)+rax],xmm12
    5181         movaps  XMMWORD[(-104)+rax],xmm13
    5182         movaps  XMMWORD[(-88)+rax],xmm14
    5183         movaps  XMMWORD[(-72)+rax],xmm15
    5184         sub     rsp,576
    5185         and     rsp,-256
    5186         mov     QWORD[544+rsp],rax
    5187 
    5188 $L$body_avx2:
    5189         lea     rbp,[K_XX_XX]
    5190         shr     edx,1
    5191 
    5192         vzeroupper
    5193 $L$oop_grande_avx2:
    5194         mov     DWORD[552+rsp],edx
    5195         xor     edx,edx
    5196         lea     rbx,[512+rsp]
    5197 
    5198         mov     r12,QWORD[rsi]
    5199 
    5200         mov     ecx,DWORD[8+rsi]
    5201         cmp     ecx,edx
    5202         cmovg   edx,ecx
    5203         test    ecx,ecx
    5204         mov     DWORD[rbx],ecx
    5205         cmovle  r12,rbp
    5206 
    5207         mov     r13,QWORD[16+rsi]
    5208 
    5209         mov     ecx,DWORD[24+rsi]
    5210         cmp     ecx,edx
    5211         cmovg   edx,ecx
    5212         test    ecx,ecx
    5213         mov     DWORD[4+rbx],ecx
    5214         cmovle  r13,rbp
    5215 
    5216         mov     r14,QWORD[32+rsi]
    5217 
    5218         mov     ecx,DWORD[40+rsi]
    5219         cmp     ecx,edx
    5220         cmovg   edx,ecx
    5221         test    ecx,ecx
    5222         mov     DWORD[8+rbx],ecx
    5223         cmovle  r14,rbp
    5224 
    5225         mov     r15,QWORD[48+rsi]
    5226 
    5227         mov     ecx,DWORD[56+rsi]
    5228         cmp     ecx,edx
    5229         cmovg   edx,ecx
    5230         test    ecx,ecx
    5231         mov     DWORD[12+rbx],ecx
    5232         cmovle  r15,rbp
    5233 
    5234         mov     r8,QWORD[64+rsi]
    5235 
    5236         mov     ecx,DWORD[72+rsi]
    5237         cmp     ecx,edx
    5238         cmovg   edx,ecx
    5239         test    ecx,ecx
    5240         mov     DWORD[16+rbx],ecx
    5241         cmovle  r8,rbp
    5242 
    5243         mov     r9,QWORD[80+rsi]
    5244 
    5245         mov     ecx,DWORD[88+rsi]
    5246         cmp     ecx,edx
    5247         cmovg   edx,ecx
    5248         test    ecx,ecx
    5249         mov     DWORD[20+rbx],ecx
    5250         cmovle  r9,rbp
    5251 
    5252         mov     r10,QWORD[96+rsi]
    5253 
    5254         mov     ecx,DWORD[104+rsi]
    5255         cmp     ecx,edx
    5256         cmovg   edx,ecx
    5257         test    ecx,ecx
    5258         mov     DWORD[24+rbx],ecx
    5259         cmovle  r10,rbp
    5260 
    5261         mov     r11,QWORD[112+rsi]
    5262 
    5263         mov     ecx,DWORD[120+rsi]
    5264         cmp     ecx,edx
    5265         cmovg   edx,ecx
    5266         test    ecx,ecx
    5267         mov     DWORD[28+rbx],ecx
    5268         cmovle  r11,rbp
    5269         vmovdqu ymm0,YMMWORD[rdi]
    5270         lea     rax,[128+rsp]
    5271         vmovdqu ymm1,YMMWORD[32+rdi]
    5272         lea     rbx,[((256+128))+rsp]
    5273         vmovdqu ymm2,YMMWORD[64+rdi]
    5274         vmovdqu ymm3,YMMWORD[96+rdi]
    5275         vmovdqu ymm4,YMMWORD[128+rdi]
    5276         vmovdqu ymm9,YMMWORD[96+rbp]
    5277         jmp     NEAR $L$oop_avx2
    5278 
    5279 ALIGN   32
    5280 $L$oop_avx2:
    5281         vmovdqa ymm15,YMMWORD[((-32))+rbp]
    5282         vmovd   xmm10,DWORD[r12]
    5283         lea     r12,[64+r12]
    5284         vmovd   xmm12,DWORD[r8]
    5285         lea     r8,[64+r8]
    5286         vmovd   xmm7,DWORD[r13]
    5287         lea     r13,[64+r13]
    5288         vmovd   xmm6,DWORD[r9]
    5289         lea     r9,[64+r9]
    5290         vpinsrd xmm10,xmm10,DWORD[r14],1
    5291         lea     r14,[64+r14]
    5292         vpinsrd xmm12,xmm12,DWORD[r10],1
    5293         lea     r10,[64+r10]
    5294         vpinsrd xmm7,xmm7,DWORD[r15],1
    5295         lea     r15,[64+r15]
    5296         vpunpckldq      ymm10,ymm10,ymm7
    5297         vpinsrd xmm6,xmm6,DWORD[r11],1
    5298         lea     r11,[64+r11]
    5299         vpunpckldq      ymm12,ymm12,ymm6
    5300         vmovd   xmm11,DWORD[((-60))+r12]
    5301         vinserti128     ymm10,ymm10,xmm12,1
    5302         vmovd   xmm8,DWORD[((-60))+r8]
    5303         vpshufb ymm10,ymm10,ymm9
    5304         vmovd   xmm7,DWORD[((-60))+r13]
    5305         vmovd   xmm6,DWORD[((-60))+r9]
    5306         vpinsrd xmm11,xmm11,DWORD[((-60))+r14],1
    5307         vpinsrd xmm8,xmm8,DWORD[((-60))+r10],1
    5308         vpinsrd xmm7,xmm7,DWORD[((-60))+r15],1
    5309         vpunpckldq      ymm11,ymm11,ymm7
    5310         vpinsrd xmm6,xmm6,DWORD[((-60))+r11],1
    5311         vpunpckldq      ymm8,ymm8,ymm6
    5312         vpaddd  ymm4,ymm4,ymm15
    5313         vpslld  ymm7,ymm0,5
    5314         vpandn  ymm6,ymm1,ymm3
    5315         vpand   ymm5,ymm1,ymm2
    5316 
    5317         vmovdqa YMMWORD[(0-128)+rax],ymm10
    5318         vpaddd  ymm4,ymm4,ymm10
    5319         vinserti128     ymm11,ymm11,xmm8,1
    5320         vpsrld  ymm8,ymm0,27
    5321         vpxor   ymm5,ymm5,ymm6
    5322         vmovd   xmm12,DWORD[((-56))+r12]
    5323 
    5324         vpslld  ymm6,ymm1,30
    5325         vpor    ymm7,ymm7,ymm8
    5326         vmovd   xmm8,DWORD[((-56))+r8]
    5327         vpaddd  ymm4,ymm4,ymm5
    5328 
    5329         vpsrld  ymm1,ymm1,2
    5330         vpaddd  ymm4,ymm4,ymm7
    5331         vpshufb ymm11,ymm11,ymm9
    5332         vpor    ymm1,ymm1,ymm6
    5333         vmovd   xmm7,DWORD[((-56))+r13]
    5334         vmovd   xmm6,DWORD[((-56))+r9]
    5335         vpinsrd xmm12,xmm12,DWORD[((-56))+r14],1
    5336         vpinsrd xmm8,xmm8,DWORD[((-56))+r10],1
    5337         vpinsrd xmm7,xmm7,DWORD[((-56))+r15],1
    5338         vpunpckldq      ymm12,ymm12,ymm7
    5339         vpinsrd xmm6,xmm6,DWORD[((-56))+r11],1
    5340         vpunpckldq      ymm8,ymm8,ymm6
    5341         vpaddd  ymm3,ymm3,ymm15
    5342         vpslld  ymm7,ymm4,5
    5343         vpandn  ymm6,ymm0,ymm2
    5344         vpand   ymm5,ymm0,ymm1
    5345 
    5346         vmovdqa YMMWORD[(32-128)+rax],ymm11
    5347         vpaddd  ymm3,ymm3,ymm11
    5348         vinserti128     ymm12,ymm12,xmm8,1
    5349         vpsrld  ymm8,ymm4,27
    5350         vpxor   ymm5,ymm5,ymm6
    5351         vmovd   xmm13,DWORD[((-52))+r12]
    5352 
    5353         vpslld  ymm6,ymm0,30
    5354         vpor    ymm7,ymm7,ymm8
    5355         vmovd   xmm8,DWORD[((-52))+r8]
    5356         vpaddd  ymm3,ymm3,ymm5
    5357 
    5358         vpsrld  ymm0,ymm0,2
    5359         vpaddd  ymm3,ymm3,ymm7
    5360         vpshufb ymm12,ymm12,ymm9
    5361         vpor    ymm0,ymm0,ymm6
    5362         vmovd   xmm7,DWORD[((-52))+r13]
    5363         vmovd   xmm6,DWORD[((-52))+r9]
    5364         vpinsrd xmm13,xmm13,DWORD[((-52))+r14],1
    5365         vpinsrd xmm8,xmm8,DWORD[((-52))+r10],1
    5366         vpinsrd xmm7,xmm7,DWORD[((-52))+r15],1
    5367         vpunpckldq      ymm13,ymm13,ymm7
    5368         vpinsrd xmm6,xmm6,DWORD[((-52))+r11],1
    5369         vpunpckldq      ymm8,ymm8,ymm6
    5370         vpaddd  ymm2,ymm2,ymm15
    5371         vpslld  ymm7,ymm3,5
    5372         vpandn  ymm6,ymm4,ymm1
    5373         vpand   ymm5,ymm4,ymm0
    5374 
    5375         vmovdqa YMMWORD[(64-128)+rax],ymm12
    5376         vpaddd  ymm2,ymm2,ymm12
    5377         vinserti128     ymm13,ymm13,xmm8,1
    5378         vpsrld  ymm8,ymm3,27
    5379         vpxor   ymm5,ymm5,ymm6
    5380         vmovd   xmm14,DWORD[((-48))+r12]
    5381 
    5382         vpslld  ymm6,ymm4,30
    5383         vpor    ymm7,ymm7,ymm8
    5384         vmovd   xmm8,DWORD[((-48))+r8]
    5385         vpaddd  ymm2,ymm2,ymm5
    5386 
    5387         vpsrld  ymm4,ymm4,2
    5388         vpaddd  ymm2,ymm2,ymm7
    5389         vpshufb ymm13,ymm13,ymm9
    5390         vpor    ymm4,ymm4,ymm6
    5391         vmovd   xmm7,DWORD[((-48))+r13]
    5392         vmovd   xmm6,DWORD[((-48))+r9]
    5393         vpinsrd xmm14,xmm14,DWORD[((-48))+r14],1
    5394         vpinsrd xmm8,xmm8,DWORD[((-48))+r10],1
    5395         vpinsrd xmm7,xmm7,DWORD[((-48))+r15],1
    5396         vpunpckldq      ymm14,ymm14,ymm7
    5397         vpinsrd xmm6,xmm6,DWORD[((-48))+r11],1
    5398         vpunpckldq      ymm8,ymm8,ymm6
    5399         vpaddd  ymm1,ymm1,ymm15
    5400         vpslld  ymm7,ymm2,5
    5401         vpandn  ymm6,ymm3,ymm0
    5402         vpand   ymm5,ymm3,ymm4
    5403 
    5404         vmovdqa YMMWORD[(96-128)+rax],ymm13
    5405         vpaddd  ymm1,ymm1,ymm13
    5406         vinserti128     ymm14,ymm14,xmm8,1
    5407         vpsrld  ymm8,ymm2,27
    5408         vpxor   ymm5,ymm5,ymm6
    5409         vmovd   xmm10,DWORD[((-44))+r12]
    5410 
    5411         vpslld  ymm6,ymm3,30
    5412         vpor    ymm7,ymm7,ymm8
    5413         vmovd   xmm8,DWORD[((-44))+r8]
    5414         vpaddd  ymm1,ymm1,ymm5
    5415 
    5416         vpsrld  ymm3,ymm3,2
    5417         vpaddd  ymm1,ymm1,ymm7
    5418         vpshufb ymm14,ymm14,ymm9
    5419         vpor    ymm3,ymm3,ymm6
    5420         vmovd   xmm7,DWORD[((-44))+r13]
    5421         vmovd   xmm6,DWORD[((-44))+r9]
    5422         vpinsrd xmm10,xmm10,DWORD[((-44))+r14],1
    5423         vpinsrd xmm8,xmm8,DWORD[((-44))+r10],1
    5424         vpinsrd xmm7,xmm7,DWORD[((-44))+r15],1
    5425         vpunpckldq      ymm10,ymm10,ymm7
    5426         vpinsrd xmm6,xmm6,DWORD[((-44))+r11],1
    5427         vpunpckldq      ymm8,ymm8,ymm6
    5428         vpaddd  ymm0,ymm0,ymm15
    5429         vpslld  ymm7,ymm1,5
    5430         vpandn  ymm6,ymm2,ymm4
    5431         vpand   ymm5,ymm2,ymm3
    5432 
    5433         vmovdqa YMMWORD[(128-128)+rax],ymm14
    5434         vpaddd  ymm0,ymm0,ymm14
    5435         vinserti128     ymm10,ymm10,xmm8,1
    5436         vpsrld  ymm8,ymm1,27
    5437         vpxor   ymm5,ymm5,ymm6
    5438         vmovd   xmm11,DWORD[((-40))+r12]
    5439 
    5440         vpslld  ymm6,ymm2,30
    5441         vpor    ymm7,ymm7,ymm8
    5442         vmovd   xmm8,DWORD[((-40))+r8]
    5443         vpaddd  ymm0,ymm0,ymm5
    5444 
    5445         vpsrld  ymm2,ymm2,2
    5446         vpaddd  ymm0,ymm0,ymm7
    5447         vpshufb ymm10,ymm10,ymm9
    5448         vpor    ymm2,ymm2,ymm6
    5449         vmovd   xmm7,DWORD[((-40))+r13]
    5450         vmovd   xmm6,DWORD[((-40))+r9]
    5451         vpinsrd xmm11,xmm11,DWORD[((-40))+r14],1
    5452         vpinsrd xmm8,xmm8,DWORD[((-40))+r10],1
    5453         vpinsrd xmm7,xmm7,DWORD[((-40))+r15],1
    5454         vpunpckldq      ymm11,ymm11,ymm7
    5455         vpinsrd xmm6,xmm6,DWORD[((-40))+r11],1
    5456         vpunpckldq      ymm8,ymm8,ymm6
    5457         vpaddd  ymm4,ymm4,ymm15
    5458         vpslld  ymm7,ymm0,5
    5459         vpandn  ymm6,ymm1,ymm3
    5460         vpand   ymm5,ymm1,ymm2
    5461 
    5462         vmovdqa YMMWORD[(160-128)+rax],ymm10
    5463         vpaddd  ymm4,ymm4,ymm10
    5464         vinserti128     ymm11,ymm11,xmm8,1
    5465         vpsrld  ymm8,ymm0,27
    5466         vpxor   ymm5,ymm5,ymm6
    5467         vmovd   xmm12,DWORD[((-36))+r12]
    5468 
    5469         vpslld  ymm6,ymm1,30
    5470         vpor    ymm7,ymm7,ymm8
    5471         vmovd   xmm8,DWORD[((-36))+r8]
    5472         vpaddd  ymm4,ymm4,ymm5
    5473 
    5474         vpsrld  ymm1,ymm1,2
    5475         vpaddd  ymm4,ymm4,ymm7
    5476         vpshufb ymm11,ymm11,ymm9
    5477         vpor    ymm1,ymm1,ymm6
    5478         vmovd   xmm7,DWORD[((-36))+r13]
    5479         vmovd   xmm6,DWORD[((-36))+r9]
    5480         vpinsrd xmm12,xmm12,DWORD[((-36))+r14],1
    5481         vpinsrd xmm8,xmm8,DWORD[((-36))+r10],1
    5482         vpinsrd xmm7,xmm7,DWORD[((-36))+r15],1
    5483         vpunpckldq      ymm12,ymm12,ymm7
    5484         vpinsrd xmm6,xmm6,DWORD[((-36))+r11],1
    5485         vpunpckldq      ymm8,ymm8,ymm6
    5486         vpaddd  ymm3,ymm3,ymm15
    5487         vpslld  ymm7,ymm4,5
    5488         vpandn  ymm6,ymm0,ymm2
    5489         vpand   ymm5,ymm0,ymm1
    5490 
    5491         vmovdqa YMMWORD[(192-128)+rax],ymm11
    5492         vpaddd  ymm3,ymm3,ymm11
    5493         vinserti128     ymm12,ymm12,xmm8,1
    5494         vpsrld  ymm8,ymm4,27
    5495         vpxor   ymm5,ymm5,ymm6
    5496         vmovd   xmm13,DWORD[((-32))+r12]
    5497 
    5498         vpslld  ymm6,ymm0,30
    5499         vpor    ymm7,ymm7,ymm8
    5500         vmovd   xmm8,DWORD[((-32))+r8]
    5501         vpaddd  ymm3,ymm3,ymm5
    5502 
    5503         vpsrld  ymm0,ymm0,2
    5504         vpaddd  ymm3,ymm3,ymm7
    5505         vpshufb ymm12,ymm12,ymm9
    5506         vpor    ymm0,ymm0,ymm6
    5507         vmovd   xmm7,DWORD[((-32))+r13]
    5508         vmovd   xmm6,DWORD[((-32))+r9]
    5509         vpinsrd xmm13,xmm13,DWORD[((-32))+r14],1
    5510         vpinsrd xmm8,xmm8,DWORD[((-32))+r10],1
    5511         vpinsrd xmm7,xmm7,DWORD[((-32))+r15],1
    5512         vpunpckldq      ymm13,ymm13,ymm7
    5513         vpinsrd xmm6,xmm6,DWORD[((-32))+r11],1
    5514         vpunpckldq      ymm8,ymm8,ymm6
    5515         vpaddd  ymm2,ymm2,ymm15
    5516         vpslld  ymm7,ymm3,5
    5517         vpandn  ymm6,ymm4,ymm1
    5518         vpand   ymm5,ymm4,ymm0
    5519 
    5520         vmovdqa YMMWORD[(224-128)+rax],ymm12
    5521         vpaddd  ymm2,ymm2,ymm12
    5522         vinserti128     ymm13,ymm13,xmm8,1
    5523         vpsrld  ymm8,ymm3,27
    5524         vpxor   ymm5,ymm5,ymm6
    5525         vmovd   xmm14,DWORD[((-28))+r12]
    5526 
    5527         vpslld  ymm6,ymm4,30
    5528         vpor    ymm7,ymm7,ymm8
    5529         vmovd   xmm8,DWORD[((-28))+r8]
    5530         vpaddd  ymm2,ymm2,ymm5
    5531 
    5532         vpsrld  ymm4,ymm4,2
    5533         vpaddd  ymm2,ymm2,ymm7
    5534         vpshufb ymm13,ymm13,ymm9
    5535         vpor    ymm4,ymm4,ymm6
    5536         vmovd   xmm7,DWORD[((-28))+r13]
    5537         vmovd   xmm6,DWORD[((-28))+r9]
    5538         vpinsrd xmm14,xmm14,DWORD[((-28))+r14],1
    5539         vpinsrd xmm8,xmm8,DWORD[((-28))+r10],1
    5540         vpinsrd xmm7,xmm7,DWORD[((-28))+r15],1
    5541         vpunpckldq      ymm14,ymm14,ymm7
    5542         vpinsrd xmm6,xmm6,DWORD[((-28))+r11],1
    5543         vpunpckldq      ymm8,ymm8,ymm6
    5544         vpaddd  ymm1,ymm1,ymm15
    5545         vpslld  ymm7,ymm2,5
    5546         vpandn  ymm6,ymm3,ymm0
    5547         vpand   ymm5,ymm3,ymm4
    5548 
    5549         vmovdqa YMMWORD[(256-256-128)+rbx],ymm13
    5550         vpaddd  ymm1,ymm1,ymm13
    5551         vinserti128     ymm14,ymm14,xmm8,1
    5552         vpsrld  ymm8,ymm2,27
    5553         vpxor   ymm5,ymm5,ymm6
    5554         vmovd   xmm10,DWORD[((-24))+r12]
    5555 
    5556         vpslld  ymm6,ymm3,30
    5557         vpor    ymm7,ymm7,ymm8
    5558         vmovd   xmm8,DWORD[((-24))+r8]
    5559         vpaddd  ymm1,ymm1,ymm5
    5560 
    5561         vpsrld  ymm3,ymm3,2
    5562         vpaddd  ymm1,ymm1,ymm7
    5563         vpshufb ymm14,ymm14,ymm9
    5564         vpor    ymm3,ymm3,ymm6
    5565         vmovd   xmm7,DWORD[((-24))+r13]
    5566         vmovd   xmm6,DWORD[((-24))+r9]
    5567         vpinsrd xmm10,xmm10,DWORD[((-24))+r14],1
    5568         vpinsrd xmm8,xmm8,DWORD[((-24))+r10],1
    5569         vpinsrd xmm7,xmm7,DWORD[((-24))+r15],1
    5570         vpunpckldq      ymm10,ymm10,ymm7
    5571         vpinsrd xmm6,xmm6,DWORD[((-24))+r11],1
    5572         vpunpckldq      ymm8,ymm8,ymm6
    5573         vpaddd  ymm0,ymm0,ymm15
    5574         vpslld  ymm7,ymm1,5
    5575         vpandn  ymm6,ymm2,ymm4
    5576         vpand   ymm5,ymm2,ymm3
    5577 
    5578         vmovdqa YMMWORD[(288-256-128)+rbx],ymm14
    5579         vpaddd  ymm0,ymm0,ymm14
    5580         vinserti128     ymm10,ymm10,xmm8,1
    5581         vpsrld  ymm8,ymm1,27
    5582         vpxor   ymm5,ymm5,ymm6
    5583         vmovd   xmm11,DWORD[((-20))+r12]
    5584 
    5585         vpslld  ymm6,ymm2,30
    5586         vpor    ymm7,ymm7,ymm8
    5587         vmovd   xmm8,DWORD[((-20))+r8]
    5588         vpaddd  ymm0,ymm0,ymm5
    5589 
    5590         vpsrld  ymm2,ymm2,2
    5591         vpaddd  ymm0,ymm0,ymm7
    5592         vpshufb ymm10,ymm10,ymm9
    5593         vpor    ymm2,ymm2,ymm6
    5594         vmovd   xmm7,DWORD[((-20))+r13]
    5595         vmovd   xmm6,DWORD[((-20))+r9]
    5596         vpinsrd xmm11,xmm11,DWORD[((-20))+r14],1
    5597         vpinsrd xmm8,xmm8,DWORD[((-20))+r10],1
    5598         vpinsrd xmm7,xmm7,DWORD[((-20))+r15],1
    5599         vpunpckldq      ymm11,ymm11,ymm7
    5600         vpinsrd xmm6,xmm6,DWORD[((-20))+r11],1
    5601         vpunpckldq      ymm8,ymm8,ymm6
    5602         vpaddd  ymm4,ymm4,ymm15
    5603         vpslld  ymm7,ymm0,5
    5604         vpandn  ymm6,ymm1,ymm3
    5605         vpand   ymm5,ymm1,ymm2
    5606 
    5607         vmovdqa YMMWORD[(320-256-128)+rbx],ymm10
    5608         vpaddd  ymm4,ymm4,ymm10
    5609         vinserti128     ymm11,ymm11,xmm8,1
    5610         vpsrld  ymm8,ymm0,27
    5611         vpxor   ymm5,ymm5,ymm6
    5612         vmovd   xmm12,DWORD[((-16))+r12]
    5613 
    5614         vpslld  ymm6,ymm1,30
    5615         vpor    ymm7,ymm7,ymm8
    5616         vmovd   xmm8,DWORD[((-16))+r8]
    5617         vpaddd  ymm4,ymm4,ymm5
    5618 
    5619         vpsrld  ymm1,ymm1,2
    5620         vpaddd  ymm4,ymm4,ymm7
    5621         vpshufb ymm11,ymm11,ymm9
    5622         vpor    ymm1,ymm1,ymm6
    5623         vmovd   xmm7,DWORD[((-16))+r13]
    5624         vmovd   xmm6,DWORD[((-16))+r9]
    5625         vpinsrd xmm12,xmm12,DWORD[((-16))+r14],1
    5626         vpinsrd xmm8,xmm8,DWORD[((-16))+r10],1
    5627         vpinsrd xmm7,xmm7,DWORD[((-16))+r15],1
    5628         vpunpckldq      ymm12,ymm12,ymm7
    5629         vpinsrd xmm6,xmm6,DWORD[((-16))+r11],1
    5630         vpunpckldq      ymm8,ymm8,ymm6
    5631         vpaddd  ymm3,ymm3,ymm15
    5632         vpslld  ymm7,ymm4,5
    5633         vpandn  ymm6,ymm0,ymm2
    5634         vpand   ymm5,ymm0,ymm1
    5635 
    5636         vmovdqa YMMWORD[(352-256-128)+rbx],ymm11
    5637         vpaddd  ymm3,ymm3,ymm11
    5638         vinserti128     ymm12,ymm12,xmm8,1
    5639         vpsrld  ymm8,ymm4,27
    5640         vpxor   ymm5,ymm5,ymm6
    5641         vmovd   xmm13,DWORD[((-12))+r12]
    5642 
    5643         vpslld  ymm6,ymm0,30
    5644         vpor    ymm7,ymm7,ymm8
    5645         vmovd   xmm8,DWORD[((-12))+r8]
    5646         vpaddd  ymm3,ymm3,ymm5
    5647 
    5648         vpsrld  ymm0,ymm0,2
    5649         vpaddd  ymm3,ymm3,ymm7
    5650         vpshufb ymm12,ymm12,ymm9
    5651         vpor    ymm0,ymm0,ymm6
    5652         vmovd   xmm7,DWORD[((-12))+r13]
    5653         vmovd   xmm6,DWORD[((-12))+r9]
    5654         vpinsrd xmm13,xmm13,DWORD[((-12))+r14],1
    5655         vpinsrd xmm8,xmm8,DWORD[((-12))+r10],1
    5656         vpinsrd xmm7,xmm7,DWORD[((-12))+r15],1
    5657         vpunpckldq      ymm13,ymm13,ymm7
    5658         vpinsrd xmm6,xmm6,DWORD[((-12))+r11],1
    5659         vpunpckldq      ymm8,ymm8,ymm6
    5660         vpaddd  ymm2,ymm2,ymm15
    5661         vpslld  ymm7,ymm3,5
    5662         vpandn  ymm6,ymm4,ymm1
    5663         vpand   ymm5,ymm4,ymm0
    5664 
    5665         vmovdqa YMMWORD[(384-256-128)+rbx],ymm12
    5666         vpaddd  ymm2,ymm2,ymm12
    5667         vinserti128     ymm13,ymm13,xmm8,1
    5668         vpsrld  ymm8,ymm3,27
    5669         vpxor   ymm5,ymm5,ymm6
    5670         vmovd   xmm14,DWORD[((-8))+r12]
    5671 
    5672         vpslld  ymm6,ymm4,30
    5673         vpor    ymm7,ymm7,ymm8
    5674         vmovd   xmm8,DWORD[((-8))+r8]
    5675         vpaddd  ymm2,ymm2,ymm5
    5676 
    5677         vpsrld  ymm4,ymm4,2
    5678         vpaddd  ymm2,ymm2,ymm7
    5679         vpshufb ymm13,ymm13,ymm9
    5680         vpor    ymm4,ymm4,ymm6
    5681         vmovd   xmm7,DWORD[((-8))+r13]
    5682         vmovd   xmm6,DWORD[((-8))+r9]
    5683         vpinsrd xmm14,xmm14,DWORD[((-8))+r14],1
    5684         vpinsrd xmm8,xmm8,DWORD[((-8))+r10],1
    5685         vpinsrd xmm7,xmm7,DWORD[((-8))+r15],1
    5686         vpunpckldq      ymm14,ymm14,ymm7
    5687         vpinsrd xmm6,xmm6,DWORD[((-8))+r11],1
    5688         vpunpckldq      ymm8,ymm8,ymm6
    5689         vpaddd  ymm1,ymm1,ymm15
    5690         vpslld  ymm7,ymm2,5
    5691         vpandn  ymm6,ymm3,ymm0
    5692         vpand   ymm5,ymm3,ymm4
    5693 
    5694         vmovdqa YMMWORD[(416-256-128)+rbx],ymm13
    5695         vpaddd  ymm1,ymm1,ymm13
    5696         vinserti128     ymm14,ymm14,xmm8,1
    5697         vpsrld  ymm8,ymm2,27
    5698         vpxor   ymm5,ymm5,ymm6
    5699         vmovd   xmm10,DWORD[((-4))+r12]
    5700 
    5701         vpslld  ymm6,ymm3,30
    5702         vpor    ymm7,ymm7,ymm8
    5703         vmovd   xmm8,DWORD[((-4))+r8]
    5704         vpaddd  ymm1,ymm1,ymm5
    5705 
    5706         vpsrld  ymm3,ymm3,2
    5707         vpaddd  ymm1,ymm1,ymm7
    5708         vpshufb ymm14,ymm14,ymm9
    5709         vpor    ymm3,ymm3,ymm6
    5710         vmovdqa ymm11,YMMWORD[((0-128))+rax]
    5711         vmovd   xmm7,DWORD[((-4))+r13]
    5712         vmovd   xmm6,DWORD[((-4))+r9]
    5713         vpinsrd xmm10,xmm10,DWORD[((-4))+r14],1
    5714         vpinsrd xmm8,xmm8,DWORD[((-4))+r10],1
    5715         vpinsrd xmm7,xmm7,DWORD[((-4))+r15],1
    5716         vpunpckldq      ymm10,ymm10,ymm7
    5717         vpinsrd xmm6,xmm6,DWORD[((-4))+r11],1
    5718         vpunpckldq      ymm8,ymm8,ymm6
    5719         vpaddd  ymm0,ymm0,ymm15
    5720         prefetcht0      [63+r12]
    5721         vpslld  ymm7,ymm1,5
    5722         vpandn  ymm6,ymm2,ymm4
    5723         vpand   ymm5,ymm2,ymm3
    5724 
    5725         vmovdqa YMMWORD[(448-256-128)+rbx],ymm14
    5726         vpaddd  ymm0,ymm0,ymm14
    5727         vinserti128     ymm10,ymm10,xmm8,1
    5728         vpsrld  ymm8,ymm1,27
    5729         prefetcht0      [63+r13]
    5730         vpxor   ymm5,ymm5,ymm6
    5731 
    5732         vpslld  ymm6,ymm2,30
    5733         vpor    ymm7,ymm7,ymm8
    5734         prefetcht0      [63+r14]
    5735         vpaddd  ymm0,ymm0,ymm5
    5736 
    5737         vpsrld  ymm2,ymm2,2
    5738         vpaddd  ymm0,ymm0,ymm7
    5739         prefetcht0      [63+r15]
    5740         vpshufb ymm10,ymm10,ymm9
    5741         vpor    ymm2,ymm2,ymm6
    5742         vmovdqa ymm12,YMMWORD[((32-128))+rax]
    5743         vpxor   ymm11,ymm11,ymm13
    5744         vmovdqa ymm13,YMMWORD[((64-128))+rax]
    5745 
    5746         vpaddd  ymm4,ymm4,ymm15
    5747         vpslld  ymm7,ymm0,5
    5748         vpandn  ymm6,ymm1,ymm3
    5749         prefetcht0      [63+r8]
    5750         vpand   ymm5,ymm1,ymm2
    5751 
    5752         vmovdqa YMMWORD[(480-256-128)+rbx],ymm10
    5753         vpaddd  ymm4,ymm4,ymm10
    5754         vpxor   ymm11,ymm11,YMMWORD[((256-256-128))+rbx]
    5755         vpsrld  ymm8,ymm0,27
    5756         vpxor   ymm5,ymm5,ymm6
    5757         vpxor   ymm11,ymm11,ymm13
    5758         prefetcht0      [63+r9]
    5759 
    5760         vpslld  ymm6,ymm1,30
    5761         vpor    ymm7,ymm7,ymm8
    5762         vpaddd  ymm4,ymm4,ymm5
    5763         prefetcht0      [63+r10]
    5764         vpsrld  ymm9,ymm11,31
    5765         vpaddd  ymm11,ymm11,ymm11
    5766 
    5767         vpsrld  ymm1,ymm1,2
    5768         prefetcht0      [63+r11]
    5769         vpaddd  ymm4,ymm4,ymm7
    5770         vpor    ymm11,ymm11,ymm9
    5771         vpor    ymm1,ymm1,ymm6
    5772         vpxor   ymm12,ymm12,ymm14
    5773         vmovdqa ymm14,YMMWORD[((96-128))+rax]
    5774 
    5775         vpaddd  ymm3,ymm3,ymm15
    5776         vpslld  ymm7,ymm4,5
    5777         vpandn  ymm6,ymm0,ymm2
    5778 
    5779         vpand   ymm5,ymm0,ymm1
    5780 
    5781         vmovdqa YMMWORD[(0-128)+rax],ymm11
    5782         vpaddd  ymm3,ymm3,ymm11
    5783         vpxor   ymm12,ymm12,YMMWORD[((288-256-128))+rbx]
    5784         vpsrld  ymm8,ymm4,27
    5785         vpxor   ymm5,ymm5,ymm6
    5786         vpxor   ymm12,ymm12,ymm14
    5787 
    5788 
    5789         vpslld  ymm6,ymm0,30
    5790         vpor    ymm7,ymm7,ymm8
    5791         vpaddd  ymm3,ymm3,ymm5
    5792 
    5793         vpsrld  ymm9,ymm12,31
    5794         vpaddd  ymm12,ymm12,ymm12
    5795 
    5796         vpsrld  ymm0,ymm0,2
    5797 
    5798         vpaddd  ymm3,ymm3,ymm7
    5799         vpor    ymm12,ymm12,ymm9
    5800         vpor    ymm0,ymm0,ymm6
    5801         vpxor   ymm13,ymm13,ymm10
    5802         vmovdqa ymm10,YMMWORD[((128-128))+rax]
    5803 
    5804         vpaddd  ymm2,ymm2,ymm15
    5805         vpslld  ymm7,ymm3,5
    5806         vpandn  ymm6,ymm4,ymm1
    5807 
    5808         vpand   ymm5,ymm4,ymm0
    5809 
    5810         vmovdqa YMMWORD[(32-128)+rax],ymm12
    5811         vpaddd  ymm2,ymm2,ymm12
    5812         vpxor   ymm13,ymm13,YMMWORD[((320-256-128))+rbx]
    5813         vpsrld  ymm8,ymm3,27
    5814         vpxor   ymm5,ymm5,ymm6
    5815         vpxor   ymm13,ymm13,ymm10
    5816 
    5817 
    5818         vpslld  ymm6,ymm4,30
    5819         vpor    ymm7,ymm7,ymm8
    5820         vpaddd  ymm2,ymm2,ymm5
    5821 
    5822         vpsrld  ymm9,ymm13,31
    5823         vpaddd  ymm13,ymm13,ymm13
    5824 
    5825         vpsrld  ymm4,ymm4,2
    5826 
    5827         vpaddd  ymm2,ymm2,ymm7
    5828         vpor    ymm13,ymm13,ymm9
    5829         vpor    ymm4,ymm4,ymm6
    5830         vpxor   ymm14,ymm14,ymm11
    5831         vmovdqa ymm11,YMMWORD[((160-128))+rax]
    5832 
    5833         vpaddd  ymm1,ymm1,ymm15
    5834         vpslld  ymm7,ymm2,5
    5835         vpandn  ymm6,ymm3,ymm0
    5836 
    5837         vpand   ymm5,ymm3,ymm4
    5838 
    5839         vmovdqa YMMWORD[(64-128)+rax],ymm13
    5840         vpaddd  ymm1,ymm1,ymm13
    5841         vpxor   ymm14,ymm14,YMMWORD[((352-256-128))+rbx]
    5842         vpsrld  ymm8,ymm2,27
    5843         vpxor   ymm5,ymm5,ymm6
    5844         vpxor   ymm14,ymm14,ymm11
    5845 
    5846 
    5847         vpslld  ymm6,ymm3,30
    5848         vpor    ymm7,ymm7,ymm8
    5849         vpaddd  ymm1,ymm1,ymm5
    5850 
    5851         vpsrld  ymm9,ymm14,31
    5852         vpaddd  ymm14,ymm14,ymm14
    5853 
    5854         vpsrld  ymm3,ymm3,2
    5855 
    5856         vpaddd  ymm1,ymm1,ymm7
    5857         vpor    ymm14,ymm14,ymm9
    5858         vpor    ymm3,ymm3,ymm6
    5859         vpxor   ymm10,ymm10,ymm12
    5860         vmovdqa ymm12,YMMWORD[((192-128))+rax]
    5861 
    5862         vpaddd  ymm0,ymm0,ymm15
    5863         vpslld  ymm7,ymm1,5
    5864         vpandn  ymm6,ymm2,ymm4
    5865 
    5866         vpand   ymm5,ymm2,ymm3
    5867 
    5868         vmovdqa YMMWORD[(96-128)+rax],ymm14
    5869         vpaddd  ymm0,ymm0,ymm14
    5870         vpxor   ymm10,ymm10,YMMWORD[((384-256-128))+rbx]
    5871         vpsrld  ymm8,ymm1,27
    5872         vpxor   ymm5,ymm5,ymm6
    5873         vpxor   ymm10,ymm10,ymm12
    5874 
    5875 
    5876         vpslld  ymm6,ymm2,30
    5877         vpor    ymm7,ymm7,ymm8
    5878         vpaddd  ymm0,ymm0,ymm5
    5879 
    5880         vpsrld  ymm9,ymm10,31
    5881         vpaddd  ymm10,ymm10,ymm10
    5882 
    5883         vpsrld  ymm2,ymm2,2
    5884 
    5885         vpaddd  ymm0,ymm0,ymm7
    5886         vpor    ymm10,ymm10,ymm9
    5887         vpor    ymm2,ymm2,ymm6
    5888         vmovdqa ymm15,YMMWORD[rbp]
    5889         vpxor   ymm11,ymm11,ymm13
    5890         vmovdqa ymm13,YMMWORD[((224-128))+rax]
    5891 
    5892         vpslld  ymm7,ymm0,5
    5893         vpaddd  ymm4,ymm4,ymm15
    5894         vpxor   ymm5,ymm3,ymm1
    5895         vmovdqa YMMWORD[(128-128)+rax],ymm10
    5896         vpaddd  ymm4,ymm4,ymm10
    5897         vpxor   ymm11,ymm11,YMMWORD[((416-256-128))+rbx]
    5898         vpsrld  ymm8,ymm0,27
    5899         vpxor   ymm5,ymm5,ymm2
    5900         vpxor   ymm11,ymm11,ymm13
    5901 
    5902         vpslld  ymm6,ymm1,30
    5903         vpor    ymm7,ymm7,ymm8
    5904         vpaddd  ymm4,ymm4,ymm5
    5905         vpsrld  ymm9,ymm11,31
    5906         vpaddd  ymm11,ymm11,ymm11
    5907 
    5908         vpsrld  ymm1,ymm1,2
    5909         vpaddd  ymm4,ymm4,ymm7
    5910         vpor    ymm11,ymm11,ymm9
    5911         vpor    ymm1,ymm1,ymm6
    5912         vpxor   ymm12,ymm12,ymm14
    5913         vmovdqa ymm14,YMMWORD[((256-256-128))+rbx]
    5914 
    5915         vpslld  ymm7,ymm4,5
    5916         vpaddd  ymm3,ymm3,ymm15
    5917         vpxor   ymm5,ymm2,ymm0
    5918         vmovdqa YMMWORD[(160-128)+rax],ymm11
    5919         vpaddd  ymm3,ymm3,ymm11
    5920         vpxor   ymm12,ymm12,YMMWORD[((448-256-128))+rbx]
    5921         vpsrld  ymm8,ymm4,27
    5922         vpxor   ymm5,ymm5,ymm1
    5923         vpxor   ymm12,ymm12,ymm14
    5924 
    5925         vpslld  ymm6,ymm0,30
    5926         vpor    ymm7,ymm7,ymm8
    5927         vpaddd  ymm3,ymm3,ymm5
    5928         vpsrld  ymm9,ymm12,31
    5929         vpaddd  ymm12,ymm12,ymm12
    5930 
    5931         vpsrld  ymm0,ymm0,2
    5932         vpaddd  ymm3,ymm3,ymm7
    5933         vpor    ymm12,ymm12,ymm9
    5934         vpor    ymm0,ymm0,ymm6
    5935         vpxor   ymm13,ymm13,ymm10
    5936         vmovdqa ymm10,YMMWORD[((288-256-128))+rbx]
    5937 
    5938         vpslld  ymm7,ymm3,5
    5939         vpaddd  ymm2,ymm2,ymm15
    5940         vpxor   ymm5,ymm1,ymm4
    5941         vmovdqa YMMWORD[(192-128)+rax],ymm12
    5942         vpaddd  ymm2,ymm2,ymm12
    5943         vpxor   ymm13,ymm13,YMMWORD[((480-256-128))+rbx]
    5944         vpsrld  ymm8,ymm3,27
    5945         vpxor   ymm5,ymm5,ymm0
    5946         vpxor   ymm13,ymm13,ymm10
    5947 
    5948         vpslld  ymm6,ymm4,30
    5949         vpor    ymm7,ymm7,ymm8
    5950         vpaddd  ymm2,ymm2,ymm5
    5951         vpsrld  ymm9,ymm13,31
    5952         vpaddd  ymm13,ymm13,ymm13
    5953 
    5954         vpsrld  ymm4,ymm4,2
    5955         vpaddd  ymm2,ymm2,ymm7
    5956         vpor    ymm13,ymm13,ymm9
    5957         vpor    ymm4,ymm4,ymm6
    5958         vpxor   ymm14,ymm14,ymm11
    5959         vmovdqa ymm11,YMMWORD[((320-256-128))+rbx]
    5960 
    5961         vpslld  ymm7,ymm2,5
    5962         vpaddd  ymm1,ymm1,ymm15
    5963         vpxor   ymm5,ymm0,ymm3
    5964         vmovdqa YMMWORD[(224-128)+rax],ymm13
    5965         vpaddd  ymm1,ymm1,ymm13
    5966         vpxor   ymm14,ymm14,YMMWORD[((0-128))+rax]
    5967         vpsrld  ymm8,ymm2,27
    5968         vpxor   ymm5,ymm5,ymm4
    5969         vpxor   ymm14,ymm14,ymm11
    5970 
    5971         vpslld  ymm6,ymm3,30
    5972         vpor    ymm7,ymm7,ymm8
    5973         vpaddd  ymm1,ymm1,ymm5
    5974         vpsrld  ymm9,ymm14,31
    5975         vpaddd  ymm14,ymm14,ymm14
    5976 
    5977         vpsrld  ymm3,ymm3,2
    5978         vpaddd  ymm1,ymm1,ymm7
    5979         vpor    ymm14,ymm14,ymm9
    5980         vpor    ymm3,ymm3,ymm6
    5981         vpxor   ymm10,ymm10,ymm12
    5982         vmovdqa ymm12,YMMWORD[((352-256-128))+rbx]
    5983 
    5984         vpslld  ymm7,ymm1,5
    5985         vpaddd  ymm0,ymm0,ymm15
    5986         vpxor   ymm5,ymm4,ymm2
    5987         vmovdqa YMMWORD[(256-256-128)+rbx],ymm14
    5988         vpaddd  ymm0,ymm0,ymm14
    5989         vpxor   ymm10,ymm10,YMMWORD[((32-128))+rax]
    5990         vpsrld  ymm8,ymm1,27
    5991         vpxor   ymm5,ymm5,ymm3
    5992         vpxor   ymm10,ymm10,ymm12
    5993 
    5994         vpslld  ymm6,ymm2,30
    5995         vpor    ymm7,ymm7,ymm8
    5996         vpaddd  ymm0,ymm0,ymm5
    5997         vpsrld  ymm9,ymm10,31
    5998         vpaddd  ymm10,ymm10,ymm10
    5999 
    6000         vpsrld  ymm2,ymm2,2
    6001         vpaddd  ymm0,ymm0,ymm7
    6002         vpor    ymm10,ymm10,ymm9
    6003         vpor    ymm2,ymm2,ymm6
    6004         vpxor   ymm11,ymm11,ymm13
    6005         vmovdqa ymm13,YMMWORD[((384-256-128))+rbx]
    6006 
    6007         vpslld  ymm7,ymm0,5
    6008         vpaddd  ymm4,ymm4,ymm15
    6009         vpxor   ymm5,ymm3,ymm1
    6010         vmovdqa YMMWORD[(288-256-128)+rbx],ymm10
    6011         vpaddd  ymm4,ymm4,ymm10
    6012         vpxor   ymm11,ymm11,YMMWORD[((64-128))+rax]
    6013         vpsrld  ymm8,ymm0,27
    6014         vpxor   ymm5,ymm5,ymm2
    6015         vpxor   ymm11,ymm11,ymm13
    6016 
    6017         vpslld  ymm6,ymm1,30
    6018         vpor    ymm7,ymm7,ymm8
    6019         vpaddd  ymm4,ymm4,ymm5
    6020         vpsrld  ymm9,ymm11,31
    6021         vpaddd  ymm11,ymm11,ymm11
    6022 
    6023         vpsrld  ymm1,ymm1,2
    6024         vpaddd  ymm4,ymm4,ymm7
    6025         vpor    ymm11,ymm11,ymm9
    6026         vpor    ymm1,ymm1,ymm6
    6027         vpxor   ymm12,ymm12,ymm14
    6028         vmovdqa ymm14,YMMWORD[((416-256-128))+rbx]
    6029 
    6030         vpslld  ymm7,ymm4,5
    6031         vpaddd  ymm3,ymm3,ymm15
    6032         vpxor   ymm5,ymm2,ymm0
    6033         vmovdqa YMMWORD[(320-256-128)+rbx],ymm11
    6034         vpaddd  ymm3,ymm3,ymm11
    6035         vpxor   ymm12,ymm12,YMMWORD[((96-128))+rax]
    6036         vpsrld  ymm8,ymm4,27
    6037         vpxor   ymm5,ymm5,ymm1
    6038         vpxor   ymm12,ymm12,ymm14
    6039 
    6040         vpslld  ymm6,ymm0,30
    6041         vpor    ymm7,ymm7,ymm8
    6042         vpaddd  ymm3,ymm3,ymm5
    6043         vpsrld  ymm9,ymm12,31
    6044         vpaddd  ymm12,ymm12,ymm12
    6045 
    6046         vpsrld  ymm0,ymm0,2
    6047         vpaddd  ymm3,ymm3,ymm7
    6048         vpor    ymm12,ymm12,ymm9
    6049         vpor    ymm0,ymm0,ymm6
    6050         vpxor   ymm13,ymm13,ymm10
    6051         vmovdqa ymm10,YMMWORD[((448-256-128))+rbx]
    6052 
    6053         vpslld  ymm7,ymm3,5
    6054         vpaddd  ymm2,ymm2,ymm15
    6055         vpxor   ymm5,ymm1,ymm4
    6056         vmovdqa YMMWORD[(352-256-128)+rbx],ymm12
    6057         vpaddd  ymm2,ymm2,ymm12
    6058         vpxor   ymm13,ymm13,YMMWORD[((128-128))+rax]
    6059         vpsrld  ymm8,ymm3,27
    6060         vpxor   ymm5,ymm5,ymm0
    6061         vpxor   ymm13,ymm13,ymm10
    6062 
    6063         vpslld  ymm6,ymm4,30
    6064         vpor    ymm7,ymm7,ymm8
    6065         vpaddd  ymm2,ymm2,ymm5
    6066         vpsrld  ymm9,ymm13,31
    6067         vpaddd  ymm13,ymm13,ymm13
    6068 
    6069         vpsrld  ymm4,ymm4,2
    6070         vpaddd  ymm2,ymm2,ymm7
    6071         vpor    ymm13,ymm13,ymm9
    6072         vpor    ymm4,ymm4,ymm6
    6073         vpxor   ymm14,ymm14,ymm11
    6074         vmovdqa ymm11,YMMWORD[((480-256-128))+rbx]
    6075 
    6076         vpslld  ymm7,ymm2,5
    6077         vpaddd  ymm1,ymm1,ymm15
    6078         vpxor   ymm5,ymm0,ymm3
    6079         vmovdqa YMMWORD[(384-256-128)+rbx],ymm13
    6080         vpaddd  ymm1,ymm1,ymm13
    6081         vpxor   ymm14,ymm14,YMMWORD[((160-128))+rax]
    6082         vpsrld  ymm8,ymm2,27
    6083         vpxor   ymm5,ymm5,ymm4
    6084         vpxor   ymm14,ymm14,ymm11
    6085 
    6086         vpslld  ymm6,ymm3,30
    6087         vpor    ymm7,ymm7,ymm8
    6088         vpaddd  ymm1,ymm1,ymm5
    6089         vpsrld  ymm9,ymm14,31
    6090         vpaddd  ymm14,ymm14,ymm14
    6091 
    6092         vpsrld  ymm3,ymm3,2
    6093         vpaddd  ymm1,ymm1,ymm7
    6094         vpor    ymm14,ymm14,ymm9
    6095         vpor    ymm3,ymm3,ymm6
    6096         vpxor   ymm10,ymm10,ymm12
    6097         vmovdqa ymm12,YMMWORD[((0-128))+rax]
    6098 
    6099         vpslld  ymm7,ymm1,5
    6100         vpaddd  ymm0,ymm0,ymm15
    6101         vpxor   ymm5,ymm4,ymm2
    6102         vmovdqa YMMWORD[(416-256-128)+rbx],ymm14
    6103         vpaddd  ymm0,ymm0,ymm14
    6104         vpxor   ymm10,ymm10,YMMWORD[((192-128))+rax]
    6105         vpsrld  ymm8,ymm1,27
    6106         vpxor   ymm5,ymm5,ymm3
    6107         vpxor   ymm10,ymm10,ymm12
    6108 
    6109         vpslld  ymm6,ymm2,30
    6110         vpor    ymm7,ymm7,ymm8
    6111         vpaddd  ymm0,ymm0,ymm5
    6112         vpsrld  ymm9,ymm10,31
    6113         vpaddd  ymm10,ymm10,ymm10
    6114 
    6115         vpsrld  ymm2,ymm2,2
    6116         vpaddd  ymm0,ymm0,ymm7
    6117         vpor    ymm10,ymm10,ymm9
    6118         vpor    ymm2,ymm2,ymm6
    6119         vpxor   ymm11,ymm11,ymm13
    6120         vmovdqa ymm13,YMMWORD[((32-128))+rax]
    6121 
    6122         vpslld  ymm7,ymm0,5
    6123         vpaddd  ymm4,ymm4,ymm15
    6124         vpxor   ymm5,ymm3,ymm1
    6125         vmovdqa YMMWORD[(448-256-128)+rbx],ymm10
    6126         vpaddd  ymm4,ymm4,ymm10
    6127         vpxor   ymm11,ymm11,YMMWORD[((224-128))+rax]
    6128         vpsrld  ymm8,ymm0,27
    6129         vpxor   ymm5,ymm5,ymm2
    6130         vpxor   ymm11,ymm11,ymm13
    6131 
    6132         vpslld  ymm6,ymm1,30
    6133         vpor    ymm7,ymm7,ymm8
    6134         vpaddd  ymm4,ymm4,ymm5
    6135         vpsrld  ymm9,ymm11,31
    6136         vpaddd  ymm11,ymm11,ymm11
    6137 
    6138         vpsrld  ymm1,ymm1,2
    6139         vpaddd  ymm4,ymm4,ymm7
    6140         vpor    ymm11,ymm11,ymm9
    6141         vpor    ymm1,ymm1,ymm6
    6142         vpxor   ymm12,ymm12,ymm14
    6143         vmovdqa ymm14,YMMWORD[((64-128))+rax]
    6144 
    6145         vpslld  ymm7,ymm4,5
    6146         vpaddd  ymm3,ymm3,ymm15
    6147         vpxor   ymm5,ymm2,ymm0
    6148         vmovdqa YMMWORD[(480-256-128)+rbx],ymm11
    6149         vpaddd  ymm3,ymm3,ymm11
    6150         vpxor   ymm12,ymm12,YMMWORD[((256-256-128))+rbx]
    6151         vpsrld  ymm8,ymm4,27
    6152         vpxor   ymm5,ymm5,ymm1
    6153         vpxor   ymm12,ymm12,ymm14
    6154 
    6155         vpslld  ymm6,ymm0,30
    6156         vpor    ymm7,ymm7,ymm8
    6157         vpaddd  ymm3,ymm3,ymm5
    6158         vpsrld  ymm9,ymm12,31
    6159         vpaddd  ymm12,ymm12,ymm12
    6160 
    6161         vpsrld  ymm0,ymm0,2
    6162         vpaddd  ymm3,ymm3,ymm7
    6163         vpor    ymm12,ymm12,ymm9
    6164         vpor    ymm0,ymm0,ymm6
    6165         vpxor   ymm13,ymm13,ymm10
    6166         vmovdqa ymm10,YMMWORD[((96-128))+rax]
    6167 
    6168         vpslld  ymm7,ymm3,5
    6169         vpaddd  ymm2,ymm2,ymm15
    6170         vpxor   ymm5,ymm1,ymm4
    6171         vmovdqa YMMWORD[(0-128)+rax],ymm12
    6172         vpaddd  ymm2,ymm2,ymm12
    6173         vpxor   ymm13,ymm13,YMMWORD[((288-256-128))+rbx]
    6174         vpsrld  ymm8,ymm3,27
    6175         vpxor   ymm5,ymm5,ymm0
    6176         vpxor   ymm13,ymm13,ymm10
    6177 
    6178         vpslld  ymm6,ymm4,30
    6179         vpor    ymm7,ymm7,ymm8
    6180         vpaddd  ymm2,ymm2,ymm5
    6181         vpsrld  ymm9,ymm13,31
    6182         vpaddd  ymm13,ymm13,ymm13
    6183 
    6184         vpsrld  ymm4,ymm4,2
    6185         vpaddd  ymm2,ymm2,ymm7
    6186         vpor    ymm13,ymm13,ymm9
    6187         vpor    ymm4,ymm4,ymm6
    6188         vpxor   ymm14,ymm14,ymm11
    6189         vmovdqa ymm11,YMMWORD[((128-128))+rax]
    6190 
    6191         vpslld  ymm7,ymm2,5
    6192         vpaddd  ymm1,ymm1,ymm15
    6193         vpxor   ymm5,ymm0,ymm3
    6194         vmovdqa YMMWORD[(32-128)+rax],ymm13
    6195         vpaddd  ymm1,ymm1,ymm13
    6196         vpxor   ymm14,ymm14,YMMWORD[((320-256-128))+rbx]
    6197         vpsrld  ymm8,ymm2,27
    6198         vpxor   ymm5,ymm5,ymm4
    6199         vpxor   ymm14,ymm14,ymm11
    6200 
    6201         vpslld  ymm6,ymm3,30
    6202         vpor    ymm7,ymm7,ymm8
    6203         vpaddd  ymm1,ymm1,ymm5
    6204         vpsrld  ymm9,ymm14,31
    6205         vpaddd  ymm14,ymm14,ymm14
    6206 
    6207         vpsrld  ymm3,ymm3,2
    6208         vpaddd  ymm1,ymm1,ymm7
    6209         vpor    ymm14,ymm14,ymm9
    6210         vpor    ymm3,ymm3,ymm6
    6211         vpxor   ymm10,ymm10,ymm12
    6212         vmovdqa ymm12,YMMWORD[((160-128))+rax]
    6213 
    6214         vpslld  ymm7,ymm1,5
    6215         vpaddd  ymm0,ymm0,ymm15
    6216         vpxor   ymm5,ymm4,ymm2
    6217         vmovdqa YMMWORD[(64-128)+rax],ymm14
    6218         vpaddd  ymm0,ymm0,ymm14
    6219         vpxor   ymm10,ymm10,YMMWORD[((352-256-128))+rbx]
    6220         vpsrld  ymm8,ymm1,27
    6221         vpxor   ymm5,ymm5,ymm3
    6222         vpxor   ymm10,ymm10,ymm12
    6223 
    6224         vpslld  ymm6,ymm2,30
    6225         vpor    ymm7,ymm7,ymm8
    6226         vpaddd  ymm0,ymm0,ymm5
    6227         vpsrld  ymm9,ymm10,31
    6228         vpaddd  ymm10,ymm10,ymm10
    6229 
    6230         vpsrld  ymm2,ymm2,2
    6231         vpaddd  ymm0,ymm0,ymm7
    6232         vpor    ymm10,ymm10,ymm9
    6233         vpor    ymm2,ymm2,ymm6
    6234         vpxor   ymm11,ymm11,ymm13
    6235         vmovdqa ymm13,YMMWORD[((192-128))+rax]
    6236 
    6237         vpslld  ymm7,ymm0,5
    6238         vpaddd  ymm4,ymm4,ymm15
    6239         vpxor   ymm5,ymm3,ymm1
    6240         vmovdqa YMMWORD[(96-128)+rax],ymm10
    6241         vpaddd  ymm4,ymm4,ymm10
    6242         vpxor   ymm11,ymm11,YMMWORD[((384-256-128))+rbx]
    6243         vpsrld  ymm8,ymm0,27
    6244         vpxor   ymm5,ymm5,ymm2
    6245         vpxor   ymm11,ymm11,ymm13
    6246 
    6247         vpslld  ymm6,ymm1,30
    6248         vpor    ymm7,ymm7,ymm8
    6249         vpaddd  ymm4,ymm4,ymm5
    6250         vpsrld  ymm9,ymm11,31
    6251         vpaddd  ymm11,ymm11,ymm11
    6252 
    6253         vpsrld  ymm1,ymm1,2
    6254         vpaddd  ymm4,ymm4,ymm7
    6255         vpor    ymm11,ymm11,ymm9
    6256         vpor    ymm1,ymm1,ymm6
    6257         vpxor   ymm12,ymm12,ymm14
    6258         vmovdqa ymm14,YMMWORD[((224-128))+rax]
    6259 
    6260         vpslld  ymm7,ymm4,5
    6261         vpaddd  ymm3,ymm3,ymm15
    6262         vpxor   ymm5,ymm2,ymm0
    6263         vmovdqa YMMWORD[(128-128)+rax],ymm11
    6264         vpaddd  ymm3,ymm3,ymm11
    6265         vpxor   ymm12,ymm12,YMMWORD[((416-256-128))+rbx]
    6266         vpsrld  ymm8,ymm4,27
    6267         vpxor   ymm5,ymm5,ymm1
    6268         vpxor   ymm12,ymm12,ymm14
    6269 
    6270         vpslld  ymm6,ymm0,30
    6271         vpor    ymm7,ymm7,ymm8
    6272         vpaddd  ymm3,ymm3,ymm5
    6273         vpsrld  ymm9,ymm12,31
    6274         vpaddd  ymm12,ymm12,ymm12
    6275 
    6276         vpsrld  ymm0,ymm0,2
    6277         vpaddd  ymm3,ymm3,ymm7
    6278         vpor    ymm12,ymm12,ymm9
    6279         vpor    ymm0,ymm0,ymm6
    6280         vpxor   ymm13,ymm13,ymm10
    6281         vmovdqa ymm10,YMMWORD[((256-256-128))+rbx]
    6282 
    6283         vpslld  ymm7,ymm3,5
    6284         vpaddd  ymm2,ymm2,ymm15
    6285         vpxor   ymm5,ymm1,ymm4
    6286         vmovdqa YMMWORD[(160-128)+rax],ymm12
    6287         vpaddd  ymm2,ymm2,ymm12
    6288         vpxor   ymm13,ymm13,YMMWORD[((448-256-128))+rbx]
    6289         vpsrld  ymm8,ymm3,27
    6290         vpxor   ymm5,ymm5,ymm0
    6291         vpxor   ymm13,ymm13,ymm10
    6292 
    6293         vpslld  ymm6,ymm4,30
    6294         vpor    ymm7,ymm7,ymm8
    6295         vpaddd  ymm2,ymm2,ymm5
    6296         vpsrld  ymm9,ymm13,31
    6297         vpaddd  ymm13,ymm13,ymm13
    6298 
    6299         vpsrld  ymm4,ymm4,2
    6300         vpaddd  ymm2,ymm2,ymm7
    6301         vpor    ymm13,ymm13,ymm9
    6302         vpor    ymm4,ymm4,ymm6
    6303         vpxor   ymm14,ymm14,ymm11
    6304         vmovdqa ymm11,YMMWORD[((288-256-128))+rbx]
    6305 
    6306         vpslld  ymm7,ymm2,5
    6307         vpaddd  ymm1,ymm1,ymm15
    6308         vpxor   ymm5,ymm0,ymm3
    6309         vmovdqa YMMWORD[(192-128)+rax],ymm13
    6310         vpaddd  ymm1,ymm1,ymm13
    6311         vpxor   ymm14,ymm14,YMMWORD[((480-256-128))+rbx]
    6312         vpsrld  ymm8,ymm2,27
    6313         vpxor   ymm5,ymm5,ymm4
    6314         vpxor   ymm14,ymm14,ymm11
    6315 
    6316         vpslld  ymm6,ymm3,30
    6317         vpor    ymm7,ymm7,ymm8
    6318         vpaddd  ymm1,ymm1,ymm5
    6319         vpsrld  ymm9,ymm14,31
    6320         vpaddd  ymm14,ymm14,ymm14
    6321 
    6322         vpsrld  ymm3,ymm3,2
    6323         vpaddd  ymm1,ymm1,ymm7
    6324         vpor    ymm14,ymm14,ymm9
    6325         vpor    ymm3,ymm3,ymm6
    6326         vpxor   ymm10,ymm10,ymm12
    6327         vmovdqa ymm12,YMMWORD[((320-256-128))+rbx]
    6328 
    6329         vpslld  ymm7,ymm1,5
    6330         vpaddd  ymm0,ymm0,ymm15
    6331         vpxor   ymm5,ymm4,ymm2
    6332         vmovdqa YMMWORD[(224-128)+rax],ymm14
    6333         vpaddd  ymm0,ymm0,ymm14
    6334         vpxor   ymm10,ymm10,YMMWORD[((0-128))+rax]
    6335         vpsrld  ymm8,ymm1,27
    6336         vpxor   ymm5,ymm5,ymm3
    6337         vpxor   ymm10,ymm10,ymm12
    6338 
    6339         vpslld  ymm6,ymm2,30
    6340         vpor    ymm7,ymm7,ymm8
    6341         vpaddd  ymm0,ymm0,ymm5
    6342         vpsrld  ymm9,ymm10,31
    6343         vpaddd  ymm10,ymm10,ymm10
    6344 
    6345         vpsrld  ymm2,ymm2,2
    6346         vpaddd  ymm0,ymm0,ymm7
    6347         vpor    ymm10,ymm10,ymm9
    6348         vpor    ymm2,ymm2,ymm6
    6349         vmovdqa ymm15,YMMWORD[32+rbp]
    6350         vpxor   ymm11,ymm11,ymm13
    6351         vmovdqa ymm13,YMMWORD[((352-256-128))+rbx]
    6352 
    6353         vpaddd  ymm4,ymm4,ymm15
    6354         vpslld  ymm7,ymm0,5
    6355         vpand   ymm6,ymm3,ymm2
    6356         vpxor   ymm11,ymm11,YMMWORD[((32-128))+rax]
    6357 
    6358         vpaddd  ymm4,ymm4,ymm6
    6359         vpsrld  ymm8,ymm0,27
    6360         vpxor   ymm5,ymm3,ymm2
    6361         vpxor   ymm11,ymm11,ymm13
    6362 
    6363         vmovdqu YMMWORD[(256-256-128)+rbx],ymm10
    6364         vpaddd  ymm4,ymm4,ymm10
    6365         vpor    ymm7,ymm7,ymm8
    6366         vpsrld  ymm9,ymm11,31
    6367         vpand   ymm5,ymm5,ymm1
    6368         vpaddd  ymm11,ymm11,ymm11
    6369 
    6370         vpslld  ymm6,ymm1,30
    6371         vpaddd  ymm4,ymm4,ymm5
    6372 
    6373         vpsrld  ymm1,ymm1,2
    6374         vpaddd  ymm4,ymm4,ymm7
    6375         vpor    ymm11,ymm11,ymm9
    6376         vpor    ymm1,ymm1,ymm6
    6377         vpxor   ymm12,ymm12,ymm14
    6378         vmovdqa ymm14,YMMWORD[((384-256-128))+rbx]
    6379 
    6380         vpaddd  ymm3,ymm3,ymm15
    6381         vpslld  ymm7,ymm4,5
    6382         vpand   ymm6,ymm2,ymm1
    6383         vpxor   ymm12,ymm12,YMMWORD[((64-128))+rax]
    6384 
    6385         vpaddd  ymm3,ymm3,ymm6
    6386         vpsrld  ymm8,ymm4,27
    6387         vpxor   ymm5,ymm2,ymm1
    6388         vpxor   ymm12,ymm12,ymm14
    6389 
    6390         vmovdqu YMMWORD[(288-256-128)+rbx],ymm11
    6391         vpaddd  ymm3,ymm3,ymm11
    6392         vpor    ymm7,ymm7,ymm8
    6393         vpsrld  ymm9,ymm12,31
    6394         vpand   ymm5,ymm5,ymm0
    6395         vpaddd  ymm12,ymm12,ymm12
    6396 
    6397         vpslld  ymm6,ymm0,30
    6398         vpaddd  ymm3,ymm3,ymm5
    6399 
    6400         vpsrld  ymm0,ymm0,2
    6401         vpaddd  ymm3,ymm3,ymm7
    6402         vpor    ymm12,ymm12,ymm9
    6403         vpor    ymm0,ymm0,ymm6
    6404         vpxor   ymm13,ymm13,ymm10
    6405         vmovdqa ymm10,YMMWORD[((416-256-128))+rbx]
    6406 
    6407         vpaddd  ymm2,ymm2,ymm15
    6408         vpslld  ymm7,ymm3,5
    6409         vpand   ymm6,ymm1,ymm0
    6410         vpxor   ymm13,ymm13,YMMWORD[((96-128))+rax]
    6411 
    6412         vpaddd  ymm2,ymm2,ymm6
    6413         vpsrld  ymm8,ymm3,27
    6414         vpxor   ymm5,ymm1,ymm0
    6415         vpxor   ymm13,ymm13,ymm10
    6416 
    6417         vmovdqu YMMWORD[(320-256-128)+rbx],ymm12
    6418         vpaddd  ymm2,ymm2,ymm12
    6419         vpor    ymm7,ymm7,ymm8
    6420         vpsrld  ymm9,ymm13,31
    6421         vpand   ymm5,ymm5,ymm4
    6422         vpaddd  ymm13,ymm13,ymm13
    6423 
    6424         vpslld  ymm6,ymm4,30
    6425         vpaddd  ymm2,ymm2,ymm5
    6426 
    6427         vpsrld  ymm4,ymm4,2
    6428         vpaddd  ymm2,ymm2,ymm7
    6429         vpor    ymm13,ymm13,ymm9
    6430         vpor    ymm4,ymm4,ymm6
    6431         vpxor   ymm14,ymm14,ymm11
    6432         vmovdqa ymm11,YMMWORD[((448-256-128))+rbx]
    6433 
    6434         vpaddd  ymm1,ymm1,ymm15
    6435         vpslld  ymm7,ymm2,5
    6436         vpand   ymm6,ymm0,ymm4
    6437         vpxor   ymm14,ymm14,YMMWORD[((128-128))+rax]
    6438 
    6439         vpaddd  ymm1,ymm1,ymm6
    6440         vpsrld  ymm8,ymm2,27
    6441         vpxor   ymm5,ymm0,ymm4
    6442         vpxor   ymm14,ymm14,ymm11
    6443 
    6444         vmovdqu YMMWORD[(352-256-128)+rbx],ymm13
    6445         vpaddd  ymm1,ymm1,ymm13
    6446         vpor    ymm7,ymm7,ymm8
    6447         vpsrld  ymm9,ymm14,31
    6448         vpand   ymm5,ymm5,ymm3
    6449         vpaddd  ymm14,ymm14,ymm14
    6450 
    6451         vpslld  ymm6,ymm3,30
    6452         vpaddd  ymm1,ymm1,ymm5
    6453 
    6454         vpsrld  ymm3,ymm3,2
    6455         vpaddd  ymm1,ymm1,ymm7
    6456         vpor    ymm14,ymm14,ymm9
    6457         vpor    ymm3,ymm3,ymm6
    6458         vpxor   ymm10,ymm10,ymm12
    6459         vmovdqa ymm12,YMMWORD[((480-256-128))+rbx]
    6460 
    6461         vpaddd  ymm0,ymm0,ymm15
    6462         vpslld  ymm7,ymm1,5
    6463         vpand   ymm6,ymm4,ymm3
    6464         vpxor   ymm10,ymm10,YMMWORD[((160-128))+rax]
    6465 
    6466         vpaddd  ymm0,ymm0,ymm6
    6467         vpsrld  ymm8,ymm1,27
    6468         vpxor   ymm5,ymm4,ymm3
    6469         vpxor   ymm10,ymm10,ymm12
    6470 
    6471         vmovdqu YMMWORD[(384-256-128)+rbx],ymm14
    6472         vpaddd  ymm0,ymm0,ymm14
    6473         vpor    ymm7,ymm7,ymm8
    6474         vpsrld  ymm9,ymm10,31
    6475         vpand   ymm5,ymm5,ymm2
    6476         vpaddd  ymm10,ymm10,ymm10
    6477 
    6478         vpslld  ymm6,ymm2,30
    6479         vpaddd  ymm0,ymm0,ymm5
    6480 
    6481         vpsrld  ymm2,ymm2,2
    6482         vpaddd  ymm0,ymm0,ymm7
    6483         vpor    ymm10,ymm10,ymm9
    6484         vpor    ymm2,ymm2,ymm6
    6485         vpxor   ymm11,ymm11,ymm13
    6486         vmovdqa ymm13,YMMWORD[((0-128))+rax]
    6487 
    6488         vpaddd  ymm4,ymm4,ymm15
    6489         vpslld  ymm7,ymm0,5
    6490         vpand   ymm6,ymm3,ymm2
    6491         vpxor   ymm11,ymm11,YMMWORD[((192-128))+rax]
    6492 
    6493         vpaddd  ymm4,ymm4,ymm6
    6494         vpsrld  ymm8,ymm0,27
    6495         vpxor   ymm5,ymm3,ymm2
    6496         vpxor   ymm11,ymm11,ymm13
    6497 
    6498         vmovdqu YMMWORD[(416-256-128)+rbx],ymm10
    6499         vpaddd  ymm4,ymm4,ymm10
    6500         vpor    ymm7,ymm7,ymm8
    6501         vpsrld  ymm9,ymm11,31
    6502         vpand   ymm5,ymm5,ymm1
    6503         vpaddd  ymm11,ymm11,ymm11
    6504 
    6505         vpslld  ymm6,ymm1,30
    6506         vpaddd  ymm4,ymm4,ymm5
    6507 
    6508         vpsrld  ymm1,ymm1,2
    6509         vpaddd  ymm4,ymm4,ymm7
    6510         vpor    ymm11,ymm11,ymm9
    6511         vpor    ymm1,ymm1,ymm6
    6512         vpxor   ymm12,ymm12,ymm14
    6513         vmovdqa ymm14,YMMWORD[((32-128))+rax]
    6514 
    6515         vpaddd  ymm3,ymm3,ymm15
    6516         vpslld  ymm7,ymm4,5
    6517         vpand   ymm6,ymm2,ymm1
    6518         vpxor   ymm12,ymm12,YMMWORD[((224-128))+rax]
    6519 
    6520         vpaddd  ymm3,ymm3,ymm6
    6521         vpsrld  ymm8,ymm4,27
    6522         vpxor   ymm5,ymm2,ymm1
    6523         vpxor   ymm12,ymm12,ymm14
    6524 
    6525         vmovdqu YMMWORD[(448-256-128)+rbx],ymm11
    6526         vpaddd  ymm3,ymm3,ymm11
    6527         vpor    ymm7,ymm7,ymm8
    6528         vpsrld  ymm9,ymm12,31
    6529         vpand   ymm5,ymm5,ymm0
    6530         vpaddd  ymm12,ymm12,ymm12
    6531 
    6532         vpslld  ymm6,ymm0,30
    6533         vpaddd  ymm3,ymm3,ymm5
    6534 
    6535         vpsrld  ymm0,ymm0,2
    6536         vpaddd  ymm3,ymm3,ymm7
    6537         vpor    ymm12,ymm12,ymm9
    6538         vpor    ymm0,ymm0,ymm6
    6539         vpxor   ymm13,ymm13,ymm10
    6540         vmovdqa ymm10,YMMWORD[((64-128))+rax]
    6541 
    6542         vpaddd  ymm2,ymm2,ymm15
    6543         vpslld  ymm7,ymm3,5
    6544         vpand   ymm6,ymm1,ymm0
    6545         vpxor   ymm13,ymm13,YMMWORD[((256-256-128))+rbx]
    6546 
    6547         vpaddd  ymm2,ymm2,ymm6
    6548         vpsrld  ymm8,ymm3,27
    6549         vpxor   ymm5,ymm1,ymm0
    6550         vpxor   ymm13,ymm13,ymm10
    6551 
    6552         vmovdqu YMMWORD[(480-256-128)+rbx],ymm12
    6553         vpaddd  ymm2,ymm2,ymm12
    6554         vpor    ymm7,ymm7,ymm8
    6555         vpsrld  ymm9,ymm13,31
    6556         vpand   ymm5,ymm5,ymm4
    6557         vpaddd  ymm13,ymm13,ymm13
    6558 
    6559         vpslld  ymm6,ymm4,30
    6560         vpaddd  ymm2,ymm2,ymm5
    6561 
    6562         vpsrld  ymm4,ymm4,2
    6563         vpaddd  ymm2,ymm2,ymm7
    6564         vpor    ymm13,ymm13,ymm9
    6565         vpor    ymm4,ymm4,ymm6
    6566         vpxor   ymm14,ymm14,ymm11
    6567         vmovdqa ymm11,YMMWORD[((96-128))+rax]
    6568 
    6569         vpaddd  ymm1,ymm1,ymm15
    6570         vpslld  ymm7,ymm2,5
    6571         vpand   ymm6,ymm0,ymm4
    6572         vpxor   ymm14,ymm14,YMMWORD[((288-256-128))+rbx]
    6573 
    6574         vpaddd  ymm1,ymm1,ymm6
    6575         vpsrld  ymm8,ymm2,27
    6576         vpxor   ymm5,ymm0,ymm4
    6577         vpxor   ymm14,ymm14,ymm11
    6578 
    6579         vmovdqu YMMWORD[(0-128)+rax],ymm13
    6580         vpaddd  ymm1,ymm1,ymm13
    6581         vpor    ymm7,ymm7,ymm8
    6582         vpsrld  ymm9,ymm14,31
    6583         vpand   ymm5,ymm5,ymm3
    6584         vpaddd  ymm14,ymm14,ymm14
    6585 
    6586         vpslld  ymm6,ymm3,30
    6587         vpaddd  ymm1,ymm1,ymm5
    6588 
    6589         vpsrld  ymm3,ymm3,2
    6590         vpaddd  ymm1,ymm1,ymm7
    6591         vpor    ymm14,ymm14,ymm9
    6592         vpor    ymm3,ymm3,ymm6
    6593         vpxor   ymm10,ymm10,ymm12
    6594         vmovdqa ymm12,YMMWORD[((128-128))+rax]
    6595 
    6596         vpaddd  ymm0,ymm0,ymm15
    6597         vpslld  ymm7,ymm1,5
    6598         vpand   ymm6,ymm4,ymm3
    6599         vpxor   ymm10,ymm10,YMMWORD[((320-256-128))+rbx]
    6600 
    6601         vpaddd  ymm0,ymm0,ymm6
    6602         vpsrld  ymm8,ymm1,27
    6603         vpxor   ymm5,ymm4,ymm3
    6604         vpxor   ymm10,ymm10,ymm12
    6605 
    6606         vmovdqu YMMWORD[(32-128)+rax],ymm14
    6607         vpaddd  ymm0,ymm0,ymm14
    6608         vpor    ymm7,ymm7,ymm8
    6609         vpsrld  ymm9,ymm10,31
    6610         vpand   ymm5,ymm5,ymm2
    6611         vpaddd  ymm10,ymm10,ymm10
    6612 
    6613         vpslld  ymm6,ymm2,30
    6614         vpaddd  ymm0,ymm0,ymm5
    6615 
    6616         vpsrld  ymm2,ymm2,2
    6617         vpaddd  ymm0,ymm0,ymm7
    6618         vpor    ymm10,ymm10,ymm9
    6619         vpor    ymm2,ymm2,ymm6
    6620         vpxor   ymm11,ymm11,ymm13
    6621         vmovdqa ymm13,YMMWORD[((160-128))+rax]
    6622 
    6623         vpaddd  ymm4,ymm4,ymm15
    6624         vpslld  ymm7,ymm0,5
    6625         vpand   ymm6,ymm3,ymm2
    6626         vpxor   ymm11,ymm11,YMMWORD[((352-256-128))+rbx]
    6627 
    6628         vpaddd  ymm4,ymm4,ymm6
    6629         vpsrld  ymm8,ymm0,27
    6630         vpxor   ymm5,ymm3,ymm2
    6631         vpxor   ymm11,ymm11,ymm13
    6632 
    6633         vmovdqu YMMWORD[(64-128)+rax],ymm10
    6634         vpaddd  ymm4,ymm4,ymm10
    6635         vpor    ymm7,ymm7,ymm8
    6636         vpsrld  ymm9,ymm11,31
    6637         vpand   ymm5,ymm5,ymm1
    6638         vpaddd  ymm11,ymm11,ymm11
    6639 
    6640         vpslld  ymm6,ymm1,30
    6641         vpaddd  ymm4,ymm4,ymm5
    6642 
    6643         vpsrld  ymm1,ymm1,2
    6644         vpaddd  ymm4,ymm4,ymm7
    6645         vpor    ymm11,ymm11,ymm9
    6646         vpor    ymm1,ymm1,ymm6
    6647         vpxor   ymm12,ymm12,ymm14
    6648         vmovdqa ymm14,YMMWORD[((192-128))+rax]
    6649 
    6650         vpaddd  ymm3,ymm3,ymm15
    6651         vpslld  ymm7,ymm4,5
    6652         vpand   ymm6,ymm2,ymm1
    6653         vpxor   ymm12,ymm12,YMMWORD[((384-256-128))+rbx]
    6654 
    6655         vpaddd  ymm3,ymm3,ymm6
    6656         vpsrld  ymm8,ymm4,27
    6657         vpxor   ymm5,ymm2,ymm1
    6658         vpxor   ymm12,ymm12,ymm14
    6659 
    6660         vmovdqu YMMWORD[(96-128)+rax],ymm11
    6661         vpaddd  ymm3,ymm3,ymm11
    6662         vpor    ymm7,ymm7,ymm8
    6663         vpsrld  ymm9,ymm12,31
    6664         vpand   ymm5,ymm5,ymm0
    6665         vpaddd  ymm12,ymm12,ymm12
    6666 
    6667         vpslld  ymm6,ymm0,30
    6668         vpaddd  ymm3,ymm3,ymm5
    6669 
    6670         vpsrld  ymm0,ymm0,2
    6671         vpaddd  ymm3,ymm3,ymm7
    6672         vpor    ymm12,ymm12,ymm9
    6673         vpor    ymm0,ymm0,ymm6
    6674         vpxor   ymm13,ymm13,ymm10
    6675         vmovdqa ymm10,YMMWORD[((224-128))+rax]
    6676 
    6677         vpaddd  ymm2,ymm2,ymm15
    6678         vpslld  ymm7,ymm3,5
    6679         vpand   ymm6,ymm1,ymm0
    6680         vpxor   ymm13,ymm13,YMMWORD[((416-256-128))+rbx]
    6681 
    6682         vpaddd  ymm2,ymm2,ymm6
    6683         vpsrld  ymm8,ymm3,27
    6684         vpxor   ymm5,ymm1,ymm0
    6685         vpxor   ymm13,ymm13,ymm10
    6686 
    6687         vmovdqu YMMWORD[(128-128)+rax],ymm12
    6688         vpaddd  ymm2,ymm2,ymm12
    6689         vpor    ymm7,ymm7,ymm8
    6690         vpsrld  ymm9,ymm13,31
    6691         vpand   ymm5,ymm5,ymm4
    6692         vpaddd  ymm13,ymm13,ymm13
    6693 
    6694         vpslld  ymm6,ymm4,30
    6695         vpaddd  ymm2,ymm2,ymm5
    6696 
    6697         vpsrld  ymm4,ymm4,2
    6698         vpaddd  ymm2,ymm2,ymm7
    6699         vpor    ymm13,ymm13,ymm9
    6700         vpor    ymm4,ymm4,ymm6
    6701         vpxor   ymm14,ymm14,ymm11
    6702         vmovdqa ymm11,YMMWORD[((256-256-128))+rbx]
    6703 
    6704         vpaddd  ymm1,ymm1,ymm15
    6705         vpslld  ymm7,ymm2,5
    6706         vpand   ymm6,ymm0,ymm4
    6707         vpxor   ymm14,ymm14,YMMWORD[((448-256-128))+rbx]
    6708 
    6709         vpaddd  ymm1,ymm1,ymm6
    6710         vpsrld  ymm8,ymm2,27
    6711         vpxor   ymm5,ymm0,ymm4
    6712         vpxor   ymm14,ymm14,ymm11
    6713 
    6714         vmovdqu YMMWORD[(160-128)+rax],ymm13
    6715         vpaddd  ymm1,ymm1,ymm13
    6716         vpor    ymm7,ymm7,ymm8
    6717         vpsrld  ymm9,ymm14,31
    6718         vpand   ymm5,ymm5,ymm3
    6719         vpaddd  ymm14,ymm14,ymm14
    6720 
    6721         vpslld  ymm6,ymm3,30
    6722         vpaddd  ymm1,ymm1,ymm5
    6723 
    6724         vpsrld  ymm3,ymm3,2
    6725         vpaddd  ymm1,ymm1,ymm7
    6726         vpor    ymm14,ymm14,ymm9
    6727         vpor    ymm3,ymm3,ymm6
    6728         vpxor   ymm10,ymm10,ymm12
    6729         vmovdqa ymm12,YMMWORD[((288-256-128))+rbx]
    6730 
    6731         vpaddd  ymm0,ymm0,ymm15
    6732         vpslld  ymm7,ymm1,5
    6733         vpand   ymm6,ymm4,ymm3
    6734         vpxor   ymm10,ymm10,YMMWORD[((480-256-128))+rbx]
    6735 
    6736         vpaddd  ymm0,ymm0,ymm6
    6737         vpsrld  ymm8,ymm1,27
    6738         vpxor   ymm5,ymm4,ymm3
    6739         vpxor   ymm10,ymm10,ymm12
    6740 
    6741         vmovdqu YMMWORD[(192-128)+rax],ymm14
    6742         vpaddd  ymm0,ymm0,ymm14
    6743         vpor    ymm7,ymm7,ymm8
    6744         vpsrld  ymm9,ymm10,31
    6745         vpand   ymm5,ymm5,ymm2
    6746         vpaddd  ymm10,ymm10,ymm10
    6747 
    6748         vpslld  ymm6,ymm2,30
    6749         vpaddd  ymm0,ymm0,ymm5
    6750 
    6751         vpsrld  ymm2,ymm2,2
    6752         vpaddd  ymm0,ymm0,ymm7
    6753         vpor    ymm10,ymm10,ymm9
    6754         vpor    ymm2,ymm2,ymm6
    6755         vpxor   ymm11,ymm11,ymm13
    6756         vmovdqa ymm13,YMMWORD[((320-256-128))+rbx]
    6757 
    6758         vpaddd  ymm4,ymm4,ymm15
    6759         vpslld  ymm7,ymm0,5
    6760         vpand   ymm6,ymm3,ymm2
    6761         vpxor   ymm11,ymm11,YMMWORD[((0-128))+rax]
    6762 
    6763         vpaddd  ymm4,ymm4,ymm6
    6764         vpsrld  ymm8,ymm0,27
    6765         vpxor   ymm5,ymm3,ymm2
    6766         vpxor   ymm11,ymm11,ymm13
    6767 
    6768         vmovdqu YMMWORD[(224-128)+rax],ymm10
    6769         vpaddd  ymm4,ymm4,ymm10
    6770         vpor    ymm7,ymm7,ymm8
    6771         vpsrld  ymm9,ymm11,31
    6772         vpand   ymm5,ymm5,ymm1
    6773         vpaddd  ymm11,ymm11,ymm11
    6774 
    6775         vpslld  ymm6,ymm1,30
    6776         vpaddd  ymm4,ymm4,ymm5
    6777 
    6778         vpsrld  ymm1,ymm1,2
    6779         vpaddd  ymm4,ymm4,ymm7
    6780         vpor    ymm11,ymm11,ymm9
    6781         vpor    ymm1,ymm1,ymm6
    6782         vpxor   ymm12,ymm12,ymm14
    6783         vmovdqa ymm14,YMMWORD[((352-256-128))+rbx]
    6784 
    6785         vpaddd  ymm3,ymm3,ymm15
    6786         vpslld  ymm7,ymm4,5
    6787         vpand   ymm6,ymm2,ymm1
    6788         vpxor   ymm12,ymm12,YMMWORD[((32-128))+rax]
    6789 
    6790         vpaddd  ymm3,ymm3,ymm6
    6791         vpsrld  ymm8,ymm4,27
    6792         vpxor   ymm5,ymm2,ymm1
    6793         vpxor   ymm12,ymm12,ymm14
    6794 
    6795         vmovdqu YMMWORD[(256-256-128)+rbx],ymm11
    6796         vpaddd  ymm3,ymm3,ymm11
    6797         vpor    ymm7,ymm7,ymm8
    6798         vpsrld  ymm9,ymm12,31
    6799         vpand   ymm5,ymm5,ymm0
    6800         vpaddd  ymm12,ymm12,ymm12
    6801 
    6802         vpslld  ymm6,ymm0,30
    6803         vpaddd  ymm3,ymm3,ymm5
    6804 
    6805         vpsrld  ymm0,ymm0,2
    6806         vpaddd  ymm3,ymm3,ymm7
    6807         vpor    ymm12,ymm12,ymm9
    6808         vpor    ymm0,ymm0,ymm6
    6809         vpxor   ymm13,ymm13,ymm10
    6810         vmovdqa ymm10,YMMWORD[((384-256-128))+rbx]
    6811 
    6812         vpaddd  ymm2,ymm2,ymm15
    6813         vpslld  ymm7,ymm3,5
    6814         vpand   ymm6,ymm1,ymm0
    6815         vpxor   ymm13,ymm13,YMMWORD[((64-128))+rax]
    6816 
    6817         vpaddd  ymm2,ymm2,ymm6
    6818         vpsrld  ymm8,ymm3,27
    6819         vpxor   ymm5,ymm1,ymm0
    6820         vpxor   ymm13,ymm13,ymm10
    6821 
    6822         vmovdqu YMMWORD[(288-256-128)+rbx],ymm12
    6823         vpaddd  ymm2,ymm2,ymm12
    6824         vpor    ymm7,ymm7,ymm8
    6825         vpsrld  ymm9,ymm13,31
    6826         vpand   ymm5,ymm5,ymm4
    6827         vpaddd  ymm13,ymm13,ymm13
    6828 
    6829         vpslld  ymm6,ymm4,30
    6830         vpaddd  ymm2,ymm2,ymm5
    6831 
    6832         vpsrld  ymm4,ymm4,2
    6833         vpaddd  ymm2,ymm2,ymm7
    6834         vpor    ymm13,ymm13,ymm9
    6835         vpor    ymm4,ymm4,ymm6
    6836         vpxor   ymm14,ymm14,ymm11
    6837         vmovdqa ymm11,YMMWORD[((416-256-128))+rbx]
    6838 
    6839         vpaddd  ymm1,ymm1,ymm15
    6840         vpslld  ymm7,ymm2,5
    6841         vpand   ymm6,ymm0,ymm4
    6842         vpxor   ymm14,ymm14,YMMWORD[((96-128))+rax]
    6843 
    6844         vpaddd  ymm1,ymm1,ymm6
    6845         vpsrld  ymm8,ymm2,27
    6846         vpxor   ymm5,ymm0,ymm4
    6847         vpxor   ymm14,ymm14,ymm11
    6848 
    6849         vmovdqu YMMWORD[(320-256-128)+rbx],ymm13
    6850         vpaddd  ymm1,ymm1,ymm13
    6851         vpor    ymm7,ymm7,ymm8
    6852         vpsrld  ymm9,ymm14,31
    6853         vpand   ymm5,ymm5,ymm3
    6854         vpaddd  ymm14,ymm14,ymm14
    6855 
    6856         vpslld  ymm6,ymm3,30
    6857         vpaddd  ymm1,ymm1,ymm5
    6858 
    6859         vpsrld  ymm3,ymm3,2
    6860         vpaddd  ymm1,ymm1,ymm7
    6861         vpor    ymm14,ymm14,ymm9
    6862         vpor    ymm3,ymm3,ymm6
    6863         vpxor   ymm10,ymm10,ymm12
    6864         vmovdqa ymm12,YMMWORD[((448-256-128))+rbx]
    6865 
    6866         vpaddd  ymm0,ymm0,ymm15
    6867         vpslld  ymm7,ymm1,5
    6868         vpand   ymm6,ymm4,ymm3
    6869         vpxor   ymm10,ymm10,YMMWORD[((128-128))+rax]
    6870 
    6871         vpaddd  ymm0,ymm0,ymm6
    6872         vpsrld  ymm8,ymm1,27
    6873         vpxor   ymm5,ymm4,ymm3
    6874         vpxor   ymm10,ymm10,ymm12
    6875 
    6876         vmovdqu YMMWORD[(352-256-128)+rbx],ymm14
    6877         vpaddd  ymm0,ymm0,ymm14
    6878         vpor    ymm7,ymm7,ymm8
    6879         vpsrld  ymm9,ymm10,31
    6880         vpand   ymm5,ymm5,ymm2
    6881         vpaddd  ymm10,ymm10,ymm10
    6882 
    6883         vpslld  ymm6,ymm2,30
    6884         vpaddd  ymm0,ymm0,ymm5
    6885 
    6886         vpsrld  ymm2,ymm2,2
    6887         vpaddd  ymm0,ymm0,ymm7
    6888         vpor    ymm10,ymm10,ymm9
    6889         vpor    ymm2,ymm2,ymm6
    6890         vmovdqa ymm15,YMMWORD[64+rbp]
    6891         vpxor   ymm11,ymm11,ymm13
    6892         vmovdqa ymm13,YMMWORD[((480-256-128))+rbx]
    6893 
    6894         vpslld  ymm7,ymm0,5
    6895         vpaddd  ymm4,ymm4,ymm15
    6896         vpxor   ymm5,ymm3,ymm1
    6897         vmovdqa YMMWORD[(384-256-128)+rbx],ymm10
    6898         vpaddd  ymm4,ymm4,ymm10
    6899         vpxor   ymm11,ymm11,YMMWORD[((160-128))+rax]
    6900         vpsrld  ymm8,ymm0,27
    6901         vpxor   ymm5,ymm5,ymm2
    6902         vpxor   ymm11,ymm11,ymm13
    6903 
    6904         vpslld  ymm6,ymm1,30
    6905         vpor    ymm7,ymm7,ymm8
    6906         vpaddd  ymm4,ymm4,ymm5
    6907         vpsrld  ymm9,ymm11,31
    6908         vpaddd  ymm11,ymm11,ymm11
    6909 
    6910         vpsrld  ymm1,ymm1,2
    6911         vpaddd  ymm4,ymm4,ymm7
    6912         vpor    ymm11,ymm11,ymm9
    6913         vpor    ymm1,ymm1,ymm6
    6914         vpxor   ymm12,ymm12,ymm14
    6915         vmovdqa ymm14,YMMWORD[((0-128))+rax]
    6916 
    6917         vpslld  ymm7,ymm4,5
    6918         vpaddd  ymm3,ymm3,ymm15
    6919         vpxor   ymm5,ymm2,ymm0
    6920         vmovdqa YMMWORD[(416-256-128)+rbx],ymm11
    6921         vpaddd  ymm3,ymm3,ymm11
    6922         vpxor   ymm12,ymm12,YMMWORD[((192-128))+rax]
    6923         vpsrld  ymm8,ymm4,27
    6924         vpxor   ymm5,ymm5,ymm1
    6925         vpxor   ymm12,ymm12,ymm14
    6926 
    6927         vpslld  ymm6,ymm0,30
    6928         vpor    ymm7,ymm7,ymm8
    6929         vpaddd  ymm3,ymm3,ymm5
    6930         vpsrld  ymm9,ymm12,31
    6931         vpaddd  ymm12,ymm12,ymm12
    6932 
    6933         vpsrld  ymm0,ymm0,2
    6934         vpaddd  ymm3,ymm3,ymm7
    6935         vpor    ymm12,ymm12,ymm9
    6936         vpor    ymm0,ymm0,ymm6
    6937         vpxor   ymm13,ymm13,ymm10
    6938         vmovdqa ymm10,YMMWORD[((32-128))+rax]
    6939 
    6940         vpslld  ymm7,ymm3,5
    6941         vpaddd  ymm2,ymm2,ymm15
    6942         vpxor   ymm5,ymm1,ymm4
    6943         vmovdqa YMMWORD[(448-256-128)+rbx],ymm12
    6944         vpaddd  ymm2,ymm2,ymm12
    6945         vpxor   ymm13,ymm13,YMMWORD[((224-128))+rax]
    6946         vpsrld  ymm8,ymm3,27
    6947         vpxor   ymm5,ymm5,ymm0
    6948         vpxor   ymm13,ymm13,ymm10
    6949 
    6950         vpslld  ymm6,ymm4,30
    6951         vpor    ymm7,ymm7,ymm8
    6952         vpaddd  ymm2,ymm2,ymm5
    6953         vpsrld  ymm9,ymm13,31
    6954         vpaddd  ymm13,ymm13,ymm13
    6955 
    6956         vpsrld  ymm4,ymm4,2
    6957         vpaddd  ymm2,ymm2,ymm7
    6958         vpor    ymm13,ymm13,ymm9
    6959         vpor    ymm4,ymm4,ymm6
    6960         vpxor   ymm14,ymm14,ymm11
    6961         vmovdqa ymm11,YMMWORD[((64-128))+rax]
    6962 
    6963         vpslld  ymm7,ymm2,5
    6964         vpaddd  ymm1,ymm1,ymm15
    6965         vpxor   ymm5,ymm0,ymm3
    6966         vmovdqa YMMWORD[(480-256-128)+rbx],ymm13
    6967         vpaddd  ymm1,ymm1,ymm13
    6968         vpxor   ymm14,ymm14,YMMWORD[((256-256-128))+rbx]
    6969         vpsrld  ymm8,ymm2,27
    6970         vpxor   ymm5,ymm5,ymm4
    6971         vpxor   ymm14,ymm14,ymm11
    6972 
    6973         vpslld  ymm6,ymm3,30
    6974         vpor    ymm7,ymm7,ymm8
    6975         vpaddd  ymm1,ymm1,ymm5
    6976         vpsrld  ymm9,ymm14,31
    6977         vpaddd  ymm14,ymm14,ymm14
    6978 
    6979         vpsrld  ymm3,ymm3,2
    6980         vpaddd  ymm1,ymm1,ymm7
    6981         vpor    ymm14,ymm14,ymm9
    6982         vpor    ymm3,ymm3,ymm6
    6983         vpxor   ymm10,ymm10,ymm12
    6984         vmovdqa ymm12,YMMWORD[((96-128))+rax]
    6985 
    6986         vpslld  ymm7,ymm1,5
    6987         vpaddd  ymm0,ymm0,ymm15
    6988         vpxor   ymm5,ymm4,ymm2
    6989         vmovdqa YMMWORD[(0-128)+rax],ymm14
    6990         vpaddd  ymm0,ymm0,ymm14
    6991         vpxor   ymm10,ymm10,YMMWORD[((288-256-128))+rbx]
    6992         vpsrld  ymm8,ymm1,27
    6993         vpxor   ymm5,ymm5,ymm3
    6994         vpxor   ymm10,ymm10,ymm12
    6995 
    6996         vpslld  ymm6,ymm2,30
    6997         vpor    ymm7,ymm7,ymm8
    6998         vpaddd  ymm0,ymm0,ymm5
    6999         vpsrld  ymm9,ymm10,31
    7000         vpaddd  ymm10,ymm10,ymm10
    7001 
    7002         vpsrld  ymm2,ymm2,2
    7003         vpaddd  ymm0,ymm0,ymm7
    7004         vpor    ymm10,ymm10,ymm9
    7005         vpor    ymm2,ymm2,ymm6
    7006         vpxor   ymm11,ymm11,ymm13
    7007         vmovdqa ymm13,YMMWORD[((128-128))+rax]
    7008 
    7009         vpslld  ymm7,ymm0,5
    7010         vpaddd  ymm4,ymm4,ymm15
    7011         vpxor   ymm5,ymm3,ymm1
    7012         vmovdqa YMMWORD[(32-128)+rax],ymm10
    7013         vpaddd  ymm4,ymm4,ymm10
    7014         vpxor   ymm11,ymm11,YMMWORD[((320-256-128))+rbx]
    7015         vpsrld  ymm8,ymm0,27
    7016         vpxor   ymm5,ymm5,ymm2
    7017         vpxor   ymm11,ymm11,ymm13
    7018 
    7019         vpslld  ymm6,ymm1,30
    7020         vpor    ymm7,ymm7,ymm8
    7021         vpaddd  ymm4,ymm4,ymm5
    7022         vpsrld  ymm9,ymm11,31
    7023         vpaddd  ymm11,ymm11,ymm11
    7024 
    7025         vpsrld  ymm1,ymm1,2
    7026         vpaddd  ymm4,ymm4,ymm7
    7027         vpor    ymm11,ymm11,ymm9
    7028         vpor    ymm1,ymm1,ymm6
    7029         vpxor   ymm12,ymm12,ymm14
    7030         vmovdqa ymm14,YMMWORD[((160-128))+rax]
    7031 
    7032         vpslld  ymm7,ymm4,5
    7033         vpaddd  ymm3,ymm3,ymm15
    7034         vpxor   ymm5,ymm2,ymm0
    7035         vmovdqa YMMWORD[(64-128)+rax],ymm11
    7036         vpaddd  ymm3,ymm3,ymm11
    7037         vpxor   ymm12,ymm12,YMMWORD[((352-256-128))+rbx]
    7038         vpsrld  ymm8,ymm4,27
    7039         vpxor   ymm5,ymm5,ymm1
    7040         vpxor   ymm12,ymm12,ymm14
    7041 
    7042         vpslld  ymm6,ymm0,30
    7043         vpor    ymm7,ymm7,ymm8
    7044         vpaddd  ymm3,ymm3,ymm5
    7045         vpsrld  ymm9,ymm12,31
    7046         vpaddd  ymm12,ymm12,ymm12
    7047 
    7048         vpsrld  ymm0,ymm0,2
    7049         vpaddd  ymm3,ymm3,ymm7
    7050         vpor    ymm12,ymm12,ymm9
    7051         vpor    ymm0,ymm0,ymm6
    7052         vpxor   ymm13,ymm13,ymm10
    7053         vmovdqa ymm10,YMMWORD[((192-128))+rax]
    7054 
    7055         vpslld  ymm7,ymm3,5
    7056         vpaddd  ymm2,ymm2,ymm15
    7057         vpxor   ymm5,ymm1,ymm4
    7058         vmovdqa YMMWORD[(96-128)+rax],ymm12
    7059         vpaddd  ymm2,ymm2,ymm12
    7060         vpxor   ymm13,ymm13,YMMWORD[((384-256-128))+rbx]
    7061         vpsrld  ymm8,ymm3,27
    7062         vpxor   ymm5,ymm5,ymm0
    7063         vpxor   ymm13,ymm13,ymm10
    7064 
    7065         vpslld  ymm6,ymm4,30
    7066         vpor    ymm7,ymm7,ymm8
    7067         vpaddd  ymm2,ymm2,ymm5
    7068         vpsrld  ymm9,ymm13,31
    7069         vpaddd  ymm13,ymm13,ymm13
    7070 
    7071         vpsrld  ymm4,ymm4,2
    7072         vpaddd  ymm2,ymm2,ymm7
    7073         vpor    ymm13,ymm13,ymm9
    7074         vpor    ymm4,ymm4,ymm6
    7075         vpxor   ymm14,ymm14,ymm11
    7076         vmovdqa ymm11,YMMWORD[((224-128))+rax]
    7077 
    7078         vpslld  ymm7,ymm2,5
    7079         vpaddd  ymm1,ymm1,ymm15
    7080         vpxor   ymm5,ymm0,ymm3
    7081         vmovdqa YMMWORD[(128-128)+rax],ymm13
    7082         vpaddd  ymm1,ymm1,ymm13
    7083         vpxor   ymm14,ymm14,YMMWORD[((416-256-128))+rbx]
    7084         vpsrld  ymm8,ymm2,27
    7085         vpxor   ymm5,ymm5,ymm4
    7086         vpxor   ymm14,ymm14,ymm11
    7087 
    7088         vpslld  ymm6,ymm3,30
    7089         vpor    ymm7,ymm7,ymm8
    7090         vpaddd  ymm1,ymm1,ymm5
    7091         vpsrld  ymm9,ymm14,31
    7092         vpaddd  ymm14,ymm14,ymm14
    7093 
    7094         vpsrld  ymm3,ymm3,2
    7095         vpaddd  ymm1,ymm1,ymm7
    7096         vpor    ymm14,ymm14,ymm9
    7097         vpor    ymm3,ymm3,ymm6
    7098         vpxor   ymm10,ymm10,ymm12
    7099         vmovdqa ymm12,YMMWORD[((256-256-128))+rbx]
    7100 
    7101         vpslld  ymm7,ymm1,5
    7102         vpaddd  ymm0,ymm0,ymm15
    7103         vpxor   ymm5,ymm4,ymm2
    7104         vmovdqa YMMWORD[(160-128)+rax],ymm14
    7105         vpaddd  ymm0,ymm0,ymm14
    7106         vpxor   ymm10,ymm10,YMMWORD[((448-256-128))+rbx]
    7107         vpsrld  ymm8,ymm1,27
    7108         vpxor   ymm5,ymm5,ymm3
    7109         vpxor   ymm10,ymm10,ymm12
    7110 
    7111         vpslld  ymm6,ymm2,30
    7112         vpor    ymm7,ymm7,ymm8
    7113         vpaddd  ymm0,ymm0,ymm5
    7114         vpsrld  ymm9,ymm10,31
    7115         vpaddd  ymm10,ymm10,ymm10
    7116 
    7117         vpsrld  ymm2,ymm2,2
    7118         vpaddd  ymm0,ymm0,ymm7
    7119         vpor    ymm10,ymm10,ymm9
    7120         vpor    ymm2,ymm2,ymm6
    7121         vpxor   ymm11,ymm11,ymm13
    7122         vmovdqa ymm13,YMMWORD[((288-256-128))+rbx]
    7123 
    7124         vpslld  ymm7,ymm0,5
    7125         vpaddd  ymm4,ymm4,ymm15
    7126         vpxor   ymm5,ymm3,ymm1
    7127         vmovdqa YMMWORD[(192-128)+rax],ymm10
    7128         vpaddd  ymm4,ymm4,ymm10
    7129         vpxor   ymm11,ymm11,YMMWORD[((480-256-128))+rbx]
    7130         vpsrld  ymm8,ymm0,27
    7131         vpxor   ymm5,ymm5,ymm2
    7132         vpxor   ymm11,ymm11,ymm13
    7133 
    7134         vpslld  ymm6,ymm1,30
    7135         vpor    ymm7,ymm7,ymm8
    7136         vpaddd  ymm4,ymm4,ymm5
    7137         vpsrld  ymm9,ymm11,31
    7138         vpaddd  ymm11,ymm11,ymm11
    7139 
    7140         vpsrld  ymm1,ymm1,2
    7141         vpaddd  ymm4,ymm4,ymm7
    7142         vpor    ymm11,ymm11,ymm9
    7143         vpor    ymm1,ymm1,ymm6
    7144         vpxor   ymm12,ymm12,ymm14
    7145         vmovdqa ymm14,YMMWORD[((320-256-128))+rbx]
    7146 
    7147         vpslld  ymm7,ymm4,5
    7148         vpaddd  ymm3,ymm3,ymm15
    7149         vpxor   ymm5,ymm2,ymm0
    7150         vmovdqa YMMWORD[(224-128)+rax],ymm11
    7151         vpaddd  ymm3,ymm3,ymm11
    7152         vpxor   ymm12,ymm12,YMMWORD[((0-128))+rax]
    7153         vpsrld  ymm8,ymm4,27
    7154         vpxor   ymm5,ymm5,ymm1
    7155         vpxor   ymm12,ymm12,ymm14
    7156 
    7157         vpslld  ymm6,ymm0,30
    7158         vpor    ymm7,ymm7,ymm8
    7159         vpaddd  ymm3,ymm3,ymm5
    7160         vpsrld  ymm9,ymm12,31
    7161         vpaddd  ymm12,ymm12,ymm12
    7162 
    7163         vpsrld  ymm0,ymm0,2
    7164         vpaddd  ymm3,ymm3,ymm7
    7165         vpor    ymm12,ymm12,ymm9
    7166         vpor    ymm0,ymm0,ymm6
    7167         vpxor   ymm13,ymm13,ymm10
    7168         vmovdqa ymm10,YMMWORD[((352-256-128))+rbx]
    7169 
    7170         vpslld  ymm7,ymm3,5
    7171         vpaddd  ymm2,ymm2,ymm15
    7172         vpxor   ymm5,ymm1,ymm4
    7173         vpaddd  ymm2,ymm2,ymm12
    7174         vpxor   ymm13,ymm13,YMMWORD[((32-128))+rax]
    7175         vpsrld  ymm8,ymm3,27
    7176         vpxor   ymm5,ymm5,ymm0
    7177         vpxor   ymm13,ymm13,ymm10
    7178 
    7179         vpslld  ymm6,ymm4,30
    7180         vpor    ymm7,ymm7,ymm8
    7181         vpaddd  ymm2,ymm2,ymm5
    7182         vpsrld  ymm9,ymm13,31
    7183         vpaddd  ymm13,ymm13,ymm13
    7184 
    7185         vpsrld  ymm4,ymm4,2
    7186         vpaddd  ymm2,ymm2,ymm7
    7187         vpor    ymm13,ymm13,ymm9
    7188         vpor    ymm4,ymm4,ymm6
    7189         vpxor   ymm14,ymm14,ymm11
    7190         vmovdqa ymm11,YMMWORD[((384-256-128))+rbx]
    7191 
    7192         vpslld  ymm7,ymm2,5
    7193         vpaddd  ymm1,ymm1,ymm15
    7194         vpxor   ymm5,ymm0,ymm3
    7195         vpaddd  ymm1,ymm1,ymm13
    7196         vpxor   ymm14,ymm14,YMMWORD[((64-128))+rax]
    7197         vpsrld  ymm8,ymm2,27
    7198         vpxor   ymm5,ymm5,ymm4
    7199         vpxor   ymm14,ymm14,ymm11
    7200 
    7201         vpslld  ymm6,ymm3,30
    7202         vpor    ymm7,ymm7,ymm8
    7203         vpaddd  ymm1,ymm1,ymm5
    7204         vpsrld  ymm9,ymm14,31
    7205         vpaddd  ymm14,ymm14,ymm14
    7206 
    7207         vpsrld  ymm3,ymm3,2
    7208         vpaddd  ymm1,ymm1,ymm7
    7209         vpor    ymm14,ymm14,ymm9
    7210         vpor    ymm3,ymm3,ymm6
    7211         vpxor   ymm10,ymm10,ymm12
    7212         vmovdqa ymm12,YMMWORD[((416-256-128))+rbx]
    7213 
    7214         vpslld  ymm7,ymm1,5
    7215         vpaddd  ymm0,ymm0,ymm15
    7216         vpxor   ymm5,ymm4,ymm2
    7217         vpaddd  ymm0,ymm0,ymm14
    7218         vpxor   ymm10,ymm10,YMMWORD[((96-128))+rax]
    7219         vpsrld  ymm8,ymm1,27
    7220         vpxor   ymm5,ymm5,ymm3
    7221         vpxor   ymm10,ymm10,ymm12
    7222 
    7223         vpslld  ymm6,ymm2,30
    7224         vpor    ymm7,ymm7,ymm8
    7225         vpaddd  ymm0,ymm0,ymm5
    7226         vpsrld  ymm9,ymm10,31
    7227         vpaddd  ymm10,ymm10,ymm10
    7228 
    7229         vpsrld  ymm2,ymm2,2
    7230         vpaddd  ymm0,ymm0,ymm7
    7231         vpor    ymm10,ymm10,ymm9
    7232         vpor    ymm2,ymm2,ymm6
    7233         vpxor   ymm11,ymm11,ymm13
    7234         vmovdqa ymm13,YMMWORD[((448-256-128))+rbx]
    7235 
    7236         vpslld  ymm7,ymm0,5
    7237         vpaddd  ymm4,ymm4,ymm15
    7238         vpxor   ymm5,ymm3,ymm1
    7239         vpaddd  ymm4,ymm4,ymm10
    7240         vpxor   ymm11,ymm11,YMMWORD[((128-128))+rax]
    7241         vpsrld  ymm8,ymm0,27
    7242         vpxor   ymm5,ymm5,ymm2
    7243         vpxor   ymm11,ymm11,ymm13
    7244 
    7245         vpslld  ymm6,ymm1,30
    7246         vpor    ymm7,ymm7,ymm8
    7247         vpaddd  ymm4,ymm4,ymm5
    7248         vpsrld  ymm9,ymm11,31
    7249         vpaddd  ymm11,ymm11,ymm11
    7250 
    7251         vpsrld  ymm1,ymm1,2
    7252         vpaddd  ymm4,ymm4,ymm7
    7253         vpor    ymm11,ymm11,ymm9
    7254         vpor    ymm1,ymm1,ymm6
    7255         vpxor   ymm12,ymm12,ymm14
    7256         vmovdqa ymm14,YMMWORD[((480-256-128))+rbx]
    7257 
    7258         vpslld  ymm7,ymm4,5
    7259         vpaddd  ymm3,ymm3,ymm15
    7260         vpxor   ymm5,ymm2,ymm0
    7261         vpaddd  ymm3,ymm3,ymm11
    7262         vpxor   ymm12,ymm12,YMMWORD[((160-128))+rax]
    7263         vpsrld  ymm8,ymm4,27
    7264         vpxor   ymm5,ymm5,ymm1
    7265         vpxor   ymm12,ymm12,ymm14
    7266 
    7267         vpslld  ymm6,ymm0,30
    7268         vpor    ymm7,ymm7,ymm8
    7269         vpaddd  ymm3,ymm3,ymm5
    7270         vpsrld  ymm9,ymm12,31
    7271         vpaddd  ymm12,ymm12,ymm12
    7272 
    7273         vpsrld  ymm0,ymm0,2
    7274         vpaddd  ymm3,ymm3,ymm7
    7275         vpor    ymm12,ymm12,ymm9
    7276         vpor    ymm0,ymm0,ymm6
    7277         vpxor   ymm13,ymm13,ymm10
    7278         vmovdqa ymm10,YMMWORD[((0-128))+rax]
    7279 
    7280         vpslld  ymm7,ymm3,5
    7281         vpaddd  ymm2,ymm2,ymm15
    7282         vpxor   ymm5,ymm1,ymm4
    7283         vpaddd  ymm2,ymm2,ymm12
    7284         vpxor   ymm13,ymm13,YMMWORD[((192-128))+rax]
    7285         vpsrld  ymm8,ymm3,27
    7286         vpxor   ymm5,ymm5,ymm0
    7287         vpxor   ymm13,ymm13,ymm10
    7288 
    7289         vpslld  ymm6,ymm4,30
    7290         vpor    ymm7,ymm7,ymm8
    7291         vpaddd  ymm2,ymm2,ymm5
    7292         vpsrld  ymm9,ymm13,31
    7293         vpaddd  ymm13,ymm13,ymm13
    7294 
    7295         vpsrld  ymm4,ymm4,2
    7296         vpaddd  ymm2,ymm2,ymm7
    7297         vpor    ymm13,ymm13,ymm9
    7298         vpor    ymm4,ymm4,ymm6
    7299         vpxor   ymm14,ymm14,ymm11
    7300         vmovdqa ymm11,YMMWORD[((32-128))+rax]
    7301 
    7302         vpslld  ymm7,ymm2,5
    7303         vpaddd  ymm1,ymm1,ymm15
    7304         vpxor   ymm5,ymm0,ymm3
    7305         vpaddd  ymm1,ymm1,ymm13
    7306         vpxor   ymm14,ymm14,YMMWORD[((224-128))+rax]
    7307         vpsrld  ymm8,ymm2,27
    7308         vpxor   ymm5,ymm5,ymm4
    7309         vpxor   ymm14,ymm14,ymm11
    7310 
    7311         vpslld  ymm6,ymm3,30
    7312         vpor    ymm7,ymm7,ymm8
    7313         vpaddd  ymm1,ymm1,ymm5
    7314         vpsrld  ymm9,ymm14,31
    7315         vpaddd  ymm14,ymm14,ymm14
    7316 
    7317         vpsrld  ymm3,ymm3,2
    7318         vpaddd  ymm1,ymm1,ymm7
    7319         vpor    ymm14,ymm14,ymm9
    7320         vpor    ymm3,ymm3,ymm6
    7321         vpslld  ymm7,ymm1,5
    7322         vpaddd  ymm0,ymm0,ymm15
    7323         vpxor   ymm5,ymm4,ymm2
    7324 
    7325         vpsrld  ymm8,ymm1,27
    7326         vpaddd  ymm0,ymm0,ymm14
    7327         vpxor   ymm5,ymm5,ymm3
    7328 
    7329         vpslld  ymm6,ymm2,30
    7330         vpor    ymm7,ymm7,ymm8
    7331         vpaddd  ymm0,ymm0,ymm5
    7332 
    7333         vpsrld  ymm2,ymm2,2
    7334         vpaddd  ymm0,ymm0,ymm7
    7335         vpor    ymm2,ymm2,ymm6
    7336         mov     ecx,1
    7337         lea     rbx,[512+rsp]
    7338         cmp     ecx,DWORD[rbx]
    7339         cmovge  r12,rbp
    7340         cmp     ecx,DWORD[4+rbx]
    7341         cmovge  r13,rbp
    7342         cmp     ecx,DWORD[8+rbx]
    7343         cmovge  r14,rbp
    7344         cmp     ecx,DWORD[12+rbx]
    7345         cmovge  r15,rbp
    7346         cmp     ecx,DWORD[16+rbx]
    7347         cmovge  r8,rbp
    7348         cmp     ecx,DWORD[20+rbx]
    7349         cmovge  r9,rbp
    7350         cmp     ecx,DWORD[24+rbx]
    7351         cmovge  r10,rbp
    7352         cmp     ecx,DWORD[28+rbx]
    7353         cmovge  r11,rbp
    7354         vmovdqu ymm5,YMMWORD[rbx]
    7355         vpxor   ymm7,ymm7,ymm7
    7356         vmovdqa ymm6,ymm5
    7357         vpcmpgtd        ymm6,ymm6,ymm7
    7358         vpaddd  ymm5,ymm5,ymm6
    7359 
    7360         vpand   ymm0,ymm0,ymm6
    7361         vpand   ymm1,ymm1,ymm6
    7362         vpaddd  ymm0,ymm0,YMMWORD[rdi]
    7363         vpand   ymm2,ymm2,ymm6
    7364         vpaddd  ymm1,ymm1,YMMWORD[32+rdi]
    7365         vpand   ymm3,ymm3,ymm6
    7366         vpaddd  ymm2,ymm2,YMMWORD[64+rdi]
    7367         vpand   ymm4,ymm4,ymm6
    7368         vpaddd  ymm3,ymm3,YMMWORD[96+rdi]
    7369         vpaddd  ymm4,ymm4,YMMWORD[128+rdi]
    7370         vmovdqu YMMWORD[rdi],ymm0
    7371         vmovdqu YMMWORD[32+rdi],ymm1
    7372         vmovdqu YMMWORD[64+rdi],ymm2
    7373         vmovdqu YMMWORD[96+rdi],ymm3
    7374         vmovdqu YMMWORD[128+rdi],ymm4
    7375 
    7376         vmovdqu YMMWORD[rbx],ymm5
    7377         lea     rbx,[((256+128))+rsp]
    7378         vmovdqu ymm9,YMMWORD[96+rbp]
    7379         dec     edx
    7380         jnz     NEAR $L$oop_avx2
    7381 
    7382 
    7383 
    7384 
    7385 
    7386 
    7387 
    7388 $L$done_avx2:
    7389         mov     rax,QWORD[544+rsp]
    7390 
    7391         vzeroupper
    7392         movaps  xmm6,XMMWORD[((-216))+rax]
    7393         movaps  xmm7,XMMWORD[((-200))+rax]
    7394         movaps  xmm8,XMMWORD[((-184))+rax]
    7395         movaps  xmm9,XMMWORD[((-168))+rax]
    7396         movaps  xmm10,XMMWORD[((-152))+rax]
    7397         movaps  xmm11,XMMWORD[((-136))+rax]
    7398         movaps  xmm12,XMMWORD[((-120))+rax]
    7399         movaps  xmm13,XMMWORD[((-104))+rax]
    7400         movaps  xmm14,XMMWORD[((-88))+rax]
    7401         movaps  xmm15,XMMWORD[((-72))+rax]
    7402         mov     r15,QWORD[((-48))+rax]
    7403 
    7404         mov     r14,QWORD[((-40))+rax]
    7405 
    7406         mov     r13,QWORD[((-32))+rax]
    7407 
    7408         mov     r12,QWORD[((-24))+rax]
    7409 
    7410         mov     rbp,QWORD[((-16))+rax]
    7411 
    7412         mov     rbx,QWORD[((-8))+rax]
    7413 
    7414         lea     rsp,[rax]
    7415 
    7416 $L$epilogue_avx2:
    7417         mov     rdi,QWORD[8+rsp]        ;WIN64 epilogue
    7418         mov     rsi,QWORD[16+rsp]
    7419         DB      0F3h,0C3h               ;repret
    7420 
    7421 $L$SEH_end_sha1_multi_block_avx2:
    7422 
    74233020ALIGN   256
    74243021        DD      0x5a827999,0x5a827999,0x5a827999,0x5a827999
     
    75233120        DB      0F3h,0C3h               ;repret
    75243121
    7525 
    7526 ALIGN   16
    7527 avx2_handler:
    7528         push    rsi
    7529         push    rdi
    7530         push    rbx
    7531         push    rbp
    7532         push    r12
    7533         push    r13
    7534         push    r14
    7535         push    r15
    7536         pushfq
    7537         sub     rsp,64
    7538 
    7539         mov     rax,QWORD[120+r8]
    7540         mov     rbx,QWORD[248+r8]
    7541 
    7542         mov     rsi,QWORD[8+r9]
    7543         mov     r11,QWORD[56+r9]
    7544 
    7545         mov     r10d,DWORD[r11]
    7546         lea     r10,[r10*1+rsi]
    7547         cmp     rbx,r10
    7548         jb      NEAR $L$in_prologue
    7549 
    7550         mov     rax,QWORD[152+r8]
    7551 
    7552         mov     r10d,DWORD[4+r11]
    7553         lea     r10,[r10*1+rsi]
    7554         cmp     rbx,r10
    7555         jae     NEAR $L$in_prologue
    7556 
    7557         mov     rax,QWORD[544+r8]
    7558 
    7559         mov     rbx,QWORD[((-8))+rax]
    7560         mov     rbp,QWORD[((-16))+rax]
    7561         mov     r12,QWORD[((-24))+rax]
    7562         mov     r13,QWORD[((-32))+rax]
    7563         mov     r14,QWORD[((-40))+rax]
    7564         mov     r15,QWORD[((-48))+rax]
    7565         mov     QWORD[144+r8],rbx
    7566         mov     QWORD[160+r8],rbp
    7567         mov     QWORD[216+r8],r12
    7568         mov     QWORD[224+r8],r13
    7569         mov     QWORD[232+r8],r14
    7570         mov     QWORD[240+r8],r15
    7571 
    7572         lea     rsi,[((-56-160))+rax]
    7573         lea     rdi,[512+r8]
    7574         mov     ecx,20
    7575         DD      0xa548f3fc
    7576 
    7577         jmp     NEAR $L$in_prologue
    7578 
    75793122section .pdata rdata align=4
    75803123ALIGN   4
     
    75853128        DD      $L$SEH_end_sha1_multi_block_shaext wrt ..imagebase
    75863129        DD      $L$SEH_info_sha1_multi_block_shaext wrt ..imagebase
    7587         DD      $L$SEH_begin_sha1_multi_block_avx wrt ..imagebase
    7588         DD      $L$SEH_end_sha1_multi_block_avx wrt ..imagebase
    7589         DD      $L$SEH_info_sha1_multi_block_avx wrt ..imagebase
    7590         DD      $L$SEH_begin_sha1_multi_block_avx2 wrt ..imagebase
    7591         DD      $L$SEH_end_sha1_multi_block_avx2 wrt ..imagebase
    7592         DD      $L$SEH_info_sha1_multi_block_avx2 wrt ..imagebase
    75933130section .xdata rdata align=8
    75943131ALIGN   8
     
    76013138        DD      se_handler wrt ..imagebase
    76023139        DD      $L$body_shaext wrt ..imagebase,$L$epilogue_shaext wrt ..imagebase
    7603 $L$SEH_info_sha1_multi_block_avx:
    7604 DB      9,0,0,0
    7605         DD      se_handler wrt ..imagebase
    7606         DD      $L$body_avx wrt ..imagebase,$L$epilogue_avx wrt ..imagebase
    7607 $L$SEH_info_sha1_multi_block_avx2:
    7608 DB      9,0,0,0
    7609         DD      avx2_handler wrt ..imagebase
    7610         DD      $L$body_avx2 wrt ..imagebase,$L$epilogue_avx2 wrt ..imagebase
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette