brintos

brintos / llvm-project-archived public Read only

0
0
Text · 88.9 KiB · 9419f4b Raw
2618 lines · plain
1#include "llvm_blake3_prefix.h"2 3.intel_syntax noprefix4 5.global _blake3_hash_many_avx5126.global blake3_hash_many_avx5127.global blake3_compress_in_place_avx5128.global _blake3_compress_in_place_avx5129.global blake3_compress_xof_avx51210.global _blake3_compress_xof_avx51211 12.section .text13.p2align  614_blake3_hash_many_avx512:15blake3_hash_many_avx512:16        push    r1517        push    r1418        push    r1319        push    r1220        push    rdi21        push    rsi22        push    rbx23        push    rbp24        mov     rbp, rsp25        sub     rsp, 30426        and     rsp, 0xFFFFFFFFFFFFFFC027        vmovdqa xmmword ptr [rsp+0x90], xmm628        vmovdqa xmmword ptr [rsp+0xA0], xmm729        vmovdqa xmmword ptr [rsp+0xB0], xmm830        vmovdqa xmmword ptr [rsp+0xC0], xmm931        vmovdqa xmmword ptr [rsp+0xD0], xmm1032        vmovdqa xmmword ptr [rsp+0xE0], xmm1133        vmovdqa xmmword ptr [rsp+0xF0], xmm1234        vmovdqa xmmword ptr [rsp+0x100], xmm1335        vmovdqa xmmword ptr [rsp+0x110], xmm1436        vmovdqa xmmword ptr [rsp+0x120], xmm1537        mov     rdi, rcx38        mov     rsi, rdx39        mov     rdx, r840        mov     rcx, r941        mov     r8, qword ptr [rbp+0x68]42        movzx   r9, byte ptr [rbp+0x70]43        neg     r944        kmovw   k1, r9d45        vmovd   xmm0, r8d46        vpbroadcastd ymm0, xmm047        shr     r8, 3248        vmovd   xmm1, r8d49        vpbroadcastd ymm1, xmm150        vmovdqa ymm4, ymm151        vmovdqa ymm5, ymm152        vpaddd  ymm2, ymm0, ymmword ptr [ADD0+rip]53        vpaddd  ymm3, ymm0, ymmword ptr [ADD0+32+rip]54        vpcmpltud k2, ymm2, ymm055        vpcmpltud k3, ymm3, ymm056        vpaddd  ymm4 {k2}, ymm4, dword ptr [ADD1+rip] {1to8}57        vpaddd  ymm5 {k3}, ymm5, dword ptr [ADD1+rip] {1to8}58        knotw   k2, k159        vmovdqa32 ymm2 {k2}, ymm060        vmovdqa32 ymm3 {k2}, ymm061        vmovdqa32 ymm4 {k2}, ymm162        vmovdqa32 ymm5 {k2}, ymm163        vmovdqa ymmword ptr [rsp], ymm264        vmovdqa ymmword ptr [rsp+0x20], ymm365        vmovdqa ymmword ptr [rsp+0x40], ymm466        vmovdqa ymmword ptr [rsp+0x60], ymm567        shl     rdx, 668        mov     qword ptr [rsp+0x80], rdx69        cmp     rsi, 1670        jc      3f712:72        vpbroadcastd zmm0, dword ptr [rcx]73        vpbroadcastd zmm1, dword ptr [rcx+0x1*0x4]74        vpbroadcastd zmm2, dword ptr [rcx+0x2*0x4]75        vpbroadcastd zmm3, dword ptr [rcx+0x3*0x4]76        vpbroadcastd zmm4, dword ptr [rcx+0x4*0x4]77        vpbroadcastd zmm5, dword ptr [rcx+0x5*0x4]78        vpbroadcastd zmm6, dword ptr [rcx+0x6*0x4]79        vpbroadcastd zmm7, dword ptr [rcx+0x7*0x4]80        movzx   eax, byte ptr [rbp+0x78]81        movzx   ebx, byte ptr [rbp+0x80]82        or      eax, ebx83        xor     edx, edx84.p2align 5859:86        movzx   ebx, byte ptr [rbp+0x88]87        or      ebx, eax88        add     rdx, 6489        cmp     rdx, qword ptr [rsp+0x80]90        cmove   eax, ebx91        mov     dword ptr [rsp+0x88], eax92        mov     r8, qword ptr [rdi]93        mov     r9, qword ptr [rdi+0x8]94        mov     r10, qword ptr [rdi+0x10]95        mov     r11, qword ptr [rdi+0x18]96        mov     r12, qword ptr [rdi+0x40]97        mov     r13, qword ptr [rdi+0x48]98        mov     r14, qword ptr [rdi+0x50]99        mov     r15, qword ptr [rdi+0x58]100        vmovdqu32 ymm16, ymmword ptr [rdx+r8-0x2*0x20]101        vinserti64x4 zmm16, zmm16, ymmword ptr [rdx+r12-0x2*0x20], 0x01102        vmovdqu32 ymm17, ymmword ptr [rdx+r9-0x2*0x20]103        vinserti64x4 zmm17, zmm17, ymmword ptr [rdx+r13-0x2*0x20], 0x01104        vpunpcklqdq zmm8, zmm16, zmm17105        vpunpckhqdq zmm9, zmm16, zmm17106        vmovdqu32 ymm18, ymmword ptr [rdx+r10-0x2*0x20]107        vinserti64x4 zmm18, zmm18, ymmword ptr [rdx+r14-0x2*0x20], 0x01108        vmovdqu32 ymm19, ymmword ptr [rdx+r11-0x2*0x20]109        vinserti64x4 zmm19, zmm19, ymmword ptr [rdx+r15-0x2*0x20], 0x01110        vpunpcklqdq zmm10, zmm18, zmm19111        vpunpckhqdq zmm11, zmm18, zmm19112        mov     r8, qword ptr [rdi+0x20]113        mov     r9, qword ptr [rdi+0x28]114        mov     r10, qword ptr [rdi+0x30]115        mov     r11, qword ptr [rdi+0x38]116        mov     r12, qword ptr [rdi+0x60]117        mov     r13, qword ptr [rdi+0x68]118        mov     r14, qword ptr [rdi+0x70]119        mov     r15, qword ptr [rdi+0x78]120        vmovdqu32 ymm16, ymmword ptr [rdx+r8-0x2*0x20]121        vinserti64x4 zmm16, zmm16, ymmword ptr [rdx+r12-0x2*0x20], 0x01122        vmovdqu32 ymm17, ymmword ptr [rdx+r9-0x2*0x20]123        vinserti64x4 zmm17, zmm17, ymmword ptr [rdx+r13-0x2*0x20], 0x01124        vpunpcklqdq zmm12, zmm16, zmm17125        vpunpckhqdq zmm13, zmm16, zmm17126        vmovdqu32 ymm18, ymmword ptr [rdx+r10-0x2*0x20]127        vinserti64x4 zmm18, zmm18, ymmword ptr [rdx+r14-0x2*0x20], 0x01128        vmovdqu32 ymm19, ymmword ptr [rdx+r11-0x2*0x20]129        vinserti64x4 zmm19, zmm19, ymmword ptr [rdx+r15-0x2*0x20], 0x01130        vpunpcklqdq zmm14, zmm18, zmm19131        vpunpckhqdq zmm15, zmm18, zmm19132        vmovdqa32 zmm27, zmmword ptr [INDEX0+rip]133        vmovdqa32 zmm31, zmmword ptr [INDEX1+rip]134        vshufps zmm16, zmm8, zmm10, 136135        vshufps zmm17, zmm12, zmm14, 136136        vmovdqa32 zmm20, zmm16137        vpermt2d zmm16, zmm27, zmm17138        vpermt2d zmm20, zmm31, zmm17139        vshufps zmm17, zmm8, zmm10, 221140        vshufps zmm30, zmm12, zmm14, 221141        vmovdqa32 zmm21, zmm17142        vpermt2d zmm17, zmm27, zmm30143        vpermt2d zmm21, zmm31, zmm30144        vshufps zmm18, zmm9, zmm11, 136145        vshufps zmm8, zmm13, zmm15, 136146        vmovdqa32 zmm22, zmm18147        vpermt2d zmm18, zmm27, zmm8148        vpermt2d zmm22, zmm31, zmm8149        vshufps zmm19, zmm9, zmm11, 221150        vshufps zmm8, zmm13, zmm15, 221151        vmovdqa32 zmm23, zmm19152        vpermt2d zmm19, zmm27, zmm8153        vpermt2d zmm23, zmm31, zmm8154        mov     r8, qword ptr [rdi]155        mov     r9, qword ptr [rdi+0x8]156        mov     r10, qword ptr [rdi+0x10]157        mov     r11, qword ptr [rdi+0x18]158        mov     r12, qword ptr [rdi+0x40]159        mov     r13, qword ptr [rdi+0x48]160        mov     r14, qword ptr [rdi+0x50]161        mov     r15, qword ptr [rdi+0x58]162        vmovdqu32 ymm24, ymmword ptr [r8+rdx-0x1*0x20]163        vinserti64x4 zmm24, zmm24, ymmword ptr [r12+rdx-0x1*0x20], 0x01164        vmovdqu32 ymm25, ymmword ptr [r9+rdx-0x1*0x20]165        vinserti64x4 zmm25, zmm25, ymmword ptr [r13+rdx-0x1*0x20], 0x01166        vpunpcklqdq zmm8, zmm24, zmm25167        vpunpckhqdq zmm9, zmm24, zmm25168        vmovdqu32 ymm24, ymmword ptr [r10+rdx-0x1*0x20]169        vinserti64x4 zmm24, zmm24, ymmword ptr [r14+rdx-0x1*0x20], 0x01170        vmovdqu32 ymm25, ymmword ptr [r11+rdx-0x1*0x20]171        vinserti64x4 zmm25, zmm25, ymmword ptr [r15+rdx-0x1*0x20], 0x01172        vpunpcklqdq zmm10, zmm24, zmm25173        vpunpckhqdq zmm11, zmm24, zmm25174        prefetcht0 [r8+rdx+0x80]175        prefetcht0 [r12+rdx+0x80]176        prefetcht0 [r9+rdx+0x80]177        prefetcht0 [r13+rdx+0x80]178        prefetcht0 [r10+rdx+0x80]179        prefetcht0 [r14+rdx+0x80]180        prefetcht0 [r11+rdx+0x80]181        prefetcht0 [r15+rdx+0x80]182        mov     r8, qword ptr [rdi+0x20]183        mov     r9, qword ptr [rdi+0x28]184        mov     r10, qword ptr [rdi+0x30]185        mov     r11, qword ptr [rdi+0x38]186        mov     r12, qword ptr [rdi+0x60]187        mov     r13, qword ptr [rdi+0x68]188        mov     r14, qword ptr [rdi+0x70]189        mov     r15, qword ptr [rdi+0x78]190        vmovdqu32 ymm24, ymmword ptr [r8+rdx-0x1*0x20]191        vinserti64x4 zmm24, zmm24, ymmword ptr [r12+rdx-0x1*0x20], 0x01192        vmovdqu32 ymm25, ymmword ptr [r9+rdx-0x1*0x20]193        vinserti64x4 zmm25, zmm25, ymmword ptr [r13+rdx-0x1*0x20], 0x01194        vpunpcklqdq zmm12, zmm24, zmm25195        vpunpckhqdq zmm13, zmm24, zmm25196        vmovdqu32 ymm24, ymmword ptr [r10+rdx-0x1*0x20]197        vinserti64x4 zmm24, zmm24, ymmword ptr [r14+rdx-0x1*0x20], 0x01198        vmovdqu32 ymm25, ymmword ptr [r11+rdx-0x1*0x20]199        vinserti64x4 zmm25, zmm25, ymmword ptr [r15+rdx-0x1*0x20], 0x01200        vpunpcklqdq zmm14, zmm24, zmm25201        vpunpckhqdq zmm15, zmm24, zmm25202        prefetcht0 [r8+rdx+0x80]203        prefetcht0 [r12+rdx+0x80]204        prefetcht0 [r9+rdx+0x80]205        prefetcht0 [r13+rdx+0x80]206        prefetcht0 [r10+rdx+0x80]207        prefetcht0 [r14+rdx+0x80]208        prefetcht0 [r11+rdx+0x80]209        prefetcht0 [r15+rdx+0x80]210        vshufps zmm24, zmm8, zmm10, 136211        vshufps zmm30, zmm12, zmm14, 136212        vmovdqa32 zmm28, zmm24213        vpermt2d zmm24, zmm27, zmm30214        vpermt2d zmm28, zmm31, zmm30215        vshufps zmm25, zmm8, zmm10, 221216        vshufps zmm30, zmm12, zmm14, 221217        vmovdqa32 zmm29, zmm25218        vpermt2d zmm25, zmm27, zmm30219        vpermt2d zmm29, zmm31, zmm30220        vshufps zmm26, zmm9, zmm11, 136221        vshufps zmm8, zmm13, zmm15, 136222        vmovdqa32 zmm30, zmm26223        vpermt2d zmm26, zmm27, zmm8224        vpermt2d zmm30, zmm31, zmm8225        vshufps zmm8, zmm9, zmm11, 221226        vshufps zmm10, zmm13, zmm15, 221227        vpermi2d zmm27, zmm8, zmm10228        vpermi2d zmm31, zmm8, zmm10229        vpbroadcastd zmm8, dword ptr [BLAKE3_IV_0+rip]230        vpbroadcastd zmm9, dword ptr [BLAKE3_IV_1+rip]231        vpbroadcastd zmm10, dword ptr [BLAKE3_IV_2+rip]232        vpbroadcastd zmm11, dword ptr [BLAKE3_IV_3+rip]233        vmovdqa32 zmm12, zmmword ptr [rsp]234        vmovdqa32 zmm13, zmmword ptr [rsp+0x1*0x40]235        vpbroadcastd zmm14, dword ptr [BLAKE3_BLOCK_LEN+rip]236        vpbroadcastd zmm15, dword ptr [rsp+0x22*0x4]237        vpaddd  zmm0, zmm0, zmm16238        vpaddd  zmm1, zmm1, zmm18239        vpaddd  zmm2, zmm2, zmm20240        vpaddd  zmm3, zmm3, zmm22241        vpaddd  zmm0, zmm0, zmm4242        vpaddd  zmm1, zmm1, zmm5243        vpaddd  zmm2, zmm2, zmm6244        vpaddd  zmm3, zmm3, zmm7245        vpxord  zmm12, zmm12, zmm0246        vpxord  zmm13, zmm13, zmm1247        vpxord  zmm14, zmm14, zmm2248        vpxord  zmm15, zmm15, zmm3249        vprord  zmm12, zmm12, 16250        vprord  zmm13, zmm13, 16251        vprord  zmm14, zmm14, 16252        vprord  zmm15, zmm15, 16253        vpaddd  zmm8, zmm8, zmm12254        vpaddd  zmm9, zmm9, zmm13255        vpaddd  zmm10, zmm10, zmm14256        vpaddd  zmm11, zmm11, zmm15257        vpxord  zmm4, zmm4, zmm8258        vpxord  zmm5, zmm5, zmm9259        vpxord  zmm6, zmm6, zmm10260        vpxord  zmm7, zmm7, zmm11261        vprord  zmm4, zmm4, 12262        vprord  zmm5, zmm5, 12263        vprord  zmm6, zmm6, 12264        vprord  zmm7, zmm7, 12265        vpaddd  zmm0, zmm0, zmm17266        vpaddd  zmm1, zmm1, zmm19267        vpaddd  zmm2, zmm2, zmm21268        vpaddd  zmm3, zmm3, zmm23269        vpaddd  zmm0, zmm0, zmm4270        vpaddd  zmm1, zmm1, zmm5271        vpaddd  zmm2, zmm2, zmm6272        vpaddd  zmm3, zmm3, zmm7273        vpxord  zmm12, zmm12, zmm0274        vpxord  zmm13, zmm13, zmm1275        vpxord  zmm14, zmm14, zmm2276        vpxord  zmm15, zmm15, zmm3277        vprord  zmm12, zmm12, 8278        vprord  zmm13, zmm13, 8279        vprord  zmm14, zmm14, 8280        vprord  zmm15, zmm15, 8281        vpaddd  zmm8, zmm8, zmm12282        vpaddd  zmm9, zmm9, zmm13283        vpaddd  zmm10, zmm10, zmm14284        vpaddd  zmm11, zmm11, zmm15285        vpxord  zmm4, zmm4, zmm8286        vpxord  zmm5, zmm5, zmm9287        vpxord  zmm6, zmm6, zmm10288        vpxord  zmm7, zmm7, zmm11289        vprord  zmm4, zmm4, 7290        vprord  zmm5, zmm5, 7291        vprord  zmm6, zmm6, 7292        vprord  zmm7, zmm7, 7293        vpaddd  zmm0, zmm0, zmm24294        vpaddd  zmm1, zmm1, zmm26295        vpaddd  zmm2, zmm2, zmm28296        vpaddd  zmm3, zmm3, zmm30297        vpaddd  zmm0, zmm0, zmm5298        vpaddd  zmm1, zmm1, zmm6299        vpaddd  zmm2, zmm2, zmm7300        vpaddd  zmm3, zmm3, zmm4301        vpxord  zmm15, zmm15, zmm0302        vpxord  zmm12, zmm12, zmm1303        vpxord  zmm13, zmm13, zmm2304        vpxord  zmm14, zmm14, zmm3305        vprord  zmm15, zmm15, 16306        vprord  zmm12, zmm12, 16307        vprord  zmm13, zmm13, 16308        vprord  zmm14, zmm14, 16309        vpaddd  zmm10, zmm10, zmm15310        vpaddd  zmm11, zmm11, zmm12311        vpaddd  zmm8, zmm8, zmm13312        vpaddd  zmm9, zmm9, zmm14313        vpxord  zmm5, zmm5, zmm10314        vpxord  zmm6, zmm6, zmm11315        vpxord  zmm7, zmm7, zmm8316        vpxord  zmm4, zmm4, zmm9317        vprord  zmm5, zmm5, 12318        vprord  zmm6, zmm6, 12319        vprord  zmm7, zmm7, 12320        vprord  zmm4, zmm4, 12321        vpaddd  zmm0, zmm0, zmm25322        vpaddd  zmm1, zmm1, zmm27323        vpaddd  zmm2, zmm2, zmm29324        vpaddd  zmm3, zmm3, zmm31325        vpaddd  zmm0, zmm0, zmm5326        vpaddd  zmm1, zmm1, zmm6327        vpaddd  zmm2, zmm2, zmm7328        vpaddd  zmm3, zmm3, zmm4329        vpxord  zmm15, zmm15, zmm0330        vpxord  zmm12, zmm12, zmm1331        vpxord  zmm13, zmm13, zmm2332        vpxord  zmm14, zmm14, zmm3333        vprord  zmm15, zmm15, 8334        vprord  zmm12, zmm12, 8335        vprord  zmm13, zmm13, 8336        vprord  zmm14, zmm14, 8337        vpaddd  zmm10, zmm10, zmm15338        vpaddd  zmm11, zmm11, zmm12339        vpaddd  zmm8, zmm8, zmm13340        vpaddd  zmm9, zmm9, zmm14341        vpxord  zmm5, zmm5, zmm10342        vpxord  zmm6, zmm6, zmm11343        vpxord  zmm7, zmm7, zmm8344        vpxord  zmm4, zmm4, zmm9345        vprord  zmm5, zmm5, 7346        vprord  zmm6, zmm6, 7347        vprord  zmm7, zmm7, 7348        vprord  zmm4, zmm4, 7349        vpaddd  zmm0, zmm0, zmm18350        vpaddd  zmm1, zmm1, zmm19351        vpaddd  zmm2, zmm2, zmm23352        vpaddd  zmm3, zmm3, zmm20353        vpaddd  zmm0, zmm0, zmm4354        vpaddd  zmm1, zmm1, zmm5355        vpaddd  zmm2, zmm2, zmm6356        vpaddd  zmm3, zmm3, zmm7357        vpxord  zmm12, zmm12, zmm0358        vpxord  zmm13, zmm13, zmm1359        vpxord  zmm14, zmm14, zmm2360        vpxord  zmm15, zmm15, zmm3361        vprord  zmm12, zmm12, 16362        vprord  zmm13, zmm13, 16363        vprord  zmm14, zmm14, 16364        vprord  zmm15, zmm15, 16365        vpaddd  zmm8, zmm8, zmm12366        vpaddd  zmm9, zmm9, zmm13367        vpaddd  zmm10, zmm10, zmm14368        vpaddd  zmm11, zmm11, zmm15369        vpxord  zmm4, zmm4, zmm8370        vpxord  zmm5, zmm5, zmm9371        vpxord  zmm6, zmm6, zmm10372        vpxord  zmm7, zmm7, zmm11373        vprord  zmm4, zmm4, 12374        vprord  zmm5, zmm5, 12375        vprord  zmm6, zmm6, 12376        vprord  zmm7, zmm7, 12377        vpaddd  zmm0, zmm0, zmm22378        vpaddd  zmm1, zmm1, zmm26379        vpaddd  zmm2, zmm2, zmm16380        vpaddd  zmm3, zmm3, zmm29381        vpaddd  zmm0, zmm0, zmm4382        vpaddd  zmm1, zmm1, zmm5383        vpaddd  zmm2, zmm2, zmm6384        vpaddd  zmm3, zmm3, zmm7385        vpxord  zmm12, zmm12, zmm0386        vpxord  zmm13, zmm13, zmm1387        vpxord  zmm14, zmm14, zmm2388        vpxord  zmm15, zmm15, zmm3389        vprord  zmm12, zmm12, 8390        vprord  zmm13, zmm13, 8391        vprord  zmm14, zmm14, 8392        vprord  zmm15, zmm15, 8393        vpaddd  zmm8, zmm8, zmm12394        vpaddd  zmm9, zmm9, zmm13395        vpaddd  zmm10, zmm10, zmm14396        vpaddd  zmm11, zmm11, zmm15397        vpxord  zmm4, zmm4, zmm8398        vpxord  zmm5, zmm5, zmm9399        vpxord  zmm6, zmm6, zmm10400        vpxord  zmm7, zmm7, zmm11401        vprord  zmm4, zmm4, 7402        vprord  zmm5, zmm5, 7403        vprord  zmm6, zmm6, 7404        vprord  zmm7, zmm7, 7405        vpaddd  zmm0, zmm0, zmm17406        vpaddd  zmm1, zmm1, zmm28407        vpaddd  zmm2, zmm2, zmm25408        vpaddd  zmm3, zmm3, zmm31409        vpaddd  zmm0, zmm0, zmm5410        vpaddd  zmm1, zmm1, zmm6411        vpaddd  zmm2, zmm2, zmm7412        vpaddd  zmm3, zmm3, zmm4413        vpxord  zmm15, zmm15, zmm0414        vpxord  zmm12, zmm12, zmm1415        vpxord  zmm13, zmm13, zmm2416        vpxord  zmm14, zmm14, zmm3417        vprord  zmm15, zmm15, 16418        vprord  zmm12, zmm12, 16419        vprord  zmm13, zmm13, 16420        vprord  zmm14, zmm14, 16421        vpaddd  zmm10, zmm10, zmm15422        vpaddd  zmm11, zmm11, zmm12423        vpaddd  zmm8, zmm8, zmm13424        vpaddd  zmm9, zmm9, zmm14425        vpxord  zmm5, zmm5, zmm10426        vpxord  zmm6, zmm6, zmm11427        vpxord  zmm7, zmm7, zmm8428        vpxord  zmm4, zmm4, zmm9429        vprord  zmm5, zmm5, 12430        vprord  zmm6, zmm6, 12431        vprord  zmm7, zmm7, 12432        vprord  zmm4, zmm4, 12433        vpaddd  zmm0, zmm0, zmm27434        vpaddd  zmm1, zmm1, zmm21435        vpaddd  zmm2, zmm2, zmm30436        vpaddd  zmm3, zmm3, zmm24437        vpaddd  zmm0, zmm0, zmm5438        vpaddd  zmm1, zmm1, zmm6439        vpaddd  zmm2, zmm2, zmm7440        vpaddd  zmm3, zmm3, zmm4441        vpxord  zmm15, zmm15, zmm0442        vpxord  zmm12, zmm12, zmm1443        vpxord  zmm13, zmm13, zmm2444        vpxord  zmm14, zmm14, zmm3445        vprord  zmm15, zmm15, 8446        vprord  zmm12, zmm12, 8447        vprord  zmm13, zmm13, 8448        vprord  zmm14, zmm14, 8449        vpaddd  zmm10, zmm10, zmm15450        vpaddd  zmm11, zmm11, zmm12451        vpaddd  zmm8, zmm8, zmm13452        vpaddd  zmm9, zmm9, zmm14453        vpxord  zmm5, zmm5, zmm10454        vpxord  zmm6, zmm6, zmm11455        vpxord  zmm7, zmm7, zmm8456        vpxord  zmm4, zmm4, zmm9457        vprord  zmm5, zmm5, 7458        vprord  zmm6, zmm6, 7459        vprord  zmm7, zmm7, 7460        vprord  zmm4, zmm4, 7461        vpaddd  zmm0, zmm0, zmm19462        vpaddd  zmm1, zmm1, zmm26463        vpaddd  zmm2, zmm2, zmm29464        vpaddd  zmm3, zmm3, zmm23465        vpaddd  zmm0, zmm0, zmm4466        vpaddd  zmm1, zmm1, zmm5467        vpaddd  zmm2, zmm2, zmm6468        vpaddd  zmm3, zmm3, zmm7469        vpxord  zmm12, zmm12, zmm0470        vpxord  zmm13, zmm13, zmm1471        vpxord  zmm14, zmm14, zmm2472        vpxord  zmm15, zmm15, zmm3473        vprord  zmm12, zmm12, 16474        vprord  zmm13, zmm13, 16475        vprord  zmm14, zmm14, 16476        vprord  zmm15, zmm15, 16477        vpaddd  zmm8, zmm8, zmm12478        vpaddd  zmm9, zmm9, zmm13479        vpaddd  zmm10, zmm10, zmm14480        vpaddd  zmm11, zmm11, zmm15481        vpxord  zmm4, zmm4, zmm8482        vpxord  zmm5, zmm5, zmm9483        vpxord  zmm6, zmm6, zmm10484        vpxord  zmm7, zmm7, zmm11485        vprord  zmm4, zmm4, 12486        vprord  zmm5, zmm5, 12487        vprord  zmm6, zmm6, 12488        vprord  zmm7, zmm7, 12489        vpaddd  zmm0, zmm0, zmm20490        vpaddd  zmm1, zmm1, zmm28491        vpaddd  zmm2, zmm2, zmm18492        vpaddd  zmm3, zmm3, zmm30493        vpaddd  zmm0, zmm0, zmm4494        vpaddd  zmm1, zmm1, zmm5495        vpaddd  zmm2, zmm2, zmm6496        vpaddd  zmm3, zmm3, zmm7497        vpxord  zmm12, zmm12, zmm0498        vpxord  zmm13, zmm13, zmm1499        vpxord  zmm14, zmm14, zmm2500        vpxord  zmm15, zmm15, zmm3501        vprord  zmm12, zmm12, 8502        vprord  zmm13, zmm13, 8503        vprord  zmm14, zmm14, 8504        vprord  zmm15, zmm15, 8505        vpaddd  zmm8, zmm8, zmm12506        vpaddd  zmm9, zmm9, zmm13507        vpaddd  zmm10, zmm10, zmm14508        vpaddd  zmm11, zmm11, zmm15509        vpxord  zmm4, zmm4, zmm8510        vpxord  zmm5, zmm5, zmm9511        vpxord  zmm6, zmm6, zmm10512        vpxord  zmm7, zmm7, zmm11513        vprord  zmm4, zmm4, 7514        vprord  zmm5, zmm5, 7515        vprord  zmm6, zmm6, 7516        vprord  zmm7, zmm7, 7517        vpaddd  zmm0, zmm0, zmm22518        vpaddd  zmm1, zmm1, zmm25519        vpaddd  zmm2, zmm2, zmm27520        vpaddd  zmm3, zmm3, zmm24521        vpaddd  zmm0, zmm0, zmm5522        vpaddd  zmm1, zmm1, zmm6523        vpaddd  zmm2, zmm2, zmm7524        vpaddd  zmm3, zmm3, zmm4525        vpxord  zmm15, zmm15, zmm0526        vpxord  zmm12, zmm12, zmm1527        vpxord  zmm13, zmm13, zmm2528        vpxord  zmm14, zmm14, zmm3529        vprord  zmm15, zmm15, 16530        vprord  zmm12, zmm12, 16531        vprord  zmm13, zmm13, 16532        vprord  zmm14, zmm14, 16533        vpaddd  zmm10, zmm10, zmm15534        vpaddd  zmm11, zmm11, zmm12535        vpaddd  zmm8, zmm8, zmm13536        vpaddd  zmm9, zmm9, zmm14537        vpxord  zmm5, zmm5, zmm10538        vpxord  zmm6, zmm6, zmm11539        vpxord  zmm7, zmm7, zmm8540        vpxord  zmm4, zmm4, zmm9541        vprord  zmm5, zmm5, 12542        vprord  zmm6, zmm6, 12543        vprord  zmm7, zmm7, 12544        vprord  zmm4, zmm4, 12545        vpaddd  zmm0, zmm0, zmm21546        vpaddd  zmm1, zmm1, zmm16547        vpaddd  zmm2, zmm2, zmm31548        vpaddd  zmm3, zmm3, zmm17549        vpaddd  zmm0, zmm0, zmm5550        vpaddd  zmm1, zmm1, zmm6551        vpaddd  zmm2, zmm2, zmm7552        vpaddd  zmm3, zmm3, zmm4553        vpxord  zmm15, zmm15, zmm0554        vpxord  zmm12, zmm12, zmm1555        vpxord  zmm13, zmm13, zmm2556        vpxord  zmm14, zmm14, zmm3557        vprord  zmm15, zmm15, 8558        vprord  zmm12, zmm12, 8559        vprord  zmm13, zmm13, 8560        vprord  zmm14, zmm14, 8561        vpaddd  zmm10, zmm10, zmm15562        vpaddd  zmm11, zmm11, zmm12563        vpaddd  zmm8, zmm8, zmm13564        vpaddd  zmm9, zmm9, zmm14565        vpxord  zmm5, zmm5, zmm10566        vpxord  zmm6, zmm6, zmm11567        vpxord  zmm7, zmm7, zmm8568        vpxord  zmm4, zmm4, zmm9569        vprord  zmm5, zmm5, 7570        vprord  zmm6, zmm6, 7571        vprord  zmm7, zmm7, 7572        vprord  zmm4, zmm4, 7573        vpaddd  zmm0, zmm0, zmm26574        vpaddd  zmm1, zmm1, zmm28575        vpaddd  zmm2, zmm2, zmm30576        vpaddd  zmm3, zmm3, zmm29577        vpaddd  zmm0, zmm0, zmm4578        vpaddd  zmm1, zmm1, zmm5579        vpaddd  zmm2, zmm2, zmm6580        vpaddd  zmm3, zmm3, zmm7581        vpxord  zmm12, zmm12, zmm0582        vpxord  zmm13, zmm13, zmm1583        vpxord  zmm14, zmm14, zmm2584        vpxord  zmm15, zmm15, zmm3585        vprord  zmm12, zmm12, 16586        vprord  zmm13, zmm13, 16587        vprord  zmm14, zmm14, 16588        vprord  zmm15, zmm15, 16589        vpaddd  zmm8, zmm8, zmm12590        vpaddd  zmm9, zmm9, zmm13591        vpaddd  zmm10, zmm10, zmm14592        vpaddd  zmm11, zmm11, zmm15593        vpxord  zmm4, zmm4, zmm8594        vpxord  zmm5, zmm5, zmm9595        vpxord  zmm6, zmm6, zmm10596        vpxord  zmm7, zmm7, zmm11597        vprord  zmm4, zmm4, 12598        vprord  zmm5, zmm5, 12599        vprord  zmm6, zmm6, 12600        vprord  zmm7, zmm7, 12601        vpaddd  zmm0, zmm0, zmm23602        vpaddd  zmm1, zmm1, zmm25603        vpaddd  zmm2, zmm2, zmm19604        vpaddd  zmm3, zmm3, zmm31605        vpaddd  zmm0, zmm0, zmm4606        vpaddd  zmm1, zmm1, zmm5607        vpaddd  zmm2, zmm2, zmm6608        vpaddd  zmm3, zmm3, zmm7609        vpxord  zmm12, zmm12, zmm0610        vpxord  zmm13, zmm13, zmm1611        vpxord  zmm14, zmm14, zmm2612        vpxord  zmm15, zmm15, zmm3613        vprord  zmm12, zmm12, 8614        vprord  zmm13, zmm13, 8615        vprord  zmm14, zmm14, 8616        vprord  zmm15, zmm15, 8617        vpaddd  zmm8, zmm8, zmm12618        vpaddd  zmm9, zmm9, zmm13619        vpaddd  zmm10, zmm10, zmm14620        vpaddd  zmm11, zmm11, zmm15621        vpxord  zmm4, zmm4, zmm8622        vpxord  zmm5, zmm5, zmm9623        vpxord  zmm6, zmm6, zmm10624        vpxord  zmm7, zmm7, zmm11625        vprord  zmm4, zmm4, 7626        vprord  zmm5, zmm5, 7627        vprord  zmm6, zmm6, 7628        vprord  zmm7, zmm7, 7629        vpaddd  zmm0, zmm0, zmm20630        vpaddd  zmm1, zmm1, zmm27631        vpaddd  zmm2, zmm2, zmm21632        vpaddd  zmm3, zmm3, zmm17633        vpaddd  zmm0, zmm0, zmm5634        vpaddd  zmm1, zmm1, zmm6635        vpaddd  zmm2, zmm2, zmm7636        vpaddd  zmm3, zmm3, zmm4637        vpxord  zmm15, zmm15, zmm0638        vpxord  zmm12, zmm12, zmm1639        vpxord  zmm13, zmm13, zmm2640        vpxord  zmm14, zmm14, zmm3641        vprord  zmm15, zmm15, 16642        vprord  zmm12, zmm12, 16643        vprord  zmm13, zmm13, 16644        vprord  zmm14, zmm14, 16645        vpaddd  zmm10, zmm10, zmm15646        vpaddd  zmm11, zmm11, zmm12647        vpaddd  zmm8, zmm8, zmm13648        vpaddd  zmm9, zmm9, zmm14649        vpxord  zmm5, zmm5, zmm10650        vpxord  zmm6, zmm6, zmm11651        vpxord  zmm7, zmm7, zmm8652        vpxord  zmm4, zmm4, zmm9653        vprord  zmm5, zmm5, 12654        vprord  zmm6, zmm6, 12655        vprord  zmm7, zmm7, 12656        vprord  zmm4, zmm4, 12657        vpaddd  zmm0, zmm0, zmm16658        vpaddd  zmm1, zmm1, zmm18659        vpaddd  zmm2, zmm2, zmm24660        vpaddd  zmm3, zmm3, zmm22661        vpaddd  zmm0, zmm0, zmm5662        vpaddd  zmm1, zmm1, zmm6663        vpaddd  zmm2, zmm2, zmm7664        vpaddd  zmm3, zmm3, zmm4665        vpxord  zmm15, zmm15, zmm0666        vpxord  zmm12, zmm12, zmm1667        vpxord  zmm13, zmm13, zmm2668        vpxord  zmm14, zmm14, zmm3669        vprord  zmm15, zmm15, 8670        vprord  zmm12, zmm12, 8671        vprord  zmm13, zmm13, 8672        vprord  zmm14, zmm14, 8673        vpaddd  zmm10, zmm10, zmm15674        vpaddd  zmm11, zmm11, zmm12675        vpaddd  zmm8, zmm8, zmm13676        vpaddd  zmm9, zmm9, zmm14677        vpxord  zmm5, zmm5, zmm10678        vpxord  zmm6, zmm6, zmm11679        vpxord  zmm7, zmm7, zmm8680        vpxord  zmm4, zmm4, zmm9681        vprord  zmm5, zmm5, 7682        vprord  zmm6, zmm6, 7683        vprord  zmm7, zmm7, 7684        vprord  zmm4, zmm4, 7685        vpaddd  zmm0, zmm0, zmm28686        vpaddd  zmm1, zmm1, zmm25687        vpaddd  zmm2, zmm2, zmm31688        vpaddd  zmm3, zmm3, zmm30689        vpaddd  zmm0, zmm0, zmm4690        vpaddd  zmm1, zmm1, zmm5691        vpaddd  zmm2, zmm2, zmm6692        vpaddd  zmm3, zmm3, zmm7693        vpxord  zmm12, zmm12, zmm0694        vpxord  zmm13, zmm13, zmm1695        vpxord  zmm14, zmm14, zmm2696        vpxord  zmm15, zmm15, zmm3697        vprord  zmm12, zmm12, 16698        vprord  zmm13, zmm13, 16699        vprord  zmm14, zmm14, 16700        vprord  zmm15, zmm15, 16701        vpaddd  zmm8, zmm8, zmm12702        vpaddd  zmm9, zmm9, zmm13703        vpaddd  zmm10, zmm10, zmm14704        vpaddd  zmm11, zmm11, zmm15705        vpxord  zmm4, zmm4, zmm8706        vpxord  zmm5, zmm5, zmm9707        vpxord  zmm6, zmm6, zmm10708        vpxord  zmm7, zmm7, zmm11709        vprord  zmm4, zmm4, 12710        vprord  zmm5, zmm5, 12711        vprord  zmm6, zmm6, 12712        vprord  zmm7, zmm7, 12713        vpaddd  zmm0, zmm0, zmm29714        vpaddd  zmm1, zmm1, zmm27715        vpaddd  zmm2, zmm2, zmm26716        vpaddd  zmm3, zmm3, zmm24717        vpaddd  zmm0, zmm0, zmm4718        vpaddd  zmm1, zmm1, zmm5719        vpaddd  zmm2, zmm2, zmm6720        vpaddd  zmm3, zmm3, zmm7721        vpxord  zmm12, zmm12, zmm0722        vpxord  zmm13, zmm13, zmm1723        vpxord  zmm14, zmm14, zmm2724        vpxord  zmm15, zmm15, zmm3725        vprord  zmm12, zmm12, 8726        vprord  zmm13, zmm13, 8727        vprord  zmm14, zmm14, 8728        vprord  zmm15, zmm15, 8729        vpaddd  zmm8, zmm8, zmm12730        vpaddd  zmm9, zmm9, zmm13731        vpaddd  zmm10, zmm10, zmm14732        vpaddd  zmm11, zmm11, zmm15733        vpxord  zmm4, zmm4, zmm8734        vpxord  zmm5, zmm5, zmm9735        vpxord  zmm6, zmm6, zmm10736        vpxord  zmm7, zmm7, zmm11737        vprord  zmm4, zmm4, 7738        vprord  zmm5, zmm5, 7739        vprord  zmm6, zmm6, 7740        vprord  zmm7, zmm7, 7741        vpaddd  zmm0, zmm0, zmm23742        vpaddd  zmm1, zmm1, zmm21743        vpaddd  zmm2, zmm2, zmm16744        vpaddd  zmm3, zmm3, zmm22745        vpaddd  zmm0, zmm0, zmm5746        vpaddd  zmm1, zmm1, zmm6747        vpaddd  zmm2, zmm2, zmm7748        vpaddd  zmm3, zmm3, zmm4749        vpxord  zmm15, zmm15, zmm0750        vpxord  zmm12, zmm12, zmm1751        vpxord  zmm13, zmm13, zmm2752        vpxord  zmm14, zmm14, zmm3753        vprord  zmm15, zmm15, 16754        vprord  zmm12, zmm12, 16755        vprord  zmm13, zmm13, 16756        vprord  zmm14, zmm14, 16757        vpaddd  zmm10, zmm10, zmm15758        vpaddd  zmm11, zmm11, zmm12759        vpaddd  zmm8, zmm8, zmm13760        vpaddd  zmm9, zmm9, zmm14761        vpxord  zmm5, zmm5, zmm10762        vpxord  zmm6, zmm6, zmm11763        vpxord  zmm7, zmm7, zmm8764        vpxord  zmm4, zmm4, zmm9765        vprord  zmm5, zmm5, 12766        vprord  zmm6, zmm6, 12767        vprord  zmm7, zmm7, 12768        vprord  zmm4, zmm4, 12769        vpaddd  zmm0, zmm0, zmm18770        vpaddd  zmm1, zmm1, zmm19771        vpaddd  zmm2, zmm2, zmm17772        vpaddd  zmm3, zmm3, zmm20773        vpaddd  zmm0, zmm0, zmm5774        vpaddd  zmm1, zmm1, zmm6775        vpaddd  zmm2, zmm2, zmm7776        vpaddd  zmm3, zmm3, zmm4777        vpxord  zmm15, zmm15, zmm0778        vpxord  zmm12, zmm12, zmm1779        vpxord  zmm13, zmm13, zmm2780        vpxord  zmm14, zmm14, zmm3781        vprord  zmm15, zmm15, 8782        vprord  zmm12, zmm12, 8783        vprord  zmm13, zmm13, 8784        vprord  zmm14, zmm14, 8785        vpaddd  zmm10, zmm10, zmm15786        vpaddd  zmm11, zmm11, zmm12787        vpaddd  zmm8, zmm8, zmm13788        vpaddd  zmm9, zmm9, zmm14789        vpxord  zmm5, zmm5, zmm10790        vpxord  zmm6, zmm6, zmm11791        vpxord  zmm7, zmm7, zmm8792        vpxord  zmm4, zmm4, zmm9793        vprord  zmm5, zmm5, 7794        vprord  zmm6, zmm6, 7795        vprord  zmm7, zmm7, 7796        vprord  zmm4, zmm4, 7797        vpaddd  zmm0, zmm0, zmm25798        vpaddd  zmm1, zmm1, zmm27799        vpaddd  zmm2, zmm2, zmm24800        vpaddd  zmm3, zmm3, zmm31801        vpaddd  zmm0, zmm0, zmm4802        vpaddd  zmm1, zmm1, zmm5803        vpaddd  zmm2, zmm2, zmm6804        vpaddd  zmm3, zmm3, zmm7805        vpxord  zmm12, zmm12, zmm0806        vpxord  zmm13, zmm13, zmm1807        vpxord  zmm14, zmm14, zmm2808        vpxord  zmm15, zmm15, zmm3809        vprord  zmm12, zmm12, 16810        vprord  zmm13, zmm13, 16811        vprord  zmm14, zmm14, 16812        vprord  zmm15, zmm15, 16813        vpaddd  zmm8, zmm8, zmm12814        vpaddd  zmm9, zmm9, zmm13815        vpaddd  zmm10, zmm10, zmm14816        vpaddd  zmm11, zmm11, zmm15817        vpxord  zmm4, zmm4, zmm8818        vpxord  zmm5, zmm5, zmm9819        vpxord  zmm6, zmm6, zmm10820        vpxord  zmm7, zmm7, zmm11821        vprord  zmm4, zmm4, 12822        vprord  zmm5, zmm5, 12823        vprord  zmm6, zmm6, 12824        vprord  zmm7, zmm7, 12825        vpaddd  zmm0, zmm0, zmm30826        vpaddd  zmm1, zmm1, zmm21827        vpaddd  zmm2, zmm2, zmm28828        vpaddd  zmm3, zmm3, zmm17829        vpaddd  zmm0, zmm0, zmm4830        vpaddd  zmm1, zmm1, zmm5831        vpaddd  zmm2, zmm2, zmm6832        vpaddd  zmm3, zmm3, zmm7833        vpxord  zmm12, zmm12, zmm0834        vpxord  zmm13, zmm13, zmm1835        vpxord  zmm14, zmm14, zmm2836        vpxord  zmm15, zmm15, zmm3837        vprord  zmm12, zmm12, 8838        vprord  zmm13, zmm13, 8839        vprord  zmm14, zmm14, 8840        vprord  zmm15, zmm15, 8841        vpaddd  zmm8, zmm8, zmm12842        vpaddd  zmm9, zmm9, zmm13843        vpaddd  zmm10, zmm10, zmm14844        vpaddd  zmm11, zmm11, zmm15845        vpxord  zmm4, zmm4, zmm8846        vpxord  zmm5, zmm5, zmm9847        vpxord  zmm6, zmm6, zmm10848        vpxord  zmm7, zmm7, zmm11849        vprord  zmm4, zmm4, 7850        vprord  zmm5, zmm5, 7851        vprord  zmm6, zmm6, 7852        vprord  zmm7, zmm7, 7853        vpaddd  zmm0, zmm0, zmm29854        vpaddd  zmm1, zmm1, zmm16855        vpaddd  zmm2, zmm2, zmm18856        vpaddd  zmm3, zmm3, zmm20857        vpaddd  zmm0, zmm0, zmm5858        vpaddd  zmm1, zmm1, zmm6859        vpaddd  zmm2, zmm2, zmm7860        vpaddd  zmm3, zmm3, zmm4861        vpxord  zmm15, zmm15, zmm0862        vpxord  zmm12, zmm12, zmm1863        vpxord  zmm13, zmm13, zmm2864        vpxord  zmm14, zmm14, zmm3865        vprord  zmm15, zmm15, 16866        vprord  zmm12, zmm12, 16867        vprord  zmm13, zmm13, 16868        vprord  zmm14, zmm14, 16869        vpaddd  zmm10, zmm10, zmm15870        vpaddd  zmm11, zmm11, zmm12871        vpaddd  zmm8, zmm8, zmm13872        vpaddd  zmm9, zmm9, zmm14873        vpxord  zmm5, zmm5, zmm10874        vpxord  zmm6, zmm6, zmm11875        vpxord  zmm7, zmm7, zmm8876        vpxord  zmm4, zmm4, zmm9877        vprord  zmm5, zmm5, 12878        vprord  zmm6, zmm6, 12879        vprord  zmm7, zmm7, 12880        vprord  zmm4, zmm4, 12881        vpaddd  zmm0, zmm0, zmm19882        vpaddd  zmm1, zmm1, zmm26883        vpaddd  zmm2, zmm2, zmm22884        vpaddd  zmm3, zmm3, zmm23885        vpaddd  zmm0, zmm0, zmm5886        vpaddd  zmm1, zmm1, zmm6887        vpaddd  zmm2, zmm2, zmm7888        vpaddd  zmm3, zmm3, zmm4889        vpxord  zmm15, zmm15, zmm0890        vpxord  zmm12, zmm12, zmm1891        vpxord  zmm13, zmm13, zmm2892        vpxord  zmm14, zmm14, zmm3893        vprord  zmm15, zmm15, 8894        vprord  zmm12, zmm12, 8895        vprord  zmm13, zmm13, 8896        vprord  zmm14, zmm14, 8897        vpaddd  zmm10, zmm10, zmm15898        vpaddd  zmm11, zmm11, zmm12899        vpaddd  zmm8, zmm8, zmm13900        vpaddd  zmm9, zmm9, zmm14901        vpxord  zmm5, zmm5, zmm10902        vpxord  zmm6, zmm6, zmm11903        vpxord  zmm7, zmm7, zmm8904        vpxord  zmm4, zmm4, zmm9905        vprord  zmm5, zmm5, 7906        vprord  zmm6, zmm6, 7907        vprord  zmm7, zmm7, 7908        vprord  zmm4, zmm4, 7909        vpaddd  zmm0, zmm0, zmm27910        vpaddd  zmm1, zmm1, zmm21911        vpaddd  zmm2, zmm2, zmm17912        vpaddd  zmm3, zmm3, zmm24913        vpaddd  zmm0, zmm0, zmm4914        vpaddd  zmm1, zmm1, zmm5915        vpaddd  zmm2, zmm2, zmm6916        vpaddd  zmm3, zmm3, zmm7917        vpxord  zmm12, zmm12, zmm0918        vpxord  zmm13, zmm13, zmm1919        vpxord  zmm14, zmm14, zmm2920        vpxord  zmm15, zmm15, zmm3921        vprord  zmm12, zmm12, 16922        vprord  zmm13, zmm13, 16923        vprord  zmm14, zmm14, 16924        vprord  zmm15, zmm15, 16925        vpaddd  zmm8, zmm8, zmm12926        vpaddd  zmm9, zmm9, zmm13927        vpaddd  zmm10, zmm10, zmm14928        vpaddd  zmm11, zmm11, zmm15929        vpxord  zmm4, zmm4, zmm8930        vpxord  zmm5, zmm5, zmm9931        vpxord  zmm6, zmm6, zmm10932        vpxord  zmm7, zmm7, zmm11933        vprord  zmm4, zmm4, 12934        vprord  zmm5, zmm5, 12935        vprord  zmm6, zmm6, 12936        vprord  zmm7, zmm7, 12937        vpaddd  zmm0, zmm0, zmm31938        vpaddd  zmm1, zmm1, zmm16939        vpaddd  zmm2, zmm2, zmm25940        vpaddd  zmm3, zmm3, zmm22941        vpaddd  zmm0, zmm0, zmm4942        vpaddd  zmm1, zmm1, zmm5943        vpaddd  zmm2, zmm2, zmm6944        vpaddd  zmm3, zmm3, zmm7945        vpxord  zmm12, zmm12, zmm0946        vpxord  zmm13, zmm13, zmm1947        vpxord  zmm14, zmm14, zmm2948        vpxord  zmm15, zmm15, zmm3949        vprord  zmm12, zmm12, 8950        vprord  zmm13, zmm13, 8951        vprord  zmm14, zmm14, 8952        vprord  zmm15, zmm15, 8953        vpaddd  zmm8, zmm8, zmm12954        vpaddd  zmm9, zmm9, zmm13955        vpaddd  zmm10, zmm10, zmm14956        vpaddd  zmm11, zmm11, zmm15957        vpxord  zmm4, zmm4, zmm8958        vpxord  zmm5, zmm5, zmm9959        vpxord  zmm6, zmm6, zmm10960        vpxord  zmm7, zmm7, zmm11961        vprord  zmm4, zmm4, 7962        vprord  zmm5, zmm5, 7963        vprord  zmm6, zmm6, 7964        vprord  zmm7, zmm7, 7965        vpaddd  zmm0, zmm0, zmm30966        vpaddd  zmm1, zmm1, zmm18967        vpaddd  zmm2, zmm2, zmm19968        vpaddd  zmm3, zmm3, zmm23969        vpaddd  zmm0, zmm0, zmm5970        vpaddd  zmm1, zmm1, zmm6971        vpaddd  zmm2, zmm2, zmm7972        vpaddd  zmm3, zmm3, zmm4973        vpxord  zmm15, zmm15, zmm0974        vpxord  zmm12, zmm12, zmm1975        vpxord  zmm13, zmm13, zmm2976        vpxord  zmm14, zmm14, zmm3977        vprord  zmm15, zmm15, 16978        vprord  zmm12, zmm12, 16979        vprord  zmm13, zmm13, 16980        vprord  zmm14, zmm14, 16981        vpaddd  zmm10, zmm10, zmm15982        vpaddd  zmm11, zmm11, zmm12983        vpaddd  zmm8, zmm8, zmm13984        vpaddd  zmm9, zmm9, zmm14985        vpxord  zmm5, zmm5, zmm10986        vpxord  zmm6, zmm6, zmm11987        vpxord  zmm7, zmm7, zmm8988        vpxord  zmm4, zmm4, zmm9989        vprord  zmm5, zmm5, 12990        vprord  zmm6, zmm6, 12991        vprord  zmm7, zmm7, 12992        vprord  zmm4, zmm4, 12993        vpaddd  zmm0, zmm0, zmm26994        vpaddd  zmm1, zmm1, zmm28995        vpaddd  zmm2, zmm2, zmm20996        vpaddd  zmm3, zmm3, zmm29997        vpaddd  zmm0, zmm0, zmm5998        vpaddd  zmm1, zmm1, zmm6999        vpaddd  zmm2, zmm2, zmm71000        vpaddd  zmm3, zmm3, zmm41001        vpxord  zmm15, zmm15, zmm01002        vpxord  zmm12, zmm12, zmm11003        vpxord  zmm13, zmm13, zmm21004        vpxord  zmm14, zmm14, zmm31005        vprord  zmm15, zmm15, 81006        vprord  zmm12, zmm12, 81007        vprord  zmm13, zmm13, 81008        vprord  zmm14, zmm14, 81009        vpaddd  zmm10, zmm10, zmm151010        vpaddd  zmm11, zmm11, zmm121011        vpaddd  zmm8, zmm8, zmm131012        vpaddd  zmm9, zmm9, zmm141013        vpxord  zmm5, zmm5, zmm101014        vpxord  zmm6, zmm6, zmm111015        vpxord  zmm7, zmm7, zmm81016        vpxord  zmm4, zmm4, zmm91017        vprord  zmm5, zmm5, 71018        vprord  zmm6, zmm6, 71019        vprord  zmm7, zmm7, 71020        vprord  zmm4, zmm4, 71021        vpxord  zmm0, zmm0, zmm81022        vpxord  zmm1, zmm1, zmm91023        vpxord  zmm2, zmm2, zmm101024        vpxord  zmm3, zmm3, zmm111025        vpxord  zmm4, zmm4, zmm121026        vpxord  zmm5, zmm5, zmm131027        vpxord  zmm6, zmm6, zmm141028        vpxord  zmm7, zmm7, zmm151029        movzx   eax, byte ptr [rbp+0x78]1030        jne     9b1031        mov     rbx, qword ptr [rbp+0x90]1032        vpunpckldq zmm16, zmm0, zmm11033        vpunpckhdq zmm17, zmm0, zmm11034        vpunpckldq zmm18, zmm2, zmm31035        vpunpckhdq zmm19, zmm2, zmm31036        vpunpckldq zmm20, zmm4, zmm51037        vpunpckhdq zmm21, zmm4, zmm51038        vpunpckldq zmm22, zmm6, zmm71039        vpunpckhdq zmm23, zmm6, zmm71040        vpunpcklqdq zmm0, zmm16, zmm181041        vpunpckhqdq zmm1, zmm16, zmm181042        vpunpcklqdq zmm2, zmm17, zmm191043        vpunpckhqdq zmm3, zmm17, zmm191044        vpunpcklqdq zmm4, zmm20, zmm221045        vpunpckhqdq zmm5, zmm20, zmm221046        vpunpcklqdq zmm6, zmm21, zmm231047        vpunpckhqdq zmm7, zmm21, zmm231048        vshufi32x4 zmm16, zmm0, zmm4, 0x881049        vshufi32x4 zmm17, zmm1, zmm5, 0x881050        vshufi32x4 zmm18, zmm2, zmm6, 0x881051        vshufi32x4 zmm19, zmm3, zmm7, 0x881052        vshufi32x4 zmm20, zmm0, zmm4, 0xDD1053        vshufi32x4 zmm21, zmm1, zmm5, 0xDD1054        vshufi32x4 zmm22, zmm2, zmm6, 0xDD1055        vshufi32x4 zmm23, zmm3, zmm7, 0xDD1056        vshufi32x4 zmm0, zmm16, zmm17, 0x881057        vshufi32x4 zmm1, zmm18, zmm19, 0x881058        vshufi32x4 zmm2, zmm20, zmm21, 0x881059        vshufi32x4 zmm3, zmm22, zmm23, 0x881060        vshufi32x4 zmm4, zmm16, zmm17, 0xDD1061        vshufi32x4 zmm5, zmm18, zmm19, 0xDD1062        vshufi32x4 zmm6, zmm20, zmm21, 0xDD1063        vshufi32x4 zmm7, zmm22, zmm23, 0xDD1064        vmovdqu32 zmmword ptr [rbx], zmm01065        vmovdqu32 zmmword ptr [rbx+0x1*0x40], zmm11066        vmovdqu32 zmmword ptr [rbx+0x2*0x40], zmm21067        vmovdqu32 zmmword ptr [rbx+0x3*0x40], zmm31068        vmovdqu32 zmmword ptr [rbx+0x4*0x40], zmm41069        vmovdqu32 zmmword ptr [rbx+0x5*0x40], zmm51070        vmovdqu32 zmmword ptr [rbx+0x6*0x40], zmm61071        vmovdqu32 zmmword ptr [rbx+0x7*0x40], zmm71072        vmovdqa32 zmm0, zmmword ptr [rsp]1073        vmovdqa32 zmm1, zmmword ptr [rsp+0x1*0x40]1074        vmovdqa32 zmm2, zmm01075        vpaddd  zmm2{k1}, zmm0, dword ptr [ADD16+rip] {1to16}1076        vpcmpltud k2, zmm2, zmm01077        vpaddd  zmm1 {k2}, zmm1, dword ptr [ADD1+rip] {1to16}1078        vmovdqa32 zmmword ptr [rsp], zmm21079        vmovdqa32 zmmword ptr [rsp+0x1*0x40], zmm11080        add     rdi, 1281081        add     rbx, 5121082        mov     qword ptr [rbp+0x90], rbx1083        sub     rsi, 161084        cmp     rsi, 161085        jnc     2b1086        test    rsi, rsi1087        jne     3f10884:1089        vzeroupper1090        vmovdqa xmm6, xmmword ptr [rsp+0x90]1091        vmovdqa xmm7, xmmword ptr [rsp+0xA0]1092        vmovdqa xmm8, xmmword ptr [rsp+0xB0]1093        vmovdqa xmm9, xmmword ptr [rsp+0xC0]1094        vmovdqa xmm10, xmmword ptr [rsp+0xD0]1095        vmovdqa xmm11, xmmword ptr [rsp+0xE0]1096        vmovdqa xmm12, xmmword ptr [rsp+0xF0]1097        vmovdqa xmm13, xmmword ptr [rsp+0x100]1098        vmovdqa xmm14, xmmword ptr [rsp+0x110]1099        vmovdqa xmm15, xmmword ptr [rsp+0x120]1100        mov     rsp, rbp1101        pop     rbp1102        pop     rbx1103        pop     rsi1104        pop     rdi1105        pop     r121106        pop     r131107        pop     r141108        pop     r151109        ret1110.p2align 611113:1112        test    esi, 0x81113        je      3f1114        vpbroadcastd ymm0, dword ptr [rcx]1115        vpbroadcastd ymm1, dword ptr [rcx+0x4]1116        vpbroadcastd ymm2, dword ptr [rcx+0x8]1117        vpbroadcastd ymm3, dword ptr [rcx+0xC]1118        vpbroadcastd ymm4, dword ptr [rcx+0x10]1119        vpbroadcastd ymm5, dword ptr [rcx+0x14]1120        vpbroadcastd ymm6, dword ptr [rcx+0x18]1121        vpbroadcastd ymm7, dword ptr [rcx+0x1C]1122        mov     r8, qword ptr [rdi]1123        mov     r9, qword ptr [rdi+0x8]1124        mov     r10, qword ptr [rdi+0x10]1125        mov     r11, qword ptr [rdi+0x18]1126        mov     r12, qword ptr [rdi+0x20]1127        mov     r13, qword ptr [rdi+0x28]1128        mov     r14, qword ptr [rdi+0x30]1129        mov     r15, qword ptr [rdi+0x38]1130        movzx   eax, byte ptr [rbp+0x78]1131        movzx   ebx, byte ptr [rbp+0x80]1132        or      eax, ebx1133        xor     edx, edx11342:1135        movzx   ebx, byte ptr [rbp+0x88]1136        or      ebx, eax1137        add     rdx, 641138        cmp     rdx, qword ptr [rsp+0x80]1139        cmove   eax, ebx1140        mov     dword ptr [rsp+0x88], eax1141        vmovups xmm8, xmmword ptr [r8+rdx-0x40]1142        vinsertf128 ymm8, ymm8, xmmword ptr [r12+rdx-0x40], 0x011143        vmovups xmm9, xmmword ptr [r9+rdx-0x40]1144        vinsertf128 ymm9, ymm9, xmmword ptr [r13+rdx-0x40], 0x011145        vunpcklpd ymm12, ymm8, ymm91146        vunpckhpd ymm13, ymm8, ymm91147        vmovups xmm10, xmmword ptr [r10+rdx-0x40]1148        vinsertf128 ymm10, ymm10, xmmword ptr [r14+rdx-0x40], 0x011149        vmovups xmm11, xmmword ptr [r11+rdx-0x40]1150        vinsertf128 ymm11, ymm11, xmmword ptr [r15+rdx-0x40], 0x011151        vunpcklpd ymm14, ymm10, ymm111152        vunpckhpd ymm15, ymm10, ymm111153        vshufps ymm16, ymm12, ymm14, 1361154        vshufps ymm17, ymm12, ymm14, 2211155        vshufps ymm18, ymm13, ymm15, 1361156        vshufps ymm19, ymm13, ymm15, 2211157        vmovups xmm8, xmmword ptr [r8+rdx-0x30]1158        vinsertf128 ymm8, ymm8, xmmword ptr [r12+rdx-0x30], 0x011159        vmovups xmm9, xmmword ptr [r9+rdx-0x30]1160        vinsertf128 ymm9, ymm9, xmmword ptr [r13+rdx-0x30], 0x011161        vunpcklpd ymm12, ymm8, ymm91162        vunpckhpd ymm13, ymm8, ymm91163        vmovups xmm10, xmmword ptr [r10+rdx-0x30]1164        vinsertf128 ymm10, ymm10, xmmword ptr [r14+rdx-0x30], 0x011165        vmovups xmm11, xmmword ptr [r11+rdx-0x30]1166        vinsertf128 ymm11, ymm11, xmmword ptr [r15+rdx-0x30], 0x011167        vunpcklpd ymm14, ymm10, ymm111168        vunpckhpd ymm15, ymm10, ymm111169        vshufps ymm20, ymm12, ymm14, 1361170        vshufps ymm21, ymm12, ymm14, 2211171        vshufps ymm22, ymm13, ymm15, 1361172        vshufps ymm23, ymm13, ymm15, 2211173        vmovups xmm8, xmmword ptr [r8+rdx-0x20]1174        vinsertf128 ymm8, ymm8, xmmword ptr [r12+rdx-0x20], 0x011175        vmovups xmm9, xmmword ptr [r9+rdx-0x20]1176        vinsertf128 ymm9, ymm9, xmmword ptr [r13+rdx-0x20], 0x011177        vunpcklpd ymm12, ymm8, ymm91178        vunpckhpd ymm13, ymm8, ymm91179        vmovups xmm10, xmmword ptr [r10+rdx-0x20]1180        vinsertf128 ymm10, ymm10, xmmword ptr [r14+rdx-0x20], 0x011181        vmovups xmm11, xmmword ptr [r11+rdx-0x20]1182        vinsertf128 ymm11, ymm11, xmmword ptr [r15+rdx-0x20], 0x011183        vunpcklpd ymm14, ymm10, ymm111184        vunpckhpd ymm15, ymm10, ymm111185        vshufps ymm24, ymm12, ymm14, 1361186        vshufps ymm25, ymm12, ymm14, 2211187        vshufps ymm26, ymm13, ymm15, 1361188        vshufps ymm27, ymm13, ymm15, 2211189        vmovups xmm8, xmmword ptr [r8+rdx-0x10]1190        vinsertf128 ymm8, ymm8, xmmword ptr [r12+rdx-0x10], 0x011191        vmovups xmm9, xmmword ptr [r9+rdx-0x10]1192        vinsertf128 ymm9, ymm9, xmmword ptr [r13+rdx-0x10], 0x011193        vunpcklpd ymm12, ymm8, ymm91194        vunpckhpd ymm13, ymm8, ymm91195        vmovups xmm10, xmmword ptr [r10+rdx-0x10]1196        vinsertf128 ymm10, ymm10, xmmword ptr [r14+rdx-0x10], 0x011197        vmovups xmm11, xmmword ptr [r11+rdx-0x10]1198        vinsertf128 ymm11, ymm11, xmmword ptr [r15+rdx-0x10], 0x011199        vunpcklpd ymm14, ymm10, ymm111200        vunpckhpd ymm15, ymm10, ymm111201        vshufps ymm28, ymm12, ymm14, 1361202        vshufps ymm29, ymm12, ymm14, 2211203        vshufps ymm30, ymm13, ymm15, 1361204        vshufps ymm31, ymm13, ymm15, 2211205        vpbroadcastd ymm8, dword ptr [BLAKE3_IV_0+rip]1206        vpbroadcastd ymm9, dword ptr [BLAKE3_IV_1+rip]1207        vpbroadcastd ymm10, dword ptr [BLAKE3_IV_2+rip]1208        vpbroadcastd ymm11, dword ptr [BLAKE3_IV_3+rip]1209        vmovdqa ymm12, ymmword ptr [rsp]1210        vmovdqa ymm13, ymmword ptr [rsp+0x40]1211        vpbroadcastd ymm14, dword ptr [BLAKE3_BLOCK_LEN+rip]1212        vpbroadcastd ymm15, dword ptr [rsp+0x88]1213        vpaddd  ymm0, ymm0, ymm161214        vpaddd  ymm1, ymm1, ymm181215        vpaddd  ymm2, ymm2, ymm201216        vpaddd  ymm3, ymm3, ymm221217        vpaddd  ymm0, ymm0, ymm41218        vpaddd  ymm1, ymm1, ymm51219        vpaddd  ymm2, ymm2, ymm61220        vpaddd  ymm3, ymm3, ymm71221        vpxord  ymm12, ymm12, ymm01222        vpxord  ymm13, ymm13, ymm11223        vpxord  ymm14, ymm14, ymm21224        vpxord  ymm15, ymm15, ymm31225        vprord  ymm12, ymm12, 161226        vprord  ymm13, ymm13, 161227        vprord  ymm14, ymm14, 161228        vprord  ymm15, ymm15, 161229        vpaddd  ymm8, ymm8, ymm121230        vpaddd  ymm9, ymm9, ymm131231        vpaddd  ymm10, ymm10, ymm141232        vpaddd  ymm11, ymm11, ymm151233        vpxord  ymm4, ymm4, ymm81234        vpxord  ymm5, ymm5, ymm91235        vpxord  ymm6, ymm6, ymm101236        vpxord  ymm7, ymm7, ymm111237        vprord  ymm4, ymm4, 121238        vprord  ymm5, ymm5, 121239        vprord  ymm6, ymm6, 121240        vprord  ymm7, ymm7, 121241        vpaddd  ymm0, ymm0, ymm171242        vpaddd  ymm1, ymm1, ymm191243        vpaddd  ymm2, ymm2, ymm211244        vpaddd  ymm3, ymm3, ymm231245        vpaddd  ymm0, ymm0, ymm41246        vpaddd  ymm1, ymm1, ymm51247        vpaddd  ymm2, ymm2, ymm61248        vpaddd  ymm3, ymm3, ymm71249        vpxord  ymm12, ymm12, ymm01250        vpxord  ymm13, ymm13, ymm11251        vpxord  ymm14, ymm14, ymm21252        vpxord  ymm15, ymm15, ymm31253        vprord  ymm12, ymm12, 81254        vprord  ymm13, ymm13, 81255        vprord  ymm14, ymm14, 81256        vprord  ymm15, ymm15, 81257        vpaddd  ymm8, ymm8, ymm121258        vpaddd  ymm9, ymm9, ymm131259        vpaddd  ymm10, ymm10, ymm141260        vpaddd  ymm11, ymm11, ymm151261        vpxord  ymm4, ymm4, ymm81262        vpxord  ymm5, ymm5, ymm91263        vpxord  ymm6, ymm6, ymm101264        vpxord  ymm7, ymm7, ymm111265        vprord  ymm4, ymm4, 71266        vprord  ymm5, ymm5, 71267        vprord  ymm6, ymm6, 71268        vprord  ymm7, ymm7, 71269        vpaddd  ymm0, ymm0, ymm241270        vpaddd  ymm1, ymm1, ymm261271        vpaddd  ymm2, ymm2, ymm281272        vpaddd  ymm3, ymm3, ymm301273        vpaddd  ymm0, ymm0, ymm51274        vpaddd  ymm1, ymm1, ymm61275        vpaddd  ymm2, ymm2, ymm71276        vpaddd  ymm3, ymm3, ymm41277        vpxord  ymm15, ymm15, ymm01278        vpxord  ymm12, ymm12, ymm11279        vpxord  ymm13, ymm13, ymm21280        vpxord  ymm14, ymm14, ymm31281        vprord  ymm15, ymm15, 161282        vprord  ymm12, ymm12, 161283        vprord  ymm13, ymm13, 161284        vprord  ymm14, ymm14, 161285        vpaddd  ymm10, ymm10, ymm151286        vpaddd  ymm11, ymm11, ymm121287        vpaddd  ymm8, ymm8, ymm131288        vpaddd  ymm9, ymm9, ymm141289        vpxord  ymm5, ymm5, ymm101290        vpxord  ymm6, ymm6, ymm111291        vpxord  ymm7, ymm7, ymm81292        vpxord  ymm4, ymm4, ymm91293        vprord  ymm5, ymm5, 121294        vprord  ymm6, ymm6, 121295        vprord  ymm7, ymm7, 121296        vprord  ymm4, ymm4, 121297        vpaddd  ymm0, ymm0, ymm251298        vpaddd  ymm1, ymm1, ymm271299        vpaddd  ymm2, ymm2, ymm291300        vpaddd  ymm3, ymm3, ymm311301        vpaddd  ymm0, ymm0, ymm51302        vpaddd  ymm1, ymm1, ymm61303        vpaddd  ymm2, ymm2, ymm71304        vpaddd  ymm3, ymm3, ymm41305        vpxord  ymm15, ymm15, ymm01306        vpxord  ymm12, ymm12, ymm11307        vpxord  ymm13, ymm13, ymm21308        vpxord  ymm14, ymm14, ymm31309        vprord  ymm15, ymm15, 81310        vprord  ymm12, ymm12, 81311        vprord  ymm13, ymm13, 81312        vprord  ymm14, ymm14, 81313        vpaddd  ymm10, ymm10, ymm151314        vpaddd  ymm11, ymm11, ymm121315        vpaddd  ymm8, ymm8, ymm131316        vpaddd  ymm9, ymm9, ymm141317        vpxord  ymm5, ymm5, ymm101318        vpxord  ymm6, ymm6, ymm111319        vpxord  ymm7, ymm7, ymm81320        vpxord  ymm4, ymm4, ymm91321        vprord  ymm5, ymm5, 71322        vprord  ymm6, ymm6, 71323        vprord  ymm7, ymm7, 71324        vprord  ymm4, ymm4, 71325        vpaddd  ymm0, ymm0, ymm181326        vpaddd  ymm1, ymm1, ymm191327        vpaddd  ymm2, ymm2, ymm231328        vpaddd  ymm3, ymm3, ymm201329        vpaddd  ymm0, ymm0, ymm41330        vpaddd  ymm1, ymm1, ymm51331        vpaddd  ymm2, ymm2, ymm61332        vpaddd  ymm3, ymm3, ymm71333        vpxord  ymm12, ymm12, ymm01334        vpxord  ymm13, ymm13, ymm11335        vpxord  ymm14, ymm14, ymm21336        vpxord  ymm15, ymm15, ymm31337        vprord  ymm12, ymm12, 161338        vprord  ymm13, ymm13, 161339        vprord  ymm14, ymm14, 161340        vprord  ymm15, ymm15, 161341        vpaddd  ymm8, ymm8, ymm121342        vpaddd  ymm9, ymm9, ymm131343        vpaddd  ymm10, ymm10, ymm141344        vpaddd  ymm11, ymm11, ymm151345        vpxord  ymm4, ymm4, ymm81346        vpxord  ymm5, ymm5, ymm91347        vpxord  ymm6, ymm6, ymm101348        vpxord  ymm7, ymm7, ymm111349        vprord  ymm4, ymm4, 121350        vprord  ymm5, ymm5, 121351        vprord  ymm6, ymm6, 121352        vprord  ymm7, ymm7, 121353        vpaddd  ymm0, ymm0, ymm221354        vpaddd  ymm1, ymm1, ymm261355        vpaddd  ymm2, ymm2, ymm161356        vpaddd  ymm3, ymm3, ymm291357        vpaddd  ymm0, ymm0, ymm41358        vpaddd  ymm1, ymm1, ymm51359        vpaddd  ymm2, ymm2, ymm61360        vpaddd  ymm3, ymm3, ymm71361        vpxord  ymm12, ymm12, ymm01362        vpxord  ymm13, ymm13, ymm11363        vpxord  ymm14, ymm14, ymm21364        vpxord  ymm15, ymm15, ymm31365        vprord  ymm12, ymm12, 81366        vprord  ymm13, ymm13, 81367        vprord  ymm14, ymm14, 81368        vprord  ymm15, ymm15, 81369        vpaddd  ymm8, ymm8, ymm121370        vpaddd  ymm9, ymm9, ymm131371        vpaddd  ymm10, ymm10, ymm141372        vpaddd  ymm11, ymm11, ymm151373        vpxord  ymm4, ymm4, ymm81374        vpxord  ymm5, ymm5, ymm91375        vpxord  ymm6, ymm6, ymm101376        vpxord  ymm7, ymm7, ymm111377        vprord  ymm4, ymm4, 71378        vprord  ymm5, ymm5, 71379        vprord  ymm6, ymm6, 71380        vprord  ymm7, ymm7, 71381        vpaddd  ymm0, ymm0, ymm171382        vpaddd  ymm1, ymm1, ymm281383        vpaddd  ymm2, ymm2, ymm251384        vpaddd  ymm3, ymm3, ymm311385        vpaddd  ymm0, ymm0, ymm51386        vpaddd  ymm1, ymm1, ymm61387        vpaddd  ymm2, ymm2, ymm71388        vpaddd  ymm3, ymm3, ymm41389        vpxord  ymm15, ymm15, ymm01390        vpxord  ymm12, ymm12, ymm11391        vpxord  ymm13, ymm13, ymm21392        vpxord  ymm14, ymm14, ymm31393        vprord  ymm15, ymm15, 161394        vprord  ymm12, ymm12, 161395        vprord  ymm13, ymm13, 161396        vprord  ymm14, ymm14, 161397        vpaddd  ymm10, ymm10, ymm151398        vpaddd  ymm11, ymm11, ymm121399        vpaddd  ymm8, ymm8, ymm131400        vpaddd  ymm9, ymm9, ymm141401        vpxord  ymm5, ymm5, ymm101402        vpxord  ymm6, ymm6, ymm111403        vpxord  ymm7, ymm7, ymm81404        vpxord  ymm4, ymm4, ymm91405        vprord  ymm5, ymm5, 121406        vprord  ymm6, ymm6, 121407        vprord  ymm7, ymm7, 121408        vprord  ymm4, ymm4, 121409        vpaddd  ymm0, ymm0, ymm271410        vpaddd  ymm1, ymm1, ymm211411        vpaddd  ymm2, ymm2, ymm301412        vpaddd  ymm3, ymm3, ymm241413        vpaddd  ymm0, ymm0, ymm51414        vpaddd  ymm1, ymm1, ymm61415        vpaddd  ymm2, ymm2, ymm71416        vpaddd  ymm3, ymm3, ymm41417        vpxord  ymm15, ymm15, ymm01418        vpxord  ymm12, ymm12, ymm11419        vpxord  ymm13, ymm13, ymm21420        vpxord  ymm14, ymm14, ymm31421        vprord  ymm15, ymm15, 81422        vprord  ymm12, ymm12, 81423        vprord  ymm13, ymm13, 81424        vprord  ymm14, ymm14, 81425        vpaddd  ymm10, ymm10, ymm151426        vpaddd  ymm11, ymm11, ymm121427        vpaddd  ymm8, ymm8, ymm131428        vpaddd  ymm9, ymm9, ymm141429        vpxord  ymm5, ymm5, ymm101430        vpxord  ymm6, ymm6, ymm111431        vpxord  ymm7, ymm7, ymm81432        vpxord  ymm4, ymm4, ymm91433        vprord  ymm5, ymm5, 71434        vprord  ymm6, ymm6, 71435        vprord  ymm7, ymm7, 71436        vprord  ymm4, ymm4, 71437        vpaddd  ymm0, ymm0, ymm191438        vpaddd  ymm1, ymm1, ymm261439        vpaddd  ymm2, ymm2, ymm291440        vpaddd  ymm3, ymm3, ymm231441        vpaddd  ymm0, ymm0, ymm41442        vpaddd  ymm1, ymm1, ymm51443        vpaddd  ymm2, ymm2, ymm61444        vpaddd  ymm3, ymm3, ymm71445        vpxord  ymm12, ymm12, ymm01446        vpxord  ymm13, ymm13, ymm11447        vpxord  ymm14, ymm14, ymm21448        vpxord  ymm15, ymm15, ymm31449        vprord  ymm12, ymm12, 161450        vprord  ymm13, ymm13, 161451        vprord  ymm14, ymm14, 161452        vprord  ymm15, ymm15, 161453        vpaddd  ymm8, ymm8, ymm121454        vpaddd  ymm9, ymm9, ymm131455        vpaddd  ymm10, ymm10, ymm141456        vpaddd  ymm11, ymm11, ymm151457        vpxord  ymm4, ymm4, ymm81458        vpxord  ymm5, ymm5, ymm91459        vpxord  ymm6, ymm6, ymm101460        vpxord  ymm7, ymm7, ymm111461        vprord  ymm4, ymm4, 121462        vprord  ymm5, ymm5, 121463        vprord  ymm6, ymm6, 121464        vprord  ymm7, ymm7, 121465        vpaddd  ymm0, ymm0, ymm201466        vpaddd  ymm1, ymm1, ymm281467        vpaddd  ymm2, ymm2, ymm181468        vpaddd  ymm3, ymm3, ymm301469        vpaddd  ymm0, ymm0, ymm41470        vpaddd  ymm1, ymm1, ymm51471        vpaddd  ymm2, ymm2, ymm61472        vpaddd  ymm3, ymm3, ymm71473        vpxord  ymm12, ymm12, ymm01474        vpxord  ymm13, ymm13, ymm11475        vpxord  ymm14, ymm14, ymm21476        vpxord  ymm15, ymm15, ymm31477        vprord  ymm12, ymm12, 81478        vprord  ymm13, ymm13, 81479        vprord  ymm14, ymm14, 81480        vprord  ymm15, ymm15, 81481        vpaddd  ymm8, ymm8, ymm121482        vpaddd  ymm9, ymm9, ymm131483        vpaddd  ymm10, ymm10, ymm141484        vpaddd  ymm11, ymm11, ymm151485        vpxord  ymm4, ymm4, ymm81486        vpxord  ymm5, ymm5, ymm91487        vpxord  ymm6, ymm6, ymm101488        vpxord  ymm7, ymm7, ymm111489        vprord  ymm4, ymm4, 71490        vprord  ymm5, ymm5, 71491        vprord  ymm6, ymm6, 71492        vprord  ymm7, ymm7, 71493        vpaddd  ymm0, ymm0, ymm221494        vpaddd  ymm1, ymm1, ymm251495        vpaddd  ymm2, ymm2, ymm271496        vpaddd  ymm3, ymm3, ymm241497        vpaddd  ymm0, ymm0, ymm51498        vpaddd  ymm1, ymm1, ymm61499        vpaddd  ymm2, ymm2, ymm71500        vpaddd  ymm3, ymm3, ymm41501        vpxord  ymm15, ymm15, ymm01502        vpxord  ymm12, ymm12, ymm11503        vpxord  ymm13, ymm13, ymm21504        vpxord  ymm14, ymm14, ymm31505        vprord  ymm15, ymm15, 161506        vprord  ymm12, ymm12, 161507        vprord  ymm13, ymm13, 161508        vprord  ymm14, ymm14, 161509        vpaddd  ymm10, ymm10, ymm151510        vpaddd  ymm11, ymm11, ymm121511        vpaddd  ymm8, ymm8, ymm131512        vpaddd  ymm9, ymm9, ymm141513        vpxord  ymm5, ymm5, ymm101514        vpxord  ymm6, ymm6, ymm111515        vpxord  ymm7, ymm7, ymm81516        vpxord  ymm4, ymm4, ymm91517        vprord  ymm5, ymm5, 121518        vprord  ymm6, ymm6, 121519        vprord  ymm7, ymm7, 121520        vprord  ymm4, ymm4, 121521        vpaddd  ymm0, ymm0, ymm211522        vpaddd  ymm1, ymm1, ymm161523        vpaddd  ymm2, ymm2, ymm311524        vpaddd  ymm3, ymm3, ymm171525        vpaddd  ymm0, ymm0, ymm51526        vpaddd  ymm1, ymm1, ymm61527        vpaddd  ymm2, ymm2, ymm71528        vpaddd  ymm3, ymm3, ymm41529        vpxord  ymm15, ymm15, ymm01530        vpxord  ymm12, ymm12, ymm11531        vpxord  ymm13, ymm13, ymm21532        vpxord  ymm14, ymm14, ymm31533        vprord  ymm15, ymm15, 81534        vprord  ymm12, ymm12, 81535        vprord  ymm13, ymm13, 81536        vprord  ymm14, ymm14, 81537        vpaddd  ymm10, ymm10, ymm151538        vpaddd  ymm11, ymm11, ymm121539        vpaddd  ymm8, ymm8, ymm131540        vpaddd  ymm9, ymm9, ymm141541        vpxord  ymm5, ymm5, ymm101542        vpxord  ymm6, ymm6, ymm111543        vpxord  ymm7, ymm7, ymm81544        vpxord  ymm4, ymm4, ymm91545        vprord  ymm5, ymm5, 71546        vprord  ymm6, ymm6, 71547        vprord  ymm7, ymm7, 71548        vprord  ymm4, ymm4, 71549        vpaddd  ymm0, ymm0, ymm261550        vpaddd  ymm1, ymm1, ymm281551        vpaddd  ymm2, ymm2, ymm301552        vpaddd  ymm3, ymm3, ymm291553        vpaddd  ymm0, ymm0, ymm41554        vpaddd  ymm1, ymm1, ymm51555        vpaddd  ymm2, ymm2, ymm61556        vpaddd  ymm3, ymm3, ymm71557        vpxord  ymm12, ymm12, ymm01558        vpxord  ymm13, ymm13, ymm11559        vpxord  ymm14, ymm14, ymm21560        vpxord  ymm15, ymm15, ymm31561        vprord  ymm12, ymm12, 161562        vprord  ymm13, ymm13, 161563        vprord  ymm14, ymm14, 161564        vprord  ymm15, ymm15, 161565        vpaddd  ymm8, ymm8, ymm121566        vpaddd  ymm9, ymm9, ymm131567        vpaddd  ymm10, ymm10, ymm141568        vpaddd  ymm11, ymm11, ymm151569        vpxord  ymm4, ymm4, ymm81570        vpxord  ymm5, ymm5, ymm91571        vpxord  ymm6, ymm6, ymm101572        vpxord  ymm7, ymm7, ymm111573        vprord  ymm4, ymm4, 121574        vprord  ymm5, ymm5, 121575        vprord  ymm6, ymm6, 121576        vprord  ymm7, ymm7, 121577        vpaddd  ymm0, ymm0, ymm231578        vpaddd  ymm1, ymm1, ymm251579        vpaddd  ymm2, ymm2, ymm191580        vpaddd  ymm3, ymm3, ymm311581        vpaddd  ymm0, ymm0, ymm41582        vpaddd  ymm1, ymm1, ymm51583        vpaddd  ymm2, ymm2, ymm61584        vpaddd  ymm3, ymm3, ymm71585        vpxord  ymm12, ymm12, ymm01586        vpxord  ymm13, ymm13, ymm11587        vpxord  ymm14, ymm14, ymm21588        vpxord  ymm15, ymm15, ymm31589        vprord  ymm12, ymm12, 81590        vprord  ymm13, ymm13, 81591        vprord  ymm14, ymm14, 81592        vprord  ymm15, ymm15, 81593        vpaddd  ymm8, ymm8, ymm121594        vpaddd  ymm9, ymm9, ymm131595        vpaddd  ymm10, ymm10, ymm141596        vpaddd  ymm11, ymm11, ymm151597        vpxord  ymm4, ymm4, ymm81598        vpxord  ymm5, ymm5, ymm91599        vpxord  ymm6, ymm6, ymm101600        vpxord  ymm7, ymm7, ymm111601        vprord  ymm4, ymm4, 71602        vprord  ymm5, ymm5, 71603        vprord  ymm6, ymm6, 71604        vprord  ymm7, ymm7, 71605        vpaddd  ymm0, ymm0, ymm201606        vpaddd  ymm1, ymm1, ymm271607        vpaddd  ymm2, ymm2, ymm211608        vpaddd  ymm3, ymm3, ymm171609        vpaddd  ymm0, ymm0, ymm51610        vpaddd  ymm1, ymm1, ymm61611        vpaddd  ymm2, ymm2, ymm71612        vpaddd  ymm3, ymm3, ymm41613        vpxord  ymm15, ymm15, ymm01614        vpxord  ymm12, ymm12, ymm11615        vpxord  ymm13, ymm13, ymm21616        vpxord  ymm14, ymm14, ymm31617        vprord  ymm15, ymm15, 161618        vprord  ymm12, ymm12, 161619        vprord  ymm13, ymm13, 161620        vprord  ymm14, ymm14, 161621        vpaddd  ymm10, ymm10, ymm151622        vpaddd  ymm11, ymm11, ymm121623        vpaddd  ymm8, ymm8, ymm131624        vpaddd  ymm9, ymm9, ymm141625        vpxord  ymm5, ymm5, ymm101626        vpxord  ymm6, ymm6, ymm111627        vpxord  ymm7, ymm7, ymm81628        vpxord  ymm4, ymm4, ymm91629        vprord  ymm5, ymm5, 121630        vprord  ymm6, ymm6, 121631        vprord  ymm7, ymm7, 121632        vprord  ymm4, ymm4, 121633        vpaddd  ymm0, ymm0, ymm161634        vpaddd  ymm1, ymm1, ymm181635        vpaddd  ymm2, ymm2, ymm241636        vpaddd  ymm3, ymm3, ymm221637        vpaddd  ymm0, ymm0, ymm51638        vpaddd  ymm1, ymm1, ymm61639        vpaddd  ymm2, ymm2, ymm71640        vpaddd  ymm3, ymm3, ymm41641        vpxord  ymm15, ymm15, ymm01642        vpxord  ymm12, ymm12, ymm11643        vpxord  ymm13, ymm13, ymm21644        vpxord  ymm14, ymm14, ymm31645        vprord  ymm15, ymm15, 81646        vprord  ymm12, ymm12, 81647        vprord  ymm13, ymm13, 81648        vprord  ymm14, ymm14, 81649        vpaddd  ymm10, ymm10, ymm151650        vpaddd  ymm11, ymm11, ymm121651        vpaddd  ymm8, ymm8, ymm131652        vpaddd  ymm9, ymm9, ymm141653        vpxord  ymm5, ymm5, ymm101654        vpxord  ymm6, ymm6, ymm111655        vpxord  ymm7, ymm7, ymm81656        vpxord  ymm4, ymm4, ymm91657        vprord  ymm5, ymm5, 71658        vprord  ymm6, ymm6, 71659        vprord  ymm7, ymm7, 71660        vprord  ymm4, ymm4, 71661        vpaddd  ymm0, ymm0, ymm281662        vpaddd  ymm1, ymm1, ymm251663        vpaddd  ymm2, ymm2, ymm311664        vpaddd  ymm3, ymm3, ymm301665        vpaddd  ymm0, ymm0, ymm41666        vpaddd  ymm1, ymm1, ymm51667        vpaddd  ymm2, ymm2, ymm61668        vpaddd  ymm3, ymm3, ymm71669        vpxord  ymm12, ymm12, ymm01670        vpxord  ymm13, ymm13, ymm11671        vpxord  ymm14, ymm14, ymm21672        vpxord  ymm15, ymm15, ymm31673        vprord  ymm12, ymm12, 161674        vprord  ymm13, ymm13, 161675        vprord  ymm14, ymm14, 161676        vprord  ymm15, ymm15, 161677        vpaddd  ymm8, ymm8, ymm121678        vpaddd  ymm9, ymm9, ymm131679        vpaddd  ymm10, ymm10, ymm141680        vpaddd  ymm11, ymm11, ymm151681        vpxord  ymm4, ymm4, ymm81682        vpxord  ymm5, ymm5, ymm91683        vpxord  ymm6, ymm6, ymm101684        vpxord  ymm7, ymm7, ymm111685        vprord  ymm4, ymm4, 121686        vprord  ymm5, ymm5, 121687        vprord  ymm6, ymm6, 121688        vprord  ymm7, ymm7, 121689        vpaddd  ymm0, ymm0, ymm291690        vpaddd  ymm1, ymm1, ymm271691        vpaddd  ymm2, ymm2, ymm261692        vpaddd  ymm3, ymm3, ymm241693        vpaddd  ymm0, ymm0, ymm41694        vpaddd  ymm1, ymm1, ymm51695        vpaddd  ymm2, ymm2, ymm61696        vpaddd  ymm3, ymm3, ymm71697        vpxord  ymm12, ymm12, ymm01698        vpxord  ymm13, ymm13, ymm11699        vpxord  ymm14, ymm14, ymm21700        vpxord  ymm15, ymm15, ymm31701        vprord  ymm12, ymm12, 81702        vprord  ymm13, ymm13, 81703        vprord  ymm14, ymm14, 81704        vprord  ymm15, ymm15, 81705        vpaddd  ymm8, ymm8, ymm121706        vpaddd  ymm9, ymm9, ymm131707        vpaddd  ymm10, ymm10, ymm141708        vpaddd  ymm11, ymm11, ymm151709        vpxord  ymm4, ymm4, ymm81710        vpxord  ymm5, ymm5, ymm91711        vpxord  ymm6, ymm6, ymm101712        vpxord  ymm7, ymm7, ymm111713        vprord  ymm4, ymm4, 71714        vprord  ymm5, ymm5, 71715        vprord  ymm6, ymm6, 71716        vprord  ymm7, ymm7, 71717        vpaddd  ymm0, ymm0, ymm231718        vpaddd  ymm1, ymm1, ymm211719        vpaddd  ymm2, ymm2, ymm161720        vpaddd  ymm3, ymm3, ymm221721        vpaddd  ymm0, ymm0, ymm51722        vpaddd  ymm1, ymm1, ymm61723        vpaddd  ymm2, ymm2, ymm71724        vpaddd  ymm3, ymm3, ymm41725        vpxord  ymm15, ymm15, ymm01726        vpxord  ymm12, ymm12, ymm11727        vpxord  ymm13, ymm13, ymm21728        vpxord  ymm14, ymm14, ymm31729        vprord  ymm15, ymm15, 161730        vprord  ymm12, ymm12, 161731        vprord  ymm13, ymm13, 161732        vprord  ymm14, ymm14, 161733        vpaddd  ymm10, ymm10, ymm151734        vpaddd  ymm11, ymm11, ymm121735        vpaddd  ymm8, ymm8, ymm131736        vpaddd  ymm9, ymm9, ymm141737        vpxord  ymm5, ymm5, ymm101738        vpxord  ymm6, ymm6, ymm111739        vpxord  ymm7, ymm7, ymm81740        vpxord  ymm4, ymm4, ymm91741        vprord  ymm5, ymm5, 121742        vprord  ymm6, ymm6, 121743        vprord  ymm7, ymm7, 121744        vprord  ymm4, ymm4, 121745        vpaddd  ymm0, ymm0, ymm181746        vpaddd  ymm1, ymm1, ymm191747        vpaddd  ymm2, ymm2, ymm171748        vpaddd  ymm3, ymm3, ymm201749        vpaddd  ymm0, ymm0, ymm51750        vpaddd  ymm1, ymm1, ymm61751        vpaddd  ymm2, ymm2, ymm71752        vpaddd  ymm3, ymm3, ymm41753        vpxord  ymm15, ymm15, ymm01754        vpxord  ymm12, ymm12, ymm11755        vpxord  ymm13, ymm13, ymm21756        vpxord  ymm14, ymm14, ymm31757        vprord  ymm15, ymm15, 81758        vprord  ymm12, ymm12, 81759        vprord  ymm13, ymm13, 81760        vprord  ymm14, ymm14, 81761        vpaddd  ymm10, ymm10, ymm151762        vpaddd  ymm11, ymm11, ymm121763        vpaddd  ymm8, ymm8, ymm131764        vpaddd  ymm9, ymm9, ymm141765        vpxord  ymm5, ymm5, ymm101766        vpxord  ymm6, ymm6, ymm111767        vpxord  ymm7, ymm7, ymm81768        vpxord  ymm4, ymm4, ymm91769        vprord  ymm5, ymm5, 71770        vprord  ymm6, ymm6, 71771        vprord  ymm7, ymm7, 71772        vprord  ymm4, ymm4, 71773        vpaddd  ymm0, ymm0, ymm251774        vpaddd  ymm1, ymm1, ymm271775        vpaddd  ymm2, ymm2, ymm241776        vpaddd  ymm3, ymm3, ymm311777        vpaddd  ymm0, ymm0, ymm41778        vpaddd  ymm1, ymm1, ymm51779        vpaddd  ymm2, ymm2, ymm61780        vpaddd  ymm3, ymm3, ymm71781        vpxord  ymm12, ymm12, ymm01782        vpxord  ymm13, ymm13, ymm11783        vpxord  ymm14, ymm14, ymm21784        vpxord  ymm15, ymm15, ymm31785        vprord  ymm12, ymm12, 161786        vprord  ymm13, ymm13, 161787        vprord  ymm14, ymm14, 161788        vprord  ymm15, ymm15, 161789        vpaddd  ymm8, ymm8, ymm121790        vpaddd  ymm9, ymm9, ymm131791        vpaddd  ymm10, ymm10, ymm141792        vpaddd  ymm11, ymm11, ymm151793        vpxord  ymm4, ymm4, ymm81794        vpxord  ymm5, ymm5, ymm91795        vpxord  ymm6, ymm6, ymm101796        vpxord  ymm7, ymm7, ymm111797        vprord  ymm4, ymm4, 121798        vprord  ymm5, ymm5, 121799        vprord  ymm6, ymm6, 121800        vprord  ymm7, ymm7, 121801        vpaddd  ymm0, ymm0, ymm301802        vpaddd  ymm1, ymm1, ymm211803        vpaddd  ymm2, ymm2, ymm281804        vpaddd  ymm3, ymm3, ymm171805        vpaddd  ymm0, ymm0, ymm41806        vpaddd  ymm1, ymm1, ymm51807        vpaddd  ymm2, ymm2, ymm61808        vpaddd  ymm3, ymm3, ymm71809        vpxord  ymm12, ymm12, ymm01810        vpxord  ymm13, ymm13, ymm11811        vpxord  ymm14, ymm14, ymm21812        vpxord  ymm15, ymm15, ymm31813        vprord  ymm12, ymm12, 81814        vprord  ymm13, ymm13, 81815        vprord  ymm14, ymm14, 81816        vprord  ymm15, ymm15, 81817        vpaddd  ymm8, ymm8, ymm121818        vpaddd  ymm9, ymm9, ymm131819        vpaddd  ymm10, ymm10, ymm141820        vpaddd  ymm11, ymm11, ymm151821        vpxord  ymm4, ymm4, ymm81822        vpxord  ymm5, ymm5, ymm91823        vpxord  ymm6, ymm6, ymm101824        vpxord  ymm7, ymm7, ymm111825        vprord  ymm4, ymm4, 71826        vprord  ymm5, ymm5, 71827        vprord  ymm6, ymm6, 71828        vprord  ymm7, ymm7, 71829        vpaddd  ymm0, ymm0, ymm291830        vpaddd  ymm1, ymm1, ymm161831        vpaddd  ymm2, ymm2, ymm181832        vpaddd  ymm3, ymm3, ymm201833        vpaddd  ymm0, ymm0, ymm51834        vpaddd  ymm1, ymm1, ymm61835        vpaddd  ymm2, ymm2, ymm71836        vpaddd  ymm3, ymm3, ymm41837        vpxord  ymm15, ymm15, ymm01838        vpxord  ymm12, ymm12, ymm11839        vpxord  ymm13, ymm13, ymm21840        vpxord  ymm14, ymm14, ymm31841        vprord  ymm15, ymm15, 161842        vprord  ymm12, ymm12, 161843        vprord  ymm13, ymm13, 161844        vprord  ymm14, ymm14, 161845        vpaddd  ymm10, ymm10, ymm151846        vpaddd  ymm11, ymm11, ymm121847        vpaddd  ymm8, ymm8, ymm131848        vpaddd  ymm9, ymm9, ymm141849        vpxord  ymm5, ymm5, ymm101850        vpxord  ymm6, ymm6, ymm111851        vpxord  ymm7, ymm7, ymm81852        vpxord  ymm4, ymm4, ymm91853        vprord  ymm5, ymm5, 121854        vprord  ymm6, ymm6, 121855        vprord  ymm7, ymm7, 121856        vprord  ymm4, ymm4, 121857        vpaddd  ymm0, ymm0, ymm191858        vpaddd  ymm1, ymm1, ymm261859        vpaddd  ymm2, ymm2, ymm221860        vpaddd  ymm3, ymm3, ymm231861        vpaddd  ymm0, ymm0, ymm51862        vpaddd  ymm1, ymm1, ymm61863        vpaddd  ymm2, ymm2, ymm71864        vpaddd  ymm3, ymm3, ymm41865        vpxord  ymm15, ymm15, ymm01866        vpxord  ymm12, ymm12, ymm11867        vpxord  ymm13, ymm13, ymm21868        vpxord  ymm14, ymm14, ymm31869        vprord  ymm15, ymm15, 81870        vprord  ymm12, ymm12, 81871        vprord  ymm13, ymm13, 81872        vprord  ymm14, ymm14, 81873        vpaddd  ymm10, ymm10, ymm151874        vpaddd  ymm11, ymm11, ymm121875        vpaddd  ymm8, ymm8, ymm131876        vpaddd  ymm9, ymm9, ymm141877        vpxord  ymm5, ymm5, ymm101878        vpxord  ymm6, ymm6, ymm111879        vpxord  ymm7, ymm7, ymm81880        vpxord  ymm4, ymm4, ymm91881        vprord  ymm5, ymm5, 71882        vprord  ymm6, ymm6, 71883        vprord  ymm7, ymm7, 71884        vprord  ymm4, ymm4, 71885        vpaddd  ymm0, ymm0, ymm271886        vpaddd  ymm1, ymm1, ymm211887        vpaddd  ymm2, ymm2, ymm171888        vpaddd  ymm3, ymm3, ymm241889        vpaddd  ymm0, ymm0, ymm41890        vpaddd  ymm1, ymm1, ymm51891        vpaddd  ymm2, ymm2, ymm61892        vpaddd  ymm3, ymm3, ymm71893        vpxord  ymm12, ymm12, ymm01894        vpxord  ymm13, ymm13, ymm11895        vpxord  ymm14, ymm14, ymm21896        vpxord  ymm15, ymm15, ymm31897        vprord  ymm12, ymm12, 161898        vprord  ymm13, ymm13, 161899        vprord  ymm14, ymm14, 161900        vprord  ymm15, ymm15, 161901        vpaddd  ymm8, ymm8, ymm121902        vpaddd  ymm9, ymm9, ymm131903        vpaddd  ymm10, ymm10, ymm141904        vpaddd  ymm11, ymm11, ymm151905        vpxord  ymm4, ymm4, ymm81906        vpxord  ymm5, ymm5, ymm91907        vpxord  ymm6, ymm6, ymm101908        vpxord  ymm7, ymm7, ymm111909        vprord  ymm4, ymm4, 121910        vprord  ymm5, ymm5, 121911        vprord  ymm6, ymm6, 121912        vprord  ymm7, ymm7, 121913        vpaddd  ymm0, ymm0, ymm311914        vpaddd  ymm1, ymm1, ymm161915        vpaddd  ymm2, ymm2, ymm251916        vpaddd  ymm3, ymm3, ymm221917        vpaddd  ymm0, ymm0, ymm41918        vpaddd  ymm1, ymm1, ymm51919        vpaddd  ymm2, ymm2, ymm61920        vpaddd  ymm3, ymm3, ymm71921        vpxord  ymm12, ymm12, ymm01922        vpxord  ymm13, ymm13, ymm11923        vpxord  ymm14, ymm14, ymm21924        vpxord  ymm15, ymm15, ymm31925        vprord  ymm12, ymm12, 81926        vprord  ymm13, ymm13, 81927        vprord  ymm14, ymm14, 81928        vprord  ymm15, ymm15, 81929        vpaddd  ymm8, ymm8, ymm121930        vpaddd  ymm9, ymm9, ymm131931        vpaddd  ymm10, ymm10, ymm141932        vpaddd  ymm11, ymm11, ymm151933        vpxord  ymm4, ymm4, ymm81934        vpxord  ymm5, ymm5, ymm91935        vpxord  ymm6, ymm6, ymm101936        vpxord  ymm7, ymm7, ymm111937        vprord  ymm4, ymm4, 71938        vprord  ymm5, ymm5, 71939        vprord  ymm6, ymm6, 71940        vprord  ymm7, ymm7, 71941        vpaddd  ymm0, ymm0, ymm301942        vpaddd  ymm1, ymm1, ymm181943        vpaddd  ymm2, ymm2, ymm191944        vpaddd  ymm3, ymm3, ymm231945        vpaddd  ymm0, ymm0, ymm51946        vpaddd  ymm1, ymm1, ymm61947        vpaddd  ymm2, ymm2, ymm71948        vpaddd  ymm3, ymm3, ymm41949        vpxord  ymm15, ymm15, ymm01950        vpxord  ymm12, ymm12, ymm11951        vpxord  ymm13, ymm13, ymm21952        vpxord  ymm14, ymm14, ymm31953        vprord  ymm15, ymm15, 161954        vprord  ymm12, ymm12, 161955        vprord  ymm13, ymm13, 161956        vprord  ymm14, ymm14, 161957        vpaddd  ymm10, ymm10, ymm151958        vpaddd  ymm11, ymm11, ymm121959        vpaddd  ymm8, ymm8, ymm131960        vpaddd  ymm9, ymm9, ymm141961        vpxord  ymm5, ymm5, ymm101962        vpxord  ymm6, ymm6, ymm111963        vpxord  ymm7, ymm7, ymm81964        vpxord  ymm4, ymm4, ymm91965        vprord  ymm5, ymm5, 121966        vprord  ymm6, ymm6, 121967        vprord  ymm7, ymm7, 121968        vprord  ymm4, ymm4, 121969        vpaddd  ymm0, ymm0, ymm261970        vpaddd  ymm1, ymm1, ymm281971        vpaddd  ymm2, ymm2, ymm201972        vpaddd  ymm3, ymm3, ymm291973        vpaddd  ymm0, ymm0, ymm51974        vpaddd  ymm1, ymm1, ymm61975        vpaddd  ymm2, ymm2, ymm71976        vpaddd  ymm3, ymm3, ymm41977        vpxord  ymm15, ymm15, ymm01978        vpxord  ymm12, ymm12, ymm11979        vpxord  ymm13, ymm13, ymm21980        vpxord  ymm14, ymm14, ymm31981        vprord  ymm15, ymm15, 81982        vprord  ymm12, ymm12, 81983        vprord  ymm13, ymm13, 81984        vprord  ymm14, ymm14, 81985        vpaddd  ymm10, ymm10, ymm151986        vpaddd  ymm11, ymm11, ymm121987        vpaddd  ymm8, ymm8, ymm131988        vpaddd  ymm9, ymm9, ymm141989        vpxord  ymm5, ymm5, ymm101990        vpxord  ymm6, ymm6, ymm111991        vpxord  ymm7, ymm7, ymm81992        vpxord  ymm4, ymm4, ymm91993        vprord  ymm5, ymm5, 71994        vprord  ymm6, ymm6, 71995        vprord  ymm7, ymm7, 71996        vprord  ymm4, ymm4, 71997        vpxor   ymm0, ymm0, ymm81998        vpxor   ymm1, ymm1, ymm91999        vpxor   ymm2, ymm2, ymm102000        vpxor   ymm3, ymm3, ymm112001        vpxor   ymm4, ymm4, ymm122002        vpxor   ymm5, ymm5, ymm132003        vpxor   ymm6, ymm6, ymm142004        vpxor   ymm7, ymm7, ymm152005        movzx   eax, byte ptr [rbp+0x78]2006        jne     2b2007        mov     rbx, qword ptr [rbp+0x90]2008        vunpcklps ymm8, ymm0, ymm12009        vunpcklps ymm9, ymm2, ymm32010        vunpckhps ymm10, ymm0, ymm12011        vunpcklps ymm11, ymm4, ymm52012        vunpcklps ymm0, ymm6, ymm72013        vshufps ymm12, ymm8, ymm9, 782014        vblendps ymm1, ymm8, ymm12, 0xCC2015        vshufps ymm8, ymm11, ymm0, 782016        vunpckhps ymm13, ymm2, ymm32017        vblendps ymm2, ymm11, ymm8, 0xCC2018        vblendps ymm3, ymm12, ymm9, 0xCC2019        vperm2f128 ymm12, ymm1, ymm2, 0x202020        vmovups ymmword ptr [rbx], ymm122021        vunpckhps ymm14, ymm4, ymm52022        vblendps ymm4, ymm8, ymm0, 0xCC2023        vunpckhps ymm15, ymm6, ymm72024        vperm2f128 ymm7, ymm3, ymm4, 0x202025        vmovups ymmword ptr [rbx+0x20], ymm72026        vshufps ymm5, ymm10, ymm13, 782027        vblendps ymm6, ymm5, ymm13, 0xCC2028        vshufps ymm13, ymm14, ymm15, 782029        vblendps ymm10, ymm10, ymm5, 0xCC2030        vblendps ymm14, ymm14, ymm13, 0xCC2031        vperm2f128 ymm8, ymm10, ymm14, 0x202032        vmovups ymmword ptr [rbx+0x40], ymm82033        vblendps ymm15, ymm13, ymm15, 0xCC2034        vperm2f128 ymm13, ymm6, ymm15, 0x202035        vmovups ymmword ptr [rbx+0x60], ymm132036        vperm2f128 ymm9, ymm1, ymm2, 0x312037        vperm2f128 ymm11, ymm3, ymm4, 0x312038        vmovups ymmword ptr [rbx+0x80], ymm92039        vperm2f128 ymm14, ymm10, ymm14, 0x312040        vperm2f128 ymm15, ymm6, ymm15, 0x312041        vmovups ymmword ptr [rbx+0xA0], ymm112042        vmovups ymmword ptr [rbx+0xC0], ymm142043        vmovups ymmword ptr [rbx+0xE0], ymm152044        vmovdqa ymm0, ymmword ptr [rsp]2045        vmovdqa ymm2, ymmword ptr [rsp+0x40]2046        vmovdqa32 ymm0 {k1}, ymmword ptr [rsp+0x1*0x20]2047        vmovdqa32 ymm2 {k1}, ymmword ptr [rsp+0x3*0x20]2048        vmovdqa ymmword ptr [rsp], ymm02049        vmovdqa ymmword ptr [rsp+0x40], ymm22050        add     rbx, 2562051        mov     qword ptr [rbp+0x90], rbx2052        add     rdi, 642053        sub     rsi, 820543:2055        mov     rbx, qword ptr [rbp+0x90]2056        mov     r15, qword ptr [rsp+0x80]2057        movzx   r13, byte ptr [rbp+0x78]2058        movzx   r12, byte ptr [rbp+0x88]2059        test    esi, 0x42060        je      3f2061        vbroadcasti32x4 zmm0, xmmword ptr [rcx]2062        vbroadcasti32x4 zmm1, xmmword ptr [rcx+0x1*0x10]2063        vmovdqa xmm12, xmmword ptr [rsp]2064        vmovdqa xmm13, xmmword ptr [rsp+0x40]2065        vpunpckldq xmm14, xmm12, xmm132066        vpunpckhdq xmm15, xmm12, xmm132067        vpermq  ymm14, ymm14, 0xDC2068        vpermq  ymm15, ymm15, 0xDC2069        vpbroadcastd zmm12, dword ptr [BLAKE3_BLOCK_LEN+rip]2070        vinserti64x4 zmm13, zmm14, ymm15, 0x012071        mov     eax, 174762072        kmovw   k2, eax2073        vpblendmd zmm13 {k2}, zmm13, zmm122074        vbroadcasti32x4 zmm15, xmmword ptr [BLAKE3_IV+rip]2075        mov     r8, qword ptr [rdi]2076        mov     r9, qword ptr [rdi+0x8]2077        mov     r10, qword ptr [rdi+0x10]2078        mov     r11, qword ptr [rdi+0x18]2079        mov     eax, 436902080        kmovw   k3, eax2081        mov     eax, 349522082        kmovw   k4, eax2083        movzx   eax, byte ptr [rbp+0x80]2084        or      eax, r13d2085        xor     edx, edx2086.p2align 520872:2088        mov     r14d, eax2089        or      eax, r12d2090        add     rdx, 642091        cmp     rdx, r152092        cmovne  eax, r14d2093        mov     dword ptr [rsp+0x88], eax2094        vmovdqa32 zmm2, zmm152095        vpbroadcastd zmm8, dword ptr [rsp+0x22*0x4]2096        vpblendmd zmm3 {k4}, zmm13, zmm82097        vmovups zmm8, zmmword ptr [r8+rdx-0x1*0x40]2098        vinserti32x4 zmm8, zmm8, xmmword ptr [r9+rdx-0x4*0x10], 0x012099        vinserti32x4 zmm8, zmm8, xmmword ptr [r10+rdx-0x4*0x10], 0x022100        vinserti32x4 zmm8, zmm8, xmmword ptr [r11+rdx-0x4*0x10], 0x032101        vmovups zmm9, zmmword ptr [r8+rdx-0x30]2102        vinserti32x4 zmm9, zmm9, xmmword ptr [r9+rdx-0x3*0x10], 0x012103        vinserti32x4 zmm9, zmm9, xmmword ptr [r10+rdx-0x3*0x10], 0x022104        vinserti32x4 zmm9, zmm9, xmmword ptr [r11+rdx-0x3*0x10], 0x032105        vshufps zmm4, zmm8, zmm9, 1362106        vshufps zmm5, zmm8, zmm9, 2212107        vmovups zmm8, zmmword ptr [r8+rdx-0x20]2108        vinserti32x4 zmm8, zmm8, xmmword ptr [r9+rdx-0x2*0x10], 0x012109        vinserti32x4 zmm8, zmm8, xmmword ptr [r10+rdx-0x2*0x10], 0x022110        vinserti32x4 zmm8, zmm8, xmmword ptr [r11+rdx-0x2*0x10], 0x032111        vmovups zmm9, zmmword ptr [r8+rdx-0x10]2112        vinserti32x4 zmm9, zmm9, xmmword ptr [r9+rdx-0x1*0x10], 0x012113        vinserti32x4 zmm9, zmm9, xmmword ptr [r10+rdx-0x1*0x10], 0x022114        vinserti32x4 zmm9, zmm9, xmmword ptr [r11+rdx-0x1*0x10], 0x032115        vshufps zmm6, zmm8, zmm9, 1362116        vshufps zmm7, zmm8, zmm9, 2212117        vpshufd zmm6, zmm6, 0x932118        vpshufd zmm7, zmm7, 0x932119        mov     al, 721209:2121        vpaddd  zmm0, zmm0, zmm42122        vpaddd  zmm0, zmm0, zmm12123        vpxord  zmm3, zmm3, zmm02124        vprord  zmm3, zmm3, 162125        vpaddd  zmm2, zmm2, zmm32126        vpxord  zmm1, zmm1, zmm22127        vprord  zmm1, zmm1, 122128        vpaddd  zmm0, zmm0, zmm52129        vpaddd  zmm0, zmm0, zmm12130        vpxord  zmm3, zmm3, zmm02131        vprord  zmm3, zmm3, 82132        vpaddd  zmm2, zmm2, zmm32133        vpxord  zmm1, zmm1, zmm22134        vprord  zmm1, zmm1, 72135        vpshufd zmm0, zmm0, 0x932136        vpshufd zmm3, zmm3, 0x4E2137        vpshufd zmm2, zmm2, 0x392138        vpaddd  zmm0, zmm0, zmm62139        vpaddd  zmm0, zmm0, zmm12140        vpxord  zmm3, zmm3, zmm02141        vprord  zmm3, zmm3, 162142        vpaddd  zmm2, zmm2, zmm32143        vpxord  zmm1, zmm1, zmm22144        vprord  zmm1, zmm1, 122145        vpaddd  zmm0, zmm0, zmm72146        vpaddd  zmm0, zmm0, zmm12147        vpxord  zmm3, zmm3, zmm02148        vprord  zmm3, zmm3, 82149        vpaddd  zmm2, zmm2, zmm32150        vpxord  zmm1, zmm1, zmm22151        vprord  zmm1, zmm1, 72152        vpshufd zmm0, zmm0, 0x392153        vpshufd zmm3, zmm3, 0x4E2154        vpshufd zmm2, zmm2, 0x932155        dec     al2156        jz      9f2157        vshufps zmm8, zmm4, zmm5, 2142158        vpshufd zmm9, zmm4, 0x0F2159        vpshufd zmm4, zmm8, 0x392160        vshufps zmm8, zmm6, zmm7, 2502161        vpblendmd zmm9 {k3}, zmm9, zmm82162        vpunpcklqdq zmm8, zmm7, zmm52163        vpblendmd zmm8 {k4}, zmm8, zmm62164        vpshufd zmm8, zmm8, 0x782165        vpunpckhdq zmm5, zmm5, zmm72166        vpunpckldq zmm6, zmm6, zmm52167        vpshufd zmm7, zmm6, 0x1E2168        vmovdqa32 zmm5, zmm92169        vmovdqa32 zmm6, zmm82170        jmp     9b21719:2172        vpxord  zmm0, zmm0, zmm22173        vpxord  zmm1, zmm1, zmm32174        mov     eax, r13d2175        cmp     rdx, r152176        jne     2b2177        vmovdqu xmmword ptr [rbx], xmm02178        vmovdqu xmmword ptr [rbx+0x10], xmm12179        vextracti128 xmmword ptr [rbx+0x20], ymm0, 0x012180        vextracti128 xmmword ptr [rbx+0x30], ymm1, 0x012181        vextracti32x4 xmmword ptr [rbx+0x4*0x10], zmm0, 0x022182        vextracti32x4 xmmword ptr [rbx+0x5*0x10], zmm1, 0x022183        vextracti32x4 xmmword ptr [rbx+0x6*0x10], zmm0, 0x032184        vextracti32x4 xmmword ptr [rbx+0x7*0x10], zmm1, 0x032185        vmovdqa xmm0, xmmword ptr [rsp]2186        vmovdqa xmm2, xmmword ptr [rsp+0x40]2187        vmovdqa32 xmm0 {k1}, xmmword ptr [rsp+0x1*0x10]2188        vmovdqa32 xmm2 {k1}, xmmword ptr [rsp+0x5*0x10]2189        vmovdqa xmmword ptr [rsp], xmm02190        vmovdqa xmmword ptr [rsp+0x40], xmm22191        add     rbx, 1282192        add     rdi, 322193        sub     rsi, 421943:2195        test    esi, 0x22196        je      3f2197        vbroadcasti128 ymm0, xmmword ptr [rcx]2198        vbroadcasti128 ymm1, xmmword ptr [rcx+0x10]2199        vmovd   xmm13, dword ptr [rsp]2200        vpinsrd xmm13, xmm13, dword ptr [rsp+0x40], 12201        vpinsrd xmm13, xmm13, dword ptr [BLAKE3_BLOCK_LEN+rip], 22202        vmovd   xmm14, dword ptr [rsp+0x4]2203        vpinsrd xmm14, xmm14, dword ptr [rsp+0x44], 12204        vpinsrd xmm14, xmm14, dword ptr [BLAKE3_BLOCK_LEN+rip], 22205        vinserti128 ymm13, ymm13, xmm14, 0x012206        mov     r8, qword ptr [rdi]2207        mov     r9, qword ptr [rdi+0x8]2208        movzx   eax, byte ptr [rbp+0x80]2209        or      eax, r13d2210        xor     edx, edx2211.p2align 522122:2213        mov     r14d, eax2214        or      eax, r12d2215        add     rdx, 642216        cmp     rdx, r152217        cmovne  eax, r14d2218        mov     dword ptr [rsp+0x88], eax2219        vbroadcasti128 ymm2, xmmword ptr [BLAKE3_IV+rip]2220        vpbroadcastd ymm8, dword ptr [rsp+0x88]2221        vpblendd ymm3, ymm13, ymm8, 0x882222        vmovups ymm8, ymmword ptr [r8+rdx-0x40]2223        vinsertf128 ymm8, ymm8, xmmword ptr [r9+rdx-0x40], 0x012224        vmovups ymm9, ymmword ptr [r8+rdx-0x30]2225        vinsertf128 ymm9, ymm9, xmmword ptr [r9+rdx-0x30], 0x012226        vshufps ymm4, ymm8, ymm9, 1362227        vshufps ymm5, ymm8, ymm9, 2212228        vmovups ymm8, ymmword ptr [r8+rdx-0x20]2229        vinsertf128 ymm8, ymm8, xmmword ptr [r9+rdx-0x20], 0x012230        vmovups ymm9, ymmword ptr [r8+rdx-0x10]2231        vinsertf128 ymm9, ymm9, xmmword ptr [r9+rdx-0x10], 0x012232        vshufps ymm6, ymm8, ymm9, 1362233        vshufps ymm7, ymm8, ymm9, 2212234        vpshufd ymm6, ymm6, 0x932235        vpshufd ymm7, ymm7, 0x932236        mov     al, 722379:2238        vpaddd  ymm0, ymm0, ymm42239        vpaddd  ymm0, ymm0, ymm12240        vpxord  ymm3, ymm3, ymm02241        vprord  ymm3, ymm3, 162242        vpaddd  ymm2, ymm2, ymm32243        vpxord  ymm1, ymm1, ymm22244        vprord  ymm1, ymm1, 122245        vpaddd  ymm0, ymm0, ymm52246        vpaddd  ymm0, ymm0, ymm12247        vpxord  ymm3, ymm3, ymm02248        vprord  ymm3, ymm3, 82249        vpaddd  ymm2, ymm2, ymm32250        vpxord  ymm1, ymm1, ymm22251        vprord  ymm1, ymm1, 72252        vpshufd ymm0, ymm0, 0x932253        vpshufd ymm3, ymm3, 0x4E2254        vpshufd ymm2, ymm2, 0x392255        vpaddd  ymm0, ymm0, ymm62256        vpaddd  ymm0, ymm0, ymm12257        vpxord  ymm3, ymm3, ymm02258        vprord  ymm3, ymm3, 162259        vpaddd  ymm2, ymm2, ymm32260        vpxord  ymm1, ymm1, ymm22261        vprord  ymm1, ymm1, 122262        vpaddd  ymm0, ymm0, ymm72263        vpaddd  ymm0, ymm0, ymm12264        vpxord  ymm3, ymm3, ymm02265        vprord  ymm3, ymm3, 82266        vpaddd  ymm2, ymm2, ymm32267        vpxord  ymm1, ymm1, ymm22268        vprord  ymm1, ymm1, 72269        vpshufd ymm0, ymm0, 0x392270        vpshufd ymm3, ymm3, 0x4E2271        vpshufd ymm2, ymm2, 0x932272        dec     al2273        jz      9f2274        vshufps ymm8, ymm4, ymm5, 2142275        vpshufd ymm9, ymm4, 0x0F2276        vpshufd ymm4, ymm8, 0x392277        vshufps ymm8, ymm6, ymm7, 2502278        vpblendd ymm9, ymm9, ymm8, 0xAA2279        vpunpcklqdq ymm8, ymm7, ymm52280        vpblendd ymm8, ymm8, ymm6, 0x882281        vpshufd ymm8, ymm8, 0x782282        vpunpckhdq ymm5, ymm5, ymm72283        vpunpckldq ymm6, ymm6, ymm52284        vpshufd ymm7, ymm6, 0x1E2285        vmovdqa ymm5, ymm92286        vmovdqa ymm6, ymm82287        jmp     9b22889:2289        vpxor   ymm0, ymm0, ymm22290        vpxor   ymm1, ymm1, ymm32291        mov     eax, r13d2292        cmp     rdx, r152293        jne     2b2294        vmovdqu xmmword ptr [rbx], xmm02295        vmovdqu xmmword ptr [rbx+0x10], xmm12296        vextracti128 xmmword ptr [rbx+0x20], ymm0, 0x012297        vextracti128 xmmword ptr [rbx+0x30], ymm1, 0x012298        vmovdqa xmm0, xmmword ptr [rsp]2299        vmovdqa xmm2, xmmword ptr [rsp+0x40]2300        vmovdqu32 xmm0 {k1}, xmmword ptr [rsp+0x8]2301        vmovdqu32 xmm2 {k1}, xmmword ptr [rsp+0x48]2302        vmovdqa xmmword ptr [rsp], xmm02303        vmovdqa xmmword ptr [rsp+0x40], xmm22304        add     rbx, 642305        add     rdi, 162306        sub     rsi, 223073:2308        test    esi, 0x12309        je      4b2310        vmovdqu xmm0, xmmword ptr [rcx]2311        vmovdqu xmm1, xmmword ptr [rcx+0x10]2312        vmovd   xmm14, dword ptr [rsp]2313        vpinsrd xmm14, xmm14, dword ptr [rsp+0x40], 12314        vpinsrd xmm14, xmm14, dword ptr [BLAKE3_BLOCK_LEN+rip], 22315        vmovdqa xmm15, xmmword ptr [BLAKE3_IV+rip]2316        mov     r8, qword ptr [rdi]2317        movzx   eax, byte ptr [rbp+0x80]2318        or      eax, r13d2319        xor     edx, edx2320.p2align 523212:2322        mov     r14d, eax2323        or      eax, r12d2324        add     rdx, 642325        cmp     rdx, r152326        cmovne  eax, r14d2327        vpinsrd xmm3, xmm14, eax, 32328        vmovdqa xmm2, xmm152329        vmovups xmm8, xmmword ptr [r8+rdx-0x40]2330        vmovups xmm9, xmmword ptr [r8+rdx-0x30]2331        vshufps xmm4, xmm8, xmm9, 1362332        vshufps xmm5, xmm8, xmm9, 2212333        vmovups xmm8, xmmword ptr [r8+rdx-0x20]2334        vmovups xmm9, xmmword ptr [r8+rdx-0x10]2335        vshufps xmm6, xmm8, xmm9, 1362336        vshufps xmm7, xmm8, xmm9, 2212337        vpshufd xmm6, xmm6, 0x932338        vpshufd xmm7, xmm7, 0x932339        mov     al, 723409:2341        vpaddd  xmm0, xmm0, xmm42342        vpaddd  xmm0, xmm0, xmm12343        vpxord  xmm3, xmm3, xmm02344        vprord  xmm3, xmm3, 162345        vpaddd  xmm2, xmm2, xmm32346        vpxord  xmm1, xmm1, xmm22347        vprord  xmm1, xmm1, 122348        vpaddd  xmm0, xmm0, xmm52349        vpaddd  xmm0, xmm0, xmm12350        vpxord  xmm3, xmm3, xmm02351        vprord  xmm3, xmm3, 82352        vpaddd  xmm2, xmm2, xmm32353        vpxord  xmm1, xmm1, xmm22354        vprord  xmm1, xmm1, 72355        vpshufd xmm0, xmm0, 0x932356        vpshufd xmm3, xmm3, 0x4E2357        vpshufd xmm2, xmm2, 0x392358        vpaddd  xmm0, xmm0, xmm62359        vpaddd  xmm0, xmm0, xmm12360        vpxord  xmm3, xmm3, xmm02361        vprord  xmm3, xmm3, 162362        vpaddd  xmm2, xmm2, xmm32363        vpxord  xmm1, xmm1, xmm22364        vprord  xmm1, xmm1, 122365        vpaddd  xmm0, xmm0, xmm72366        vpaddd  xmm0, xmm0, xmm12367        vpxord  xmm3, xmm3, xmm02368        vprord  xmm3, xmm3, 82369        vpaddd  xmm2, xmm2, xmm32370        vpxord  xmm1, xmm1, xmm22371        vprord  xmm1, xmm1, 72372        vpshufd xmm0, xmm0, 0x392373        vpshufd xmm3, xmm3, 0x4E2374        vpshufd xmm2, xmm2, 0x932375        dec     al2376        jz      9f2377        vshufps xmm8, xmm4, xmm5, 2142378        vpshufd xmm9, xmm4, 0x0F2379        vpshufd xmm4, xmm8, 0x392380        vshufps xmm8, xmm6, xmm7, 2502381        vpblendd xmm9, xmm9, xmm8, 0xAA2382        vpunpcklqdq xmm8, xmm7, xmm52383        vpblendd xmm8, xmm8, xmm6, 0x882384        vpshufd xmm8, xmm8, 0x782385        vpunpckhdq xmm5, xmm5, xmm72386        vpunpckldq xmm6, xmm6, xmm52387        vpshufd xmm7, xmm6, 0x1E2388        vmovdqa xmm5, xmm92389        vmovdqa xmm6, xmm82390        jmp     9b23919:2392        vpxor   xmm0, xmm0, xmm22393        vpxor   xmm1, xmm1, xmm32394        mov     eax, r13d2395        cmp     rdx, r152396        jne     2b2397        vmovdqu xmmword ptr [rbx], xmm02398        vmovdqu xmmword ptr [rbx+0x10], xmm12399        jmp     4b2400 2401 2402.p2align 62403_blake3_compress_in_place_avx512:2404blake3_compress_in_place_avx512:2405        sub     rsp, 722406        vmovdqa xmmword ptr [rsp], xmm62407        vmovdqa xmmword ptr [rsp+0x10], xmm72408        vmovdqa xmmword ptr [rsp+0x20], xmm82409        vmovdqa xmmword ptr [rsp+0x30], xmm92410        vmovdqu xmm0, xmmword ptr [rcx]2411        vmovdqu xmm1, xmmword ptr [rcx+0x10]2412        movzx   eax, byte ptr [rsp+0x70]2413        movzx   r8d, r8b2414        shl     rax, 322415        add     r8, rax2416        vmovq   xmm3, r92417        vmovq   xmm4, r82418        vpunpcklqdq xmm3, xmm3, xmm42419        vmovaps xmm2, xmmword ptr [BLAKE3_IV+rip]2420        vmovups xmm8, xmmword ptr [rdx]2421        vmovups xmm9, xmmword ptr [rdx+0x10]2422        vshufps xmm4, xmm8, xmm9, 1362423        vshufps xmm5, xmm8, xmm9, 2212424        vmovups xmm8, xmmword ptr [rdx+0x20]2425        vmovups xmm9, xmmword ptr [rdx+0x30]2426        vshufps xmm6, xmm8, xmm9, 1362427        vshufps xmm7, xmm8, xmm9, 2212428        vpshufd xmm6, xmm6, 0x932429        vpshufd xmm7, xmm7, 0x932430        mov     al, 724319:2432        vpaddd  xmm0, xmm0, xmm42433        vpaddd  xmm0, xmm0, xmm12434        vpxord  xmm3, xmm3, xmm02435        vprord  xmm3, xmm3, 162436        vpaddd  xmm2, xmm2, xmm32437        vpxord  xmm1, xmm1, xmm22438        vprord  xmm1, xmm1, 122439        vpaddd  xmm0, xmm0, xmm52440        vpaddd  xmm0, xmm0, xmm12441        vpxord  xmm3, xmm3, xmm02442        vprord  xmm3, xmm3, 82443        vpaddd  xmm2, xmm2, xmm32444        vpxord  xmm1, xmm1, xmm22445        vprord  xmm1, xmm1, 72446        vpshufd xmm0, xmm0, 0x932447        vpshufd xmm3, xmm3, 0x4E2448        vpshufd xmm2, xmm2, 0x392449        vpaddd  xmm0, xmm0, xmm62450        vpaddd  xmm0, xmm0, xmm12451        vpxord  xmm3, xmm3, xmm02452        vprord  xmm3, xmm3, 162453        vpaddd  xmm2, xmm2, xmm32454        vpxord  xmm1, xmm1, xmm22455        vprord  xmm1, xmm1, 122456        vpaddd  xmm0, xmm0, xmm72457        vpaddd  xmm0, xmm0, xmm12458        vpxord  xmm3, xmm3, xmm02459        vprord  xmm3, xmm3, 82460        vpaddd  xmm2, xmm2, xmm32461        vpxord  xmm1, xmm1, xmm22462        vprord  xmm1, xmm1, 72463        vpshufd xmm0, xmm0, 0x392464        vpshufd xmm3, xmm3, 0x4E2465        vpshufd xmm2, xmm2, 0x932466        dec     al2467        jz      9f2468        vshufps xmm8, xmm4, xmm5, 2142469        vpshufd xmm9, xmm4, 0x0F2470        vpshufd xmm4, xmm8, 0x392471        vshufps xmm8, xmm6, xmm7, 2502472        vpblendd xmm9, xmm9, xmm8, 0xAA2473        vpunpcklqdq xmm8, xmm7, xmm52474        vpblendd xmm8, xmm8, xmm6, 0x882475        vpshufd xmm8, xmm8, 0x782476        vpunpckhdq xmm5, xmm5, xmm72477        vpunpckldq xmm6, xmm6, xmm52478        vpshufd xmm7, xmm6, 0x1E2479        vmovdqa xmm5, xmm92480        vmovdqa xmm6, xmm82481        jmp     9b24829:2483        vpxor   xmm0, xmm0, xmm22484        vpxor   xmm1, xmm1, xmm32485        vmovdqu xmmword ptr [rcx], xmm02486        vmovdqu xmmword ptr [rcx+0x10], xmm12487        vmovdqa xmm6, xmmword ptr [rsp]2488        vmovdqa xmm7, xmmword ptr [rsp+0x10]2489        vmovdqa xmm8, xmmword ptr [rsp+0x20]2490        vmovdqa xmm9, xmmword ptr [rsp+0x30]2491        add     rsp, 722492        ret2493 2494 2495.p2align 62496_blake3_compress_xof_avx512:2497blake3_compress_xof_avx512:2498        sub     rsp, 722499        vmovdqa xmmword ptr [rsp], xmm62500        vmovdqa xmmword ptr [rsp+0x10], xmm72501        vmovdqa xmmword ptr [rsp+0x20], xmm82502        vmovdqa xmmword ptr [rsp+0x30], xmm92503        vmovdqu xmm0, xmmword ptr [rcx]2504        vmovdqu xmm1, xmmword ptr [rcx+0x10]2505        movzx   eax, byte ptr [rsp+0x70]2506        movzx   r8d, r8b2507        mov     r10, qword ptr [rsp+0x78]2508        shl     rax, 322509        add     r8, rax2510        vmovq   xmm3, r92511        vmovq   xmm4, r82512        vpunpcklqdq xmm3, xmm3, xmm42513        vmovaps xmm2, xmmword ptr [BLAKE3_IV+rip]2514        vmovups xmm8, xmmword ptr [rdx]2515        vmovups xmm9, xmmword ptr [rdx+0x10]2516        vshufps xmm4, xmm8, xmm9, 1362517        vshufps xmm5, xmm8, xmm9, 2212518        vmovups xmm8, xmmword ptr [rdx+0x20]2519        vmovups xmm9, xmmword ptr [rdx+0x30]2520        vshufps xmm6, xmm8, xmm9, 1362521        vshufps xmm7, xmm8, xmm9, 2212522        vpshufd xmm6, xmm6, 0x932523        vpshufd xmm7, xmm7, 0x932524        mov     al, 725259:2526        vpaddd  xmm0, xmm0, xmm42527        vpaddd  xmm0, xmm0, xmm12528        vpxord  xmm3, xmm3, xmm02529        vprord  xmm3, xmm3, 162530        vpaddd  xmm2, xmm2, xmm32531        vpxord  xmm1, xmm1, xmm22532        vprord  xmm1, xmm1, 122533        vpaddd  xmm0, xmm0, xmm52534        vpaddd  xmm0, xmm0, xmm12535        vpxord  xmm3, xmm3, xmm02536        vprord  xmm3, xmm3, 82537        vpaddd  xmm2, xmm2, xmm32538        vpxord  xmm1, xmm1, xmm22539        vprord  xmm1, xmm1, 72540        vpshufd xmm0, xmm0, 0x932541        vpshufd xmm3, xmm3, 0x4E2542        vpshufd xmm2, xmm2, 0x392543        vpaddd  xmm0, xmm0, xmm62544        vpaddd  xmm0, xmm0, xmm12545        vpxord  xmm3, xmm3, xmm02546        vprord  xmm3, xmm3, 162547        vpaddd  xmm2, xmm2, xmm32548        vpxord  xmm1, xmm1, xmm22549        vprord  xmm1, xmm1, 122550        vpaddd  xmm0, xmm0, xmm72551        vpaddd  xmm0, xmm0, xmm12552        vpxord  xmm3, xmm3, xmm02553        vprord  xmm3, xmm3, 82554        vpaddd  xmm2, xmm2, xmm32555        vpxord  xmm1, xmm1, xmm22556        vprord  xmm1, xmm1, 72557        vpshufd xmm0, xmm0, 0x392558        vpshufd xmm3, xmm3, 0x4E2559        vpshufd xmm2, xmm2, 0x932560        dec     al2561        jz      9f2562        vshufps xmm8, xmm4, xmm5, 2142563        vpshufd xmm9, xmm4, 0x0F2564        vpshufd xmm4, xmm8, 0x392565        vshufps xmm8, xmm6, xmm7, 2502566        vpblendd xmm9, xmm9, xmm8, 0xAA2567        vpunpcklqdq xmm8, xmm7, xmm52568        vpblendd xmm8, xmm8, xmm6, 0x882569        vpshufd xmm8, xmm8, 0x782570        vpunpckhdq xmm5, xmm5, xmm72571        vpunpckldq xmm6, xmm6, xmm52572        vpshufd xmm7, xmm6, 0x1E2573        vmovdqa xmm5, xmm92574        vmovdqa xmm6, xmm82575        jmp     9b25769:2577        vpxor   xmm0, xmm0, xmm22578        vpxor   xmm1, xmm1, xmm32579        vpxor   xmm2, xmm2, xmmword ptr [rcx]2580        vpxor   xmm3, xmm3, xmmword ptr [rcx+0x10]2581        vmovdqu xmmword ptr [r10], xmm02582        vmovdqu xmmword ptr [r10+0x10], xmm12583        vmovdqu xmmword ptr [r10+0x20], xmm22584        vmovdqu xmmword ptr [r10+0x30], xmm32585        vmovdqa xmm6, xmmword ptr [rsp]2586        vmovdqa xmm7, xmmword ptr [rsp+0x10]2587        vmovdqa xmm8, xmmword ptr [rsp+0x20]2588        vmovdqa xmm9, xmmword ptr [rsp+0x30]2589        add     rsp, 722590        ret2591 2592.section .rdata2593.p2align  62594INDEX0:2595        .long    0,  1,  2,  3, 16, 17, 18, 192596        .long    8,  9, 10, 11, 24, 25, 26, 272597INDEX1:2598        .long    4,  5,  6,  7, 20, 21, 22, 232599        .long   12, 13, 14, 15, 28, 29, 30, 312600ADD0:2601        .long    0,  1,  2,  3,  4,  5,  6,  72602        .long    8,  9, 10, 11, 12, 13, 14, 152603ADD1:   .long    12604 2605ADD16:  .long   162606BLAKE3_BLOCK_LEN:2607        .long   642608.p2align 62609BLAKE3_IV:2610BLAKE3_IV_0:2611        .long   0x6A09E6672612BLAKE3_IV_1:2613        .long   0xBB67AE852614BLAKE3_IV_2:2615        .long   0x3C6EF3722616BLAKE3_IV_3:2617        .long   0xA54FF53A2618