-rw-r--r-- 86231 lib25519-20240321/crypto_nPbatch/montgomery25519/amd64-avx2-4x1-10l-maa4/mladder.S raw
#include "crypto_asm_hidden.h" #include "consts_namespace.h" // 4-way Montgomery ladder, 10-limb implementation .p2align 5 .globl _CRYPTO_SHARED_NAMESPACE(mladder_4x1) .globl CRYPTO_SHARED_NAMESPACE(mladder_4x1) _CRYPTO_SHARED_NAMESPACE(mladder_4x1): CRYPTO_SHARED_NAMESPACE(mladder_4x1): movq %rsp,%r8 andq $-32,%rsp subq $2976,%rsp vmovdqa vec0(%rip),%ymm0 vmovdqa vec1(%rip),%ymm1 // X1 ← XP,X3 ← XP vmovdqa 0(%rsi),%ymm2 vmovdqa %ymm2,96(%rsp) vmovdqa %ymm2,1056(%rsp) vmovdqa 32(%rsi),%ymm2 vmovdqa %ymm2,128(%rsp) vmovdqa %ymm2,1088(%rsp) vmovdqa 64(%rsi),%ymm2 vmovdqa %ymm2,160(%rsp) vmovdqa %ymm2,1120(%rsp) vmovdqa 96(%rsi),%ymm2 vmovdqa %ymm2,192(%rsp) vmovdqa %ymm2,1152(%rsp) vmovdqa 128(%rsi),%ymm2 vmovdqa %ymm2,224(%rsp) vmovdqa %ymm2,1184(%rsp) vmovdqa 160(%rsi),%ymm2 vmovdqa %ymm2,256(%rsp) vmovdqa %ymm2,1216(%rsp) vmovdqa 192(%rsi),%ymm2 vmovdqa %ymm2,288(%rsp) vmovdqa %ymm2,1248(%rsp) vmovdqa 224(%rsi),%ymm2 vmovdqa %ymm2,320(%rsp) vmovdqa %ymm2,1280(%rsp) vmovdqa 256(%rsi),%ymm2 vmovdqa %ymm2,352(%rsp) vmovdqa %ymm2,1312(%rsp) vmovdqa 288(%rsi),%ymm2 vmovdqa %ymm2,384(%rsp) vmovdqa %ymm2,1344(%rsp) // X2 ← 1 vmovdqa %ymm1,416(%rsp) vmovdqa %ymm0,448(%rsp) vmovdqa %ymm0,480(%rsp) vmovdqa %ymm0,512(%rsp) vmovdqa %ymm0,544(%rsp) vmovdqa %ymm0,576(%rsp) vmovdqa %ymm0,608(%rsp) vmovdqa %ymm0,640(%rsp) vmovdqa %ymm0,672(%rsp) vmovdqa %ymm0,704(%rsp) // Z2 ← 0 vmovdqa %ymm0,736(%rsp) vmovdqa %ymm0,768(%rsp) vmovdqa %ymm0,800(%rsp) vmovdqa %ymm0,832(%rsp) vmovdqa %ymm0,864(%rsp) vmovdqa %ymm0,896(%rsp) vmovdqa %ymm0,928(%rsp) vmovdqa %ymm0,960(%rsp) vmovdqa %ymm0,992(%rsp) vmovdqa %ymm0,1024(%rsp) // Z3 ← 1 vmovdqa %ymm1,1376(%rsp) vmovdqa %ymm0,1408(%rsp) vmovdqa %ymm0,1440(%rsp) vmovdqa %ymm0,1472(%rsp) vmovdqa %ymm0,1504(%rsp) vmovdqa %ymm0,1536(%rsp) vmovdqa %ymm0,1568(%rsp) vmovdqa %ymm0,1600(%rsp) vmovdqa %ymm0,1632(%rsp) vmovdqa %ymm0,1664(%rsp) movq $96,%r9 movb $62,%cl vmovdqa vec0(%rip),%ymm0 vmovdqa sixtytwo(%rip),%ymm1 vmovdqa %ymm1,0(%rsp) vmovdqa %ymm0,32(%rsp) movq %rdx,%rax // Montgomery ladder loop .L1: addq %r9,%rax vmovdqa 0(%rax),%ymm0 vmovdqa %ymm0,64(%rsp) movq %rdx,%rax .L2: /* * Montgomery ladder step * * T1 ← X2 + Z2 * T2 ← X2 - Z2 * T3 ← X3 + Z3 * T4 ← X3 - Z3 * Z3 ← T2 · T3 * X3 ← T1 · T4 * * bit ← n[i] * select ← bit ⊕ prevbit * prevbit ← bit * CSelect(T1,T3,select): if (select == 1) {T1 = T3} * CSelect(T2,T4,select): if (select == 1) {T2 = T4} * * T2 ← T2^2 * T1 ← T1^2 * T3 ← X3 + Z3 * Z3 ← X3 - Z3 * Z3 ← Z3^2 * X3 ← T3^2 * T3 ← T1 - T2 * T4 ← ((A + 2)/4) · T3 * T4 ← T4 + T2 * X2 ← T1 · T2 * Z2 ← T3 · T4 * Z3 ← Z3 · X1 * */ // X2 vmovdqa 416(%rsp),%ymm10 vmovdqa 448(%rsp),%ymm11 vmovdqa 480(%rsp),%ymm12 vmovdqa 512(%rsp),%ymm13 vmovdqa 544(%rsp),%ymm14 vmovdqa 576(%rsp),%ymm15 vmovdqa 608(%rsp),%ymm6 vmovdqa 640(%rsp),%ymm7 vmovdqa 672(%rsp),%ymm8 vmovdqa 704(%rsp),%ymm9 // copy X2 vmovdqa %ymm10,%ymm0 vmovdqa %ymm11,%ymm1 vmovdqa %ymm12,%ymm2 vmovdqa %ymm13,%ymm3 vmovdqa %ymm14,%ymm4 vmovdqa %ymm15,%ymm5 // T1 ← X2 + Z2 vpaddq 736(%rsp),%ymm10,%ymm10 vpaddq 768(%rsp),%ymm11,%ymm11 vpaddq 800(%rsp),%ymm12,%ymm12 vpaddq 832(%rsp),%ymm13,%ymm13 vpaddq 864(%rsp),%ymm14,%ymm14 vpaddq 896(%rsp),%ymm15,%ymm15 vpaddq 928(%rsp),%ymm6,%ymm6 vpaddq 960(%rsp),%ymm7,%ymm7 vpaddq 992(%rsp),%ymm8,%ymm8 vpaddq 1024(%rsp),%ymm9,%ymm9 vmovdqa %ymm10,1696(%rsp) vmovdqa %ymm11,1728(%rsp) vmovdqa %ymm12,1760(%rsp) vmovdqa %ymm13,1792(%rsp) vmovdqa %ymm14,1824(%rsp) vmovdqa %ymm15,1856(%rsp) vmovdqa %ymm6,1888(%rsp) vmovdqa %ymm7,1920(%rsp) vmovdqa %ymm8,1952(%rsp) vmovdqa %ymm9,1984(%rsp) // remaining X2 vmovdqa 608(%rsp),%ymm6 vmovdqa 640(%rsp),%ymm7 vmovdqa 672(%rsp),%ymm8 vmovdqa 704(%rsp),%ymm9 // T2 ← X2 - Z2 vpaddq vec2p0(%rip),%ymm0,%ymm0 vpaddq vec2p13579(%rip),%ymm1,%ymm1 vpaddq vec2p2468(%rip),%ymm2,%ymm2 vpaddq vec2p13579(%rip),%ymm3,%ymm3 vpaddq vec2p2468(%rip),%ymm4,%ymm4 vpaddq vec2p13579(%rip),%ymm5,%ymm5 vpaddq vec2p2468(%rip),%ymm6,%ymm6 vpaddq vec2p13579(%rip),%ymm7,%ymm7 vpaddq vec2p2468(%rip),%ymm8,%ymm8 vpaddq vec2p13579(%rip),%ymm9,%ymm9 vpsubq 736(%rsp),%ymm0,%ymm0 vpsubq 768(%rsp),%ymm1,%ymm1 vpsubq 800(%rsp),%ymm2,%ymm2 vpsubq 832(%rsp),%ymm3,%ymm3 vpsubq 864(%rsp),%ymm4,%ymm4 vpsubq 896(%rsp),%ymm5,%ymm5 vpsubq 928(%rsp),%ymm6,%ymm6 vpsubq 960(%rsp),%ymm7,%ymm7 vpsubq 992(%rsp),%ymm8,%ymm8 vpsubq 1024(%rsp),%ymm9,%ymm9 vmovdqa %ymm0,2016(%rsp) vmovdqa %ymm1,2048(%rsp) vmovdqa %ymm2,2080(%rsp) vmovdqa %ymm3,2112(%rsp) vmovdqa %ymm4,2144(%rsp) vmovdqa %ymm5,2176(%rsp) vmovdqa %ymm6,2208(%rsp) vmovdqa %ymm7,2240(%rsp) vmovdqa %ymm8,2272(%rsp) vmovdqa %ymm9,2304(%rsp) // X3 vmovdqa 1056(%rsp),%ymm10 vmovdqa 1088(%rsp),%ymm11 vmovdqa 1120(%rsp),%ymm12 vmovdqa 1152(%rsp),%ymm13 vmovdqa 1184(%rsp),%ymm14 vmovdqa 1216(%rsp),%ymm15 vmovdqa 1248(%rsp),%ymm6 vmovdqa 1280(%rsp),%ymm7 vmovdqa 1312(%rsp),%ymm8 vmovdqa 1344(%rsp),%ymm9 // copy X3 vmovdqa %ymm10,%ymm0 vmovdqa %ymm11,%ymm1 vmovdqa %ymm12,%ymm2 vmovdqa %ymm13,%ymm3 vmovdqa %ymm14,%ymm4 vmovdqa %ymm15,%ymm5 // T3 ← X3 + Z3 vpaddq 1376(%rsp),%ymm10,%ymm10 vpaddq 1408(%rsp),%ymm11,%ymm11 vpaddq 1440(%rsp),%ymm12,%ymm12 vpaddq 1472(%rsp),%ymm13,%ymm13 vpaddq 1504(%rsp),%ymm14,%ymm14 vpaddq 1536(%rsp),%ymm15,%ymm15 vpaddq 1568(%rsp),%ymm6,%ymm6 vpaddq 1600(%rsp),%ymm7,%ymm7 vpaddq 1632(%rsp),%ymm8,%ymm8 vpaddq 1664(%rsp),%ymm9,%ymm9 vmovdqa %ymm10,2336(%rsp) vmovdqa %ymm11,2368(%rsp) vmovdqa %ymm12,2400(%rsp) vmovdqa %ymm13,2432(%rsp) vmovdqa %ymm14,2464(%rsp) vmovdqa %ymm15,2496(%rsp) vmovdqa %ymm6,2528(%rsp) vmovdqa %ymm7,2560(%rsp) vmovdqa %ymm8,2592(%rsp) vmovdqa %ymm9,2624(%rsp) // remaining X3 vmovdqa 1248(%rsp),%ymm6 vmovdqa 1280(%rsp),%ymm7 vmovdqa 1312(%rsp),%ymm8 vmovdqa 1344(%rsp),%ymm9 // T4 ← X3 - Z3 vpaddq vec2p0(%rip),%ymm0,%ymm0 vpaddq vec2p13579(%rip),%ymm1,%ymm1 vpaddq vec2p2468(%rip),%ymm2,%ymm2 vpaddq vec2p13579(%rip),%ymm3,%ymm3 vpaddq vec2p2468(%rip),%ymm4,%ymm4 vpaddq vec2p13579(%rip),%ymm5,%ymm5 vpaddq vec2p2468(%rip),%ymm6,%ymm6 vpaddq vec2p13579(%rip),%ymm7,%ymm7 vpaddq vec2p2468(%rip),%ymm8,%ymm8 vpaddq vec2p13579(%rip),%ymm9,%ymm9 vpsubq 1376(%rsp),%ymm0,%ymm0 vpsubq 1408(%rsp),%ymm1,%ymm1 vpsubq 1440(%rsp),%ymm2,%ymm2 vpsubq 1472(%rsp),%ymm3,%ymm3 vpsubq 1504(%rsp),%ymm4,%ymm4 vpsubq 1536(%rsp),%ymm5,%ymm5 vpsubq 1568(%rsp),%ymm6,%ymm6 vpsubq 1600(%rsp),%ymm7,%ymm7 vpsubq 1632(%rsp),%ymm8,%ymm8 vpsubq 1664(%rsp),%ymm9,%ymm9 vmovdqa %ymm0,2656(%rsp) vmovdqa %ymm1,2688(%rsp) vmovdqa %ymm2,2720(%rsp) vmovdqa %ymm3,2752(%rsp) vmovdqa %ymm4,2784(%rsp) vmovdqa %ymm5,2816(%rsp) vmovdqa %ymm6,2848(%rsp) vmovdqa %ymm7,2880(%rsp) vmovdqa %ymm8,2912(%rsp) vmovdqa %ymm9,2944(%rsp) // X3 ← T1 · T4 vmovdqa 1728(%rsp),%ymm11 vmovdqa 1792(%rsp),%ymm12 vmovdqa 1856(%rsp),%ymm13 vmovdqa 1920(%rsp),%ymm14 vmovdqa 1984(%rsp),%ymm15 vpaddq %ymm11,%ymm11,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm14,%ymm14,%ymm14 vpaddq %ymm15,%ymm15,%ymm15 vpmuludq vec19(%rip),%ymm1,%ymm1 vpmuludq vec19(%rip),%ymm2,%ymm2 vpmuludq vec19(%rip),%ymm3,%ymm3 vpmuludq vec19(%rip),%ymm4,%ymm4 vpmuludq vec19(%rip),%ymm5,%ymm5 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec19(%rip),%ymm7,%ymm7 vpmuludq vec19(%rip),%ymm8,%ymm8 vpmuludq vec19(%rip),%ymm9,%ymm9 vpmuludq %ymm15,%ymm1,%ymm0 vpmuludq %ymm14,%ymm3,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm13,%ymm5,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm12,%ymm7,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm11,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1952(%rsp),%ymm2,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1888(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1824(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1760(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1984(%rsp),%ymm2,%ymm1 vpmuludq 1952(%rsp),%ymm3,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1920(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1888(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1856(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1824(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1792(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1760(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq %ymm15,%ymm3,%ymm2 vpmuludq %ymm14,%ymm5,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm13,%ymm7,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm12,%ymm9,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1952(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1888(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1824(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2688(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1984(%rsp),%ymm4,%ymm3 vpmuludq 1952(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1920(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1888(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1856(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1824(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq %ymm15,%ymm5,%ymm4 vpmuludq %ymm14,%ymm7,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq %ymm13,%ymm9,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1952(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1888(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2688(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2752(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1984(%rsp),%ymm6,%ymm5 vpmuludq 1952(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1920(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1888(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq %ymm15,%ymm7,%ymm6 vpmuludq %ymm14,%ymm9,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1952(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2688(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2752(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2816(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1984(%rsp),%ymm8,%ymm7 vpmuludq 1952(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq %ymm15,%ymm9,%ymm8 vpmuludq 2688(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2752(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2816(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2880(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vmovdqa 1696(%rsp),%ymm11 vmovdqa 1728(%rsp),%ymm12 vmovdqa 1760(%rsp),%ymm13 vmovdqa 1792(%rsp),%ymm14 vmovdqa 1824(%rsp),%ymm15 vmovdqa 1856(%rsp),%ymm9 vpmuludq 2656(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2720(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2656(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2752(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2720(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2688(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2656(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2688(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2656(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2784(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2720(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2656(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2816(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2784(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2752(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2720(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2688(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2656(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2848(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2784(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2720(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2880(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2848(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2816(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2784(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2752(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2720(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2912(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2848(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2784(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2784(%rsp),%ymm9,%ymm9 vpmuludq 2944(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2912(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2880(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2848(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2816(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vmovdqa 1888(%rsp),%ymm11 vmovdqa 1920(%rsp),%ymm12 vmovdqa 1952(%rsp),%ymm13 vmovdqa 1984(%rsp),%ymm14 vpmuludq 2656(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2688(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2656(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2720(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2656(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2752(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2720(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2688(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2656(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm15 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm11 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm14 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm12 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm6 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm13 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm8 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm15,%ymm15 vpand vecmask26(%rip),%ymm4,%ymm7 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm3 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm15,%ymm10 vpaddq %ymm10,%ymm11,%ymm5 vpand vecmask25(%rip),%ymm15,%ymm9 vmovdqa %ymm0,1056(%rsp) vmovdqa %ymm3,1088(%rsp) vmovdqa %ymm12,1120(%rsp) vmovdqa %ymm13,1152(%rsp) vmovdqa %ymm7,1184(%rsp) vmovdqa %ymm9,1216(%rsp) vmovdqa %ymm5,1248(%rsp) vmovdqa %ymm14,1280(%rsp) vmovdqa %ymm6,1312(%rsp) vmovdqa %ymm8,1344(%rsp) // Z3 ← T2 · T3 vmovdqa 2368(%rsp),%ymm1 vmovdqa 2400(%rsp),%ymm2 vmovdqa 2432(%rsp),%ymm3 vmovdqa 2464(%rsp),%ymm4 vmovdqa 2496(%rsp),%ymm5 vmovdqa 2528(%rsp),%ymm6 vmovdqa 2560(%rsp),%ymm7 vmovdqa 2592(%rsp),%ymm8 vmovdqa 2624(%rsp),%ymm9 vmovdqa 2048(%rsp),%ymm11 vmovdqa 2112(%rsp),%ymm12 vmovdqa 2176(%rsp),%ymm13 vmovdqa 2240(%rsp),%ymm14 vmovdqa 2304(%rsp),%ymm15 vpaddq %ymm11,%ymm11,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm14,%ymm14,%ymm14 vpaddq %ymm15,%ymm15,%ymm15 vpmuludq vec19(%rip),%ymm1,%ymm1 vpmuludq vec19(%rip),%ymm2,%ymm2 vpmuludq vec19(%rip),%ymm3,%ymm3 vpmuludq vec19(%rip),%ymm4,%ymm4 vpmuludq vec19(%rip),%ymm5,%ymm5 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec19(%rip),%ymm7,%ymm7 vpmuludq vec19(%rip),%ymm8,%ymm8 vpmuludq vec19(%rip),%ymm9,%ymm9 vpmuludq %ymm15,%ymm1,%ymm0 vpmuludq %ymm14,%ymm3,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm13,%ymm5,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm12,%ymm7,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm11,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2272(%rsp),%ymm2,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2208(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2144(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2080(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2304(%rsp),%ymm2,%ymm1 vpmuludq 2272(%rsp),%ymm3,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2240(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2208(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2176(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2144(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2112(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2080(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq %ymm15,%ymm3,%ymm2 vpmuludq %ymm14,%ymm5,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm13,%ymm7,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm12,%ymm9,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2272(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2208(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2144(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2368(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2304(%rsp),%ymm4,%ymm3 vpmuludq 2272(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2240(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2208(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2176(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2144(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq %ymm15,%ymm5,%ymm4 vpmuludq %ymm14,%ymm7,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq %ymm13,%ymm9,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2272(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2208(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2368(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2432(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2304(%rsp),%ymm6,%ymm5 vpmuludq 2272(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2240(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2208(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq %ymm15,%ymm7,%ymm6 vpmuludq %ymm14,%ymm9,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2272(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2368(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2432(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2496(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2304(%rsp),%ymm8,%ymm7 vpmuludq 2272(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq %ymm15,%ymm9,%ymm8 vpmuludq 2368(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2432(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2496(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2560(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vmovdqa 2016(%rsp),%ymm11 vmovdqa 2048(%rsp),%ymm12 vmovdqa 2080(%rsp),%ymm13 vmovdqa 2112(%rsp),%ymm14 vmovdqa 2144(%rsp),%ymm15 vmovdqa 2176(%rsp),%ymm9 vpmuludq 2336(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2400(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2336(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2432(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2400(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2368(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2336(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2368(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2336(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2464(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2400(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2336(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2496(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2464(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2432(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2400(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2368(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2336(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2528(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2464(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2400(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2560(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2528(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2496(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2464(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2432(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2400(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2592(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2528(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2464(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2464(%rsp),%ymm9,%ymm9 vpmuludq 2624(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2592(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2560(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2528(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2496(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vmovdqa 2208(%rsp),%ymm11 vmovdqa 2240(%rsp),%ymm12 vmovdqa 2272(%rsp),%ymm13 vmovdqa 2304(%rsp),%ymm14 vpmuludq 2336(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2368(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2336(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2400(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2336(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2432(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2400(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2368(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2336(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm15 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm11 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm14 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm12 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm6 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm13 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm8 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm15,%ymm15 vpand vecmask26(%rip),%ymm4,%ymm7 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm3 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm15,%ymm10 vpaddq %ymm10,%ymm11,%ymm5 vpand vecmask25(%rip),%ymm15,%ymm9 vmovdqa %ymm0,1376(%rsp) vmovdqa %ymm3,1408(%rsp) vmovdqa %ymm12,1440(%rsp) vmovdqa %ymm13,1472(%rsp) vmovdqa %ymm7,1504(%rsp) vmovdqa %ymm9,1536(%rsp) vmovdqa %ymm5,1568(%rsp) vmovdqa %ymm14,1600(%rsp) vmovdqa %ymm6,1632(%rsp) vmovdqa %ymm8,1664(%rsp) // conditional select vmovdqa 0(%rsp),%ymm10 vmovdqa 64(%rsp),%ymm11 vpsrlq %xmm10,%ymm11,%ymm11 vpand vec1(%rip),%ymm11,%ymm12 vpxor 32(%rsp),%ymm12,%ymm11 vmovdqa %ymm12,32(%rsp) vpsubq one(%rip),%ymm10,%ymm10 vmovdqa %ymm10,0(%rsp) vmovdqa vec0(%rip),%ymm10 vpsubq %ymm11,%ymm10,%ymm10 vmovdqa 1696(%rsp),%ymm0 vmovdqa 1728(%rsp),%ymm1 vmovdqa 1760(%rsp),%ymm2 vmovdqa 1792(%rsp),%ymm3 vmovdqa 1824(%rsp),%ymm4 vmovdqa 1856(%rsp),%ymm5 vmovdqa 1888(%rsp),%ymm6 vmovdqa 1920(%rsp),%ymm7 vmovdqa 1952(%rsp),%ymm8 vmovdqa 1984(%rsp),%ymm9 vpxor 2336(%rsp),%ymm0,%ymm0 vpxor 2368(%rsp),%ymm1,%ymm1 vpxor 2400(%rsp),%ymm2,%ymm2 vpxor 2432(%rsp),%ymm3,%ymm3 vpxor 2464(%rsp),%ymm4,%ymm4 vpxor 2496(%rsp),%ymm5,%ymm5 vpxor 2528(%rsp),%ymm6,%ymm6 vpxor 2560(%rsp),%ymm7,%ymm7 vpxor 2592(%rsp),%ymm8,%ymm8 vpxor 2624(%rsp),%ymm9,%ymm9 vpand %ymm10,%ymm0,%ymm0 vpand %ymm10,%ymm1,%ymm1 vpand %ymm10,%ymm2,%ymm2 vpand %ymm10,%ymm3,%ymm3 vpand %ymm10,%ymm4,%ymm4 vpand %ymm10,%ymm5,%ymm5 vpand %ymm10,%ymm6,%ymm6 vpand %ymm10,%ymm7,%ymm7 vpand %ymm10,%ymm8,%ymm8 vpand %ymm10,%ymm9,%ymm9 vpxor 1696(%rsp),%ymm0,%ymm0 vpxor 1728(%rsp),%ymm1,%ymm1 vpxor 1760(%rsp),%ymm2,%ymm2 vpxor 1792(%rsp),%ymm3,%ymm3 vpxor 1824(%rsp),%ymm4,%ymm4 vpxor 1856(%rsp),%ymm5,%ymm5 vpxor 1888(%rsp),%ymm6,%ymm6 vpxor 1920(%rsp),%ymm7,%ymm7 vpxor 1952(%rsp),%ymm8,%ymm8 vpxor 1984(%rsp),%ymm9,%ymm9 vmovdqa %ymm0,1696(%rsp) vmovdqa %ymm1,1728(%rsp) vmovdqa %ymm2,1760(%rsp) vmovdqa %ymm3,1792(%rsp) vmovdqa %ymm4,1824(%rsp) vmovdqa %ymm5,1856(%rsp) vmovdqa %ymm6,1888(%rsp) vmovdqa %ymm7,1920(%rsp) vmovdqa %ymm8,1952(%rsp) vmovdqa %ymm9,1984(%rsp) vmovdqa 2016(%rsp),%ymm0 vmovdqa 2048(%rsp),%ymm3 vmovdqa 2080(%rsp),%ymm12 vmovdqa 2112(%rsp),%ymm13 vmovdqa 2144(%rsp),%ymm7 vmovdqa 2176(%rsp),%ymm9 vmovdqa 2208(%rsp),%ymm5 vmovdqa 2240(%rsp),%ymm14 vmovdqa 2272(%rsp),%ymm6 vmovdqa 2304(%rsp),%ymm8 vpxor 2656(%rsp),%ymm0,%ymm0 vpxor 2688(%rsp),%ymm3,%ymm3 vpxor 2720(%rsp),%ymm12,%ymm12 vpxor 2752(%rsp),%ymm13,%ymm13 vpxor 2784(%rsp),%ymm7,%ymm7 vpxor 2816(%rsp),%ymm9,%ymm9 vpxor 2848(%rsp),%ymm5,%ymm5 vpxor 2880(%rsp),%ymm14,%ymm14 vpxor 2912(%rsp),%ymm6,%ymm6 vpxor 2944(%rsp),%ymm8,%ymm8 vpand %ymm10,%ymm0,%ymm0 vpand %ymm10,%ymm3,%ymm3 vpand %ymm10,%ymm12,%ymm12 vpand %ymm10,%ymm13,%ymm13 vpand %ymm10,%ymm7,%ymm7 vpand %ymm10,%ymm9,%ymm9 vpand %ymm10,%ymm5,%ymm5 vpand %ymm10,%ymm14,%ymm14 vpand %ymm10,%ymm6,%ymm6 vpand %ymm10,%ymm8,%ymm8 vpxor 2016(%rsp),%ymm0,%ymm0 vpxor 2048(%rsp),%ymm3,%ymm3 vpxor 2080(%rsp),%ymm12,%ymm12 vpxor 2112(%rsp),%ymm13,%ymm13 vpxor 2144(%rsp),%ymm7,%ymm7 vpxor 2176(%rsp),%ymm9,%ymm9 vpxor 2208(%rsp),%ymm5,%ymm5 vpxor 2240(%rsp),%ymm14,%ymm14 vpxor 2272(%rsp),%ymm6,%ymm6 vpxor 2304(%rsp),%ymm8,%ymm8 vmovdqa %ymm12,2080(%rsp) vmovdqa %ymm13,2112(%rsp) vmovdqa %ymm7,2144(%rsp) vmovdqa %ymm9,2176(%rsp) vmovdqa %ymm5,2208(%rsp) vmovdqa %ymm14,2240(%rsp) vmovdqa %ymm6,2272(%rsp) vmovdqa %ymm8,2304(%rsp) // T2 ← T2^2 vpmuludq vec19(%rip),%ymm5,%ymm2 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec38(%rip),%ymm9,%ymm1 vpmuludq vec38(%rip),%ymm14,%ymm4 vpmuludq vec38(%rip),%ymm8,%ymm8 vpaddq %ymm0,%ymm0,%ymm10 vpaddq %ymm3,%ymm3,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm7,%ymm7,%ymm7 vpaddq %ymm9,%ymm9,%ymm9 vpaddq %ymm5,%ymm5,%ymm5 vpaddq %ymm14,%ymm14,%ymm14 vpmuludq %ymm0,%ymm0,%ymm0 vpmuludq %ymm11,%ymm8,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm12,%ymm6,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm13,%ymm4,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm7,%ymm2,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 2176(%rsp),%ymm1,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 2208(%rsp),%ymm1,%ymm1 vpmuludq %ymm3,%ymm10,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 2080(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq %ymm13,%ymm6,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 2144(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 2208(%rsp),%ymm2,%ymm2 vpmuludq 2080(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm3,%ymm11,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm13,%ymm8,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm7,%ymm6,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm9,%ymm4,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq 2112(%rsp),%ymm10,%ymm3 vpmuludq 2080(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 2144(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq %ymm9,%ymm6,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 2208(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 2240(%rsp),%ymm4,%ymm4 vpmuludq 2144(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm11,%ymm13,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vmovdqa 2080(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm9,%ymm8,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm5,%ymm6,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq 2176(%rsp),%ymm10,%ymm5 vpmuludq 2144(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 2112(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 2208(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq %ymm6,%ymm14,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 2272(%rsp),%ymm6,%ymm6 vpmuludq 2208(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm11,%ymm9,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 2144(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 2112(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm14,%ymm8,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 2240(%rsp),%ymm10,%ymm7 vpmuludq 2208(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2176(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2144(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2272(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2304(%rsp),%ymm8,%ymm8 vpmuludq 2272(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm11,%ymm14,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 2208(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm13,%ymm9,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vmovdqa 2144(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 2144(%rsp),%ymm9,%ymm9 vpmuludq 2304(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 2272(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 2240(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 2208(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vmovdqa %ymm0,2016(%rsp) vmovdqa %ymm1,2048(%rsp) vmovdqa %ymm2,2080(%rsp) vmovdqa %ymm3,2112(%rsp) vmovdqa %ymm4,2144(%rsp) vmovdqa %ymm5,2176(%rsp) vmovdqa %ymm6,2208(%rsp) vmovdqa %ymm7,2240(%rsp) vmovdqa %ymm8,2272(%rsp) vmovdqa %ymm9,2304(%rsp) // T1 ← T1^2 vmovdqa 1696(%rsp),%ymm0 vmovdqa 1728(%rsp),%ymm3 vmovdqa 1760(%rsp),%ymm12 vmovdqa 1792(%rsp),%ymm13 vmovdqa 1824(%rsp),%ymm7 vmovdqa 1856(%rsp),%ymm9 vmovdqa 1888(%rsp),%ymm5 vmovdqa 1920(%rsp),%ymm14 vmovdqa 1952(%rsp),%ymm6 vmovdqa 1984(%rsp),%ymm8 vpmuludq vec19(%rip),%ymm5,%ymm2 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec38(%rip),%ymm9,%ymm1 vpmuludq vec38(%rip),%ymm14,%ymm4 vpmuludq vec38(%rip),%ymm8,%ymm8 vpaddq %ymm0,%ymm0,%ymm10 vpaddq %ymm3,%ymm3,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm7,%ymm7,%ymm7 vpaddq %ymm9,%ymm9,%ymm9 vpaddq %ymm5,%ymm5,%ymm5 vpaddq %ymm14,%ymm14,%ymm14 vpmuludq %ymm0,%ymm0,%ymm0 vpmuludq %ymm11,%ymm8,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm12,%ymm6,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm13,%ymm4,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm7,%ymm2,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 1856(%rsp),%ymm1,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 1888(%rsp),%ymm1,%ymm1 vpmuludq %ymm3,%ymm10,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 1760(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq %ymm13,%ymm6,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 1824(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 1888(%rsp),%ymm2,%ymm2 vpmuludq 1760(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm3,%ymm11,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm13,%ymm8,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm7,%ymm6,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm9,%ymm4,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq 1792(%rsp),%ymm10,%ymm3 vpmuludq 1760(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 1824(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq %ymm9,%ymm6,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 1888(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 1920(%rsp),%ymm4,%ymm4 vpmuludq 1824(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm11,%ymm13,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vmovdqa 1760(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm9,%ymm8,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm5,%ymm6,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq 1856(%rsp),%ymm10,%ymm5 vpmuludq 1824(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 1792(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 1888(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq %ymm6,%ymm14,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 1952(%rsp),%ymm6,%ymm6 vpmuludq 1888(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm11,%ymm9,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 1824(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 1792(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm14,%ymm8,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 1920(%rsp),%ymm10,%ymm7 vpmuludq 1888(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1856(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1824(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1952(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1984(%rsp),%ymm8,%ymm8 vpmuludq 1952(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm11,%ymm14,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 1888(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm13,%ymm9,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vmovdqa 1824(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 1824(%rsp),%ymm9,%ymm9 vpmuludq 1984(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 1952(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 1920(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 1888(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vmovdqa %ymm0,1696(%rsp) vmovdqa %ymm1,1728(%rsp) vmovdqa %ymm2,1760(%rsp) vmovdqa %ymm3,1792(%rsp) vmovdqa %ymm4,1824(%rsp) vmovdqa %ymm5,1856(%rsp) vmovdqa %ymm6,1888(%rsp) vmovdqa %ymm7,1920(%rsp) vmovdqa %ymm8,1952(%rsp) vmovdqa %ymm9,1984(%rsp) // X3 vmovdqa 1056(%rsp),%ymm1 vmovdqa 1088(%rsp),%ymm2 vmovdqa 1120(%rsp),%ymm4 vmovdqa 1152(%rsp),%ymm10 vmovdqa 1184(%rsp),%ymm11 vmovdqa 1216(%rsp),%ymm15 vmovdqa 1248(%rsp),%ymm5 vmovdqa 1280(%rsp),%ymm14 vmovdqa 1312(%rsp),%ymm6 vmovdqa 1344(%rsp),%ymm8 // copy X3 vmovdqa %ymm1,%ymm0 vmovdqa %ymm2,%ymm3 vmovdqa %ymm4,%ymm12 vmovdqa %ymm10,%ymm13 vmovdqa %ymm11,%ymm7 vmovdqa %ymm15,%ymm9 // T3 ← X3 + Z3 vpaddq 1376(%rsp),%ymm1,%ymm1 vpaddq 1408(%rsp),%ymm2,%ymm2 vpaddq 1440(%rsp),%ymm4,%ymm4 vpaddq 1472(%rsp),%ymm10,%ymm10 vpaddq 1504(%rsp),%ymm11,%ymm11 vpaddq 1536(%rsp),%ymm15,%ymm15 vpaddq 1568(%rsp),%ymm5,%ymm5 vpaddq 1600(%rsp),%ymm14,%ymm14 vpaddq 1632(%rsp),%ymm6,%ymm6 vpaddq 1664(%rsp),%ymm8,%ymm8 vmovdqa %ymm1,2336(%rsp) vmovdqa %ymm2,2368(%rsp) vmovdqa %ymm4,2400(%rsp) vmovdqa %ymm10,2432(%rsp) vmovdqa %ymm11,2464(%rsp) vmovdqa %ymm15,2496(%rsp) vmovdqa %ymm5,2528(%rsp) vmovdqa %ymm14,2560(%rsp) vmovdqa %ymm6,2592(%rsp) vmovdqa %ymm8,2624(%rsp) // remaining X3 vmovdqa 1248(%rsp),%ymm5 vmovdqa 1280(%rsp),%ymm14 vmovdqa 1312(%rsp),%ymm6 vmovdqa 1344(%rsp),%ymm8 // Z3 ← X3 - Z3 vpaddq vec2p0(%rip),%ymm0,%ymm0 vpaddq vec2p13579(%rip),%ymm3,%ymm3 vpaddq vec2p2468(%rip),%ymm12,%ymm12 vpaddq vec2p13579(%rip),%ymm13,%ymm13 vpaddq vec2p2468(%rip),%ymm7,%ymm7 vpaddq vec2p13579(%rip),%ymm9,%ymm9 vpaddq vec2p2468(%rip),%ymm5,%ymm5 vpaddq vec2p13579(%rip),%ymm14,%ymm14 vpaddq vec2p2468(%rip),%ymm6,%ymm6 vpaddq vec2p13579(%rip),%ymm8,%ymm8 vpsubq 1376(%rsp),%ymm0,%ymm0 vpsubq 1408(%rsp),%ymm3,%ymm3 vpsubq 1440(%rsp),%ymm12,%ymm12 vpsubq 1472(%rsp),%ymm13,%ymm13 vpsubq 1504(%rsp),%ymm7,%ymm7 vpsubq 1536(%rsp),%ymm9,%ymm9 vpsubq 1568(%rsp),%ymm5,%ymm5 vpsubq 1600(%rsp),%ymm14,%ymm14 vpsubq 1632(%rsp),%ymm6,%ymm6 vpsubq 1664(%rsp),%ymm8,%ymm8 vmovdqa %ymm12,1440(%rsp) vmovdqa %ymm13,1472(%rsp) vmovdqa %ymm7,1504(%rsp) vmovdqa %ymm9,1536(%rsp) vmovdqa %ymm5,1568(%rsp) vmovdqa %ymm14,1600(%rsp) vmovdqa %ymm6,1632(%rsp) vmovdqa %ymm8,1664(%rsp) // Z3 ← Z3^2 vpmuludq vec19(%rip),%ymm5,%ymm2 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec38(%rip),%ymm9,%ymm1 vpmuludq vec38(%rip),%ymm14,%ymm4 vpmuludq vec38(%rip),%ymm8,%ymm8 vpaddq %ymm0,%ymm0,%ymm10 vpaddq %ymm3,%ymm3,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm7,%ymm7,%ymm7 vpaddq %ymm9,%ymm9,%ymm9 vpaddq %ymm5,%ymm5,%ymm5 vpaddq %ymm14,%ymm14,%ymm14 vpmuludq %ymm0,%ymm0,%ymm0 vpmuludq %ymm11,%ymm8,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm12,%ymm6,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm13,%ymm4,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm7,%ymm2,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 1536(%rsp),%ymm1,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 1568(%rsp),%ymm1,%ymm1 vpmuludq %ymm3,%ymm10,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 1440(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq %ymm13,%ymm6,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 1504(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 1568(%rsp),%ymm2,%ymm2 vpmuludq 1440(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm3,%ymm11,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm13,%ymm8,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm7,%ymm6,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm9,%ymm4,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq 1472(%rsp),%ymm10,%ymm3 vpmuludq 1440(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 1504(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq %ymm9,%ymm6,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 1568(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 1600(%rsp),%ymm4,%ymm4 vpmuludq 1504(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm11,%ymm13,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vmovdqa 1440(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm9,%ymm8,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm5,%ymm6,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq 1536(%rsp),%ymm10,%ymm5 vpmuludq 1504(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 1472(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 1568(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq %ymm6,%ymm14,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 1632(%rsp),%ymm6,%ymm6 vpmuludq 1568(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm11,%ymm9,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 1504(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 1472(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm14,%ymm8,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 1600(%rsp),%ymm10,%ymm7 vpmuludq 1568(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1536(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1504(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1632(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 1664(%rsp),%ymm8,%ymm8 vpmuludq 1632(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm11,%ymm14,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 1568(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm13,%ymm9,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vmovdqa 1504(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 1504(%rsp),%ymm9,%ymm9 vpmuludq 1664(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 1632(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 1600(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 1568(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vmovdqa %ymm0,1376(%rsp) vmovdqa %ymm1,1408(%rsp) vmovdqa %ymm2,1440(%rsp) vmovdqa %ymm3,1472(%rsp) vmovdqa %ymm4,1504(%rsp) vmovdqa %ymm5,1536(%rsp) vmovdqa %ymm6,1568(%rsp) vmovdqa %ymm7,1600(%rsp) vmovdqa %ymm8,1632(%rsp) vmovdqa %ymm9,1664(%rsp) // X3 ← T3^2 vmovdqa 2336(%rsp),%ymm0 vmovdqa 2368(%rsp),%ymm3 vmovdqa 2400(%rsp),%ymm12 vmovdqa 2432(%rsp),%ymm13 vmovdqa 2464(%rsp),%ymm7 vmovdqa 2496(%rsp),%ymm9 vmovdqa 2528(%rsp),%ymm5 vmovdqa 2560(%rsp),%ymm14 vmovdqa 2592(%rsp),%ymm6 vmovdqa 2624(%rsp),%ymm8 vpmuludq vec19(%rip),%ymm5,%ymm2 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec38(%rip),%ymm9,%ymm1 vpmuludq vec38(%rip),%ymm14,%ymm4 vpmuludq vec38(%rip),%ymm8,%ymm8 vpaddq %ymm0,%ymm0,%ymm10 vpaddq %ymm3,%ymm3,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm7,%ymm7,%ymm7 vpaddq %ymm9,%ymm9,%ymm9 vpaddq %ymm5,%ymm5,%ymm5 vpaddq %ymm14,%ymm14,%ymm14 vpmuludq %ymm0,%ymm0,%ymm0 vpmuludq %ymm11,%ymm8,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm12,%ymm6,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm13,%ymm4,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq %ymm7,%ymm2,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 2496(%rsp),%ymm1,%ymm15 vpaddq %ymm15,%ymm0,%ymm0 vpmuludq 2528(%rsp),%ymm1,%ymm1 vpmuludq %ymm3,%ymm10,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 2400(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq %ymm13,%ymm6,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 2464(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm1,%ymm1 vpmuludq 2528(%rsp),%ymm2,%ymm2 vpmuludq 2400(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm3,%ymm11,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm13,%ymm8,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm7,%ymm6,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq %ymm9,%ymm4,%ymm15 vpaddq %ymm15,%ymm2,%ymm2 vpmuludq 2432(%rsp),%ymm10,%ymm3 vpmuludq 2400(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 2464(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq %ymm9,%ymm6,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 2528(%rsp),%ymm4,%ymm15 vpaddq %ymm15,%ymm3,%ymm3 vpmuludq 2560(%rsp),%ymm4,%ymm4 vpmuludq 2464(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm11,%ymm13,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vmovdqa 2400(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm9,%ymm8,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq %ymm5,%ymm6,%ymm15 vpaddq %ymm15,%ymm4,%ymm4 vpmuludq 2496(%rsp),%ymm10,%ymm5 vpmuludq 2464(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 2432(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 2528(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq %ymm6,%ymm14,%ymm15 vpaddq %ymm15,%ymm5,%ymm5 vpmuludq 2592(%rsp),%ymm6,%ymm6 vpmuludq 2528(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm11,%ymm9,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 2464(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 2432(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq %ymm14,%ymm8,%ymm15 vpaddq %ymm15,%ymm6,%ymm6 vpmuludq 2560(%rsp),%ymm10,%ymm7 vpmuludq 2528(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2496(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2464(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2592(%rsp),%ymm8,%ymm15 vpaddq %ymm15,%ymm7,%ymm7 vpmuludq 2624(%rsp),%ymm8,%ymm8 vpmuludq 2592(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm11,%ymm14,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 2528(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq %ymm13,%ymm9,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vmovdqa 2464(%rsp),%ymm15 vpmuludq %ymm15,%ymm15,%ymm15 vpaddq %ymm15,%ymm8,%ymm8 vpmuludq 2464(%rsp),%ymm9,%ymm9 vpmuludq 2624(%rsp),%ymm10,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 2592(%rsp),%ymm11,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 2560(%rsp),%ymm12,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpmuludq 2528(%rsp),%ymm13,%ymm15 vpaddq %ymm15,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vmovdqa %ymm0,1056(%rsp) vmovdqa %ymm1,1088(%rsp) vmovdqa %ymm2,1120(%rsp) vmovdqa %ymm3,1152(%rsp) vmovdqa %ymm4,1184(%rsp) vmovdqa %ymm5,1216(%rsp) vmovdqa %ymm6,1248(%rsp) vmovdqa %ymm7,1280(%rsp) vmovdqa %ymm8,1312(%rsp) vmovdqa %ymm9,1344(%rsp) // T3 ← T1 - T2 vmovdqa 1696(%rsp),%ymm0 vmovdqa 1728(%rsp),%ymm1 vmovdqa 1760(%rsp),%ymm2 vmovdqa 1792(%rsp),%ymm3 vmovdqa 1824(%rsp),%ymm4 vmovdqa 1856(%rsp),%ymm5 vmovdqa 1888(%rsp),%ymm6 vmovdqa 1920(%rsp),%ymm7 vmovdqa 1952(%rsp),%ymm8 vmovdqa 1984(%rsp),%ymm9 vpaddq vec2p0(%rip),%ymm0,%ymm0 vpaddq vec2p13579(%rip),%ymm1,%ymm1 vpaddq vec2p2468(%rip),%ymm2,%ymm2 vpaddq vec2p13579(%rip),%ymm3,%ymm3 vpaddq vec2p2468(%rip),%ymm4,%ymm4 vpaddq vec2p13579(%rip),%ymm5,%ymm5 vpaddq vec2p2468(%rip),%ymm6,%ymm6 vpaddq vec2p13579(%rip),%ymm7,%ymm7 vpaddq vec2p2468(%rip),%ymm8,%ymm8 vpaddq vec2p13579(%rip),%ymm9,%ymm9 vpsubq 2016(%rsp),%ymm0,%ymm0 vpsubq 2048(%rsp),%ymm1,%ymm1 vpsubq 2080(%rsp),%ymm2,%ymm2 vpsubq 2112(%rsp),%ymm3,%ymm3 vpsubq 2144(%rsp),%ymm4,%ymm4 vpsubq 2176(%rsp),%ymm5,%ymm5 vpsubq 2208(%rsp),%ymm6,%ymm6 vpsubq 2240(%rsp),%ymm7,%ymm7 vpsubq 2272(%rsp),%ymm8,%ymm8 vpsubq 2304(%rsp),%ymm9,%ymm9 vmovdqa %ymm0,2336(%rsp) vmovdqa %ymm1,2368(%rsp) vmovdqa %ymm2,2400(%rsp) vmovdqa %ymm3,2432(%rsp) vmovdqa %ymm4,2464(%rsp) vmovdqa %ymm5,2496(%rsp) vmovdqa %ymm6,2528(%rsp) vmovdqa %ymm7,2560(%rsp) vmovdqa %ymm8,2592(%rsp) vmovdqa %ymm9,2624(%rsp) // T4 ← ((A2)/4) · T3 vpmuludq veca24(%rip),%ymm0,%ymm0 vpmuludq veca24(%rip),%ymm1,%ymm1 vpmuludq veca24(%rip),%ymm2,%ymm2 vpmuludq veca24(%rip),%ymm3,%ymm3 vpmuludq veca24(%rip),%ymm4,%ymm4 vpmuludq veca24(%rip),%ymm5,%ymm5 vpmuludq veca24(%rip),%ymm6,%ymm6 vpmuludq veca24(%rip),%ymm7,%ymm7 vpmuludq veca24(%rip),%ymm8,%ymm8 vpmuludq veca24(%rip),%ymm9,%ymm9 // T4 ← T4 + T2 vpaddq 2016(%rsp),%ymm0,%ymm0 vpaddq 2048(%rsp),%ymm1,%ymm1 vpaddq 2080(%rsp),%ymm2,%ymm2 vpaddq 2112(%rsp),%ymm3,%ymm3 vpaddq 2144(%rsp),%ymm4,%ymm4 vpaddq 2176(%rsp),%ymm5,%ymm5 vpaddq 2208(%rsp),%ymm6,%ymm6 vpaddq 2240(%rsp),%ymm7,%ymm7 vpaddq 2272(%rsp),%ymm8,%ymm8 vpaddq 2304(%rsp),%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vmovdqa %ymm0,2656(%rsp) vmovdqa %ymm1,2688(%rsp) vmovdqa %ymm2,2720(%rsp) vmovdqa %ymm3,2752(%rsp) vmovdqa %ymm4,2784(%rsp) vmovdqa %ymm5,2816(%rsp) vmovdqa %ymm6,2848(%rsp) vmovdqa %ymm7,2880(%rsp) vmovdqa %ymm8,2912(%rsp) vmovdqa %ymm9,2944(%rsp) // Z2 ← T3 · T4 vmovdqa 2368(%rsp),%ymm11 vmovdqa 2432(%rsp),%ymm12 vmovdqa 2496(%rsp),%ymm13 vmovdqa 2560(%rsp),%ymm14 vmovdqa 2624(%rsp),%ymm15 vpaddq %ymm11,%ymm11,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm14,%ymm14,%ymm14 vpaddq %ymm15,%ymm15,%ymm15 vpmuludq vec19(%rip),%ymm1,%ymm1 vpmuludq vec19(%rip),%ymm2,%ymm2 vpmuludq vec19(%rip),%ymm3,%ymm3 vpmuludq vec19(%rip),%ymm4,%ymm4 vpmuludq vec19(%rip),%ymm5,%ymm5 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec19(%rip),%ymm7,%ymm7 vpmuludq vec19(%rip),%ymm8,%ymm8 vpmuludq vec19(%rip),%ymm9,%ymm9 vpmuludq %ymm15,%ymm1,%ymm0 vpmuludq %ymm14,%ymm3,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm13,%ymm5,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm12,%ymm7,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm11,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2592(%rsp),%ymm2,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2528(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2464(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2400(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2624(%rsp),%ymm2,%ymm1 vpmuludq 2592(%rsp),%ymm3,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2560(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2528(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2496(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2464(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2432(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2400(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq %ymm15,%ymm3,%ymm2 vpmuludq %ymm14,%ymm5,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm13,%ymm7,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm12,%ymm9,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2592(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2528(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2464(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2688(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2624(%rsp),%ymm4,%ymm3 vpmuludq 2592(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2560(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2528(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2496(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2464(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq %ymm15,%ymm5,%ymm4 vpmuludq %ymm14,%ymm7,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq %ymm13,%ymm9,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2592(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2528(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2688(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2752(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2624(%rsp),%ymm6,%ymm5 vpmuludq 2592(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2560(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2528(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq %ymm15,%ymm7,%ymm6 vpmuludq %ymm14,%ymm9,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2592(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2688(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2752(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2816(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2624(%rsp),%ymm8,%ymm7 vpmuludq 2592(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq %ymm15,%ymm9,%ymm8 vpmuludq 2688(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2752(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2816(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2880(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vmovdqa 2336(%rsp),%ymm11 vmovdqa 2368(%rsp),%ymm12 vmovdqa 2400(%rsp),%ymm13 vmovdqa 2432(%rsp),%ymm14 vmovdqa 2464(%rsp),%ymm15 vmovdqa 2496(%rsp),%ymm9 vpmuludq 2656(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2720(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2656(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2752(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2720(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2688(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2656(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2688(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2656(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2784(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2720(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2656(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2816(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2784(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2752(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2720(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2688(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2656(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2848(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2784(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2720(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2880(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2848(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2816(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2784(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2752(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2720(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2912(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2848(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2784(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2784(%rsp),%ymm9,%ymm9 vpmuludq 2944(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2912(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2880(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2848(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2816(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vmovdqa 2528(%rsp),%ymm11 vmovdqa 2560(%rsp),%ymm12 vmovdqa 2592(%rsp),%ymm13 vmovdqa 2624(%rsp),%ymm14 vpmuludq 2656(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2688(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2656(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2720(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2656(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2752(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2720(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2688(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2656(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm15 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm11 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm14 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm12 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm6 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm13 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm8 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm15,%ymm15 vpand vecmask26(%rip),%ymm4,%ymm7 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm3 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm15,%ymm10 vpaddq %ymm10,%ymm11,%ymm5 vpand vecmask25(%rip),%ymm15,%ymm9 vmovdqa %ymm0,736(%rsp) vmovdqa %ymm3,768(%rsp) vmovdqa %ymm12,800(%rsp) vmovdqa %ymm13,832(%rsp) vmovdqa %ymm7,864(%rsp) vmovdqa %ymm9,896(%rsp) vmovdqa %ymm5,928(%rsp) vmovdqa %ymm14,960(%rsp) vmovdqa %ymm6,992(%rsp) vmovdqa %ymm8,1024(%rsp) // X2 ← T1 · T2 vmovdqa 2016(%rsp),%ymm0 vmovdqa 2048(%rsp),%ymm1 vmovdqa 2080(%rsp),%ymm2 vmovdqa 2112(%rsp),%ymm3 vmovdqa 2144(%rsp),%ymm4 vmovdqa 2176(%rsp),%ymm5 vmovdqa 2208(%rsp),%ymm6 vmovdqa 2240(%rsp),%ymm7 vmovdqa 2272(%rsp),%ymm8 vmovdqa 2304(%rsp),%ymm9 vmovdqa 1728(%rsp),%ymm11 vmovdqa 1792(%rsp),%ymm12 vmovdqa 1856(%rsp),%ymm13 vmovdqa 1920(%rsp),%ymm14 vmovdqa 1984(%rsp),%ymm15 vpaddq %ymm11,%ymm11,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm14,%ymm14,%ymm14 vpaddq %ymm15,%ymm15,%ymm15 vpmuludq vec19(%rip),%ymm1,%ymm1 vpmuludq vec19(%rip),%ymm2,%ymm2 vpmuludq vec19(%rip),%ymm3,%ymm3 vpmuludq vec19(%rip),%ymm4,%ymm4 vpmuludq vec19(%rip),%ymm5,%ymm5 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec19(%rip),%ymm7,%ymm7 vpmuludq vec19(%rip),%ymm8,%ymm8 vpmuludq vec19(%rip),%ymm9,%ymm9 vpmuludq %ymm15,%ymm1,%ymm0 vpmuludq %ymm14,%ymm3,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm13,%ymm5,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm12,%ymm7,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm11,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1952(%rsp),%ymm2,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1888(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1824(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1760(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1984(%rsp),%ymm2,%ymm1 vpmuludq 1952(%rsp),%ymm3,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1920(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1888(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1856(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1824(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1792(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1760(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq %ymm15,%ymm3,%ymm2 vpmuludq %ymm14,%ymm5,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm13,%ymm7,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm12,%ymm9,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1952(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1888(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1824(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2048(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1984(%rsp),%ymm4,%ymm3 vpmuludq 1952(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1920(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1888(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1856(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1824(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq %ymm15,%ymm5,%ymm4 vpmuludq %ymm14,%ymm7,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq %ymm13,%ymm9,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1952(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1888(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2048(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2112(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1984(%rsp),%ymm6,%ymm5 vpmuludq 1952(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1920(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1888(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq %ymm15,%ymm7,%ymm6 vpmuludq %ymm14,%ymm9,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1952(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2048(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2112(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2176(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1984(%rsp),%ymm8,%ymm7 vpmuludq 1952(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq %ymm15,%ymm9,%ymm8 vpmuludq 2048(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2112(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2176(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2240(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vmovdqa 1696(%rsp),%ymm11 vmovdqa 1728(%rsp),%ymm12 vmovdqa 1760(%rsp),%ymm13 vmovdqa 1792(%rsp),%ymm14 vmovdqa 1824(%rsp),%ymm15 vmovdqa 1856(%rsp),%ymm9 vpmuludq 2016(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 2080(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2016(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 2112(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2080(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2048(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2016(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 2048(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2016(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 2144(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2080(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2016(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 2176(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2144(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2112(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2080(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2048(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2016(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 2208(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2144(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2080(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2240(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2208(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2176(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2144(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2112(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2080(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2272(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2208(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2144(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2144(%rsp),%ymm9,%ymm9 vpmuludq 2304(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2272(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2240(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2208(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2176(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vmovdqa 1888(%rsp),%ymm11 vmovdqa 1920(%rsp),%ymm12 vmovdqa 1952(%rsp),%ymm13 vmovdqa 1984(%rsp),%ymm14 vpmuludq 2016(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 2048(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2016(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 2080(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2016(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 2112(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2080(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2048(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 2016(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm15 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm11 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm14 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm12 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm6 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm13 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm8 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm15,%ymm15 vpand vecmask26(%rip),%ymm4,%ymm7 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm3 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm15,%ymm10 vpaddq %ymm10,%ymm11,%ymm5 vpand vecmask25(%rip),%ymm15,%ymm9 vmovdqa %ymm0,416(%rsp) vmovdqa %ymm3,448(%rsp) vmovdqa %ymm12,480(%rsp) vmovdqa %ymm13,512(%rsp) vmovdqa %ymm7,544(%rsp) vmovdqa %ymm9,576(%rsp) vmovdqa %ymm5,608(%rsp) vmovdqa %ymm14,640(%rsp) vmovdqa %ymm6,672(%rsp) vmovdqa %ymm8,704(%rsp) // Z3 ← Z3 · X1 vmovdqa 1376(%rsp),%ymm0 vmovdqa 1408(%rsp),%ymm1 vmovdqa 1440(%rsp),%ymm2 vmovdqa 1472(%rsp),%ymm3 vmovdqa 1504(%rsp),%ymm4 vmovdqa 1536(%rsp),%ymm5 vmovdqa 1568(%rsp),%ymm6 vmovdqa 1600(%rsp),%ymm7 vmovdqa 1632(%rsp),%ymm8 vmovdqa 1664(%rsp),%ymm9 vmovdqa 128(%rsp),%ymm11 vmovdqa 192(%rsp),%ymm12 vmovdqa 256(%rsp),%ymm13 vmovdqa 320(%rsp),%ymm14 vmovdqa 384(%rsp),%ymm15 vpaddq %ymm11,%ymm11,%ymm11 vpaddq %ymm12,%ymm12,%ymm12 vpaddq %ymm13,%ymm13,%ymm13 vpaddq %ymm14,%ymm14,%ymm14 vpaddq %ymm15,%ymm15,%ymm15 vpmuludq vec19(%rip),%ymm1,%ymm1 vpmuludq vec19(%rip),%ymm2,%ymm2 vpmuludq vec19(%rip),%ymm3,%ymm3 vpmuludq vec19(%rip),%ymm4,%ymm4 vpmuludq vec19(%rip),%ymm5,%ymm5 vpmuludq vec19(%rip),%ymm6,%ymm6 vpmuludq vec19(%rip),%ymm7,%ymm7 vpmuludq vec19(%rip),%ymm8,%ymm8 vpmuludq vec19(%rip),%ymm9,%ymm9 vpmuludq %ymm15,%ymm1,%ymm0 vpmuludq %ymm14,%ymm3,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm13,%ymm5,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm12,%ymm7,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq %ymm11,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 352(%rsp),%ymm2,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 288(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 224(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 160(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 384(%rsp),%ymm2,%ymm1 vpmuludq 352(%rsp),%ymm3,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 320(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 288(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 256(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 224(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 192(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 160(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq %ymm15,%ymm3,%ymm2 vpmuludq %ymm14,%ymm5,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm13,%ymm7,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq %ymm12,%ymm9,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 352(%rsp),%ymm4,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 288(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 224(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1408(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 384(%rsp),%ymm4,%ymm3 vpmuludq 352(%rsp),%ymm5,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 320(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 288(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 256(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 224(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq %ymm15,%ymm5,%ymm4 vpmuludq %ymm14,%ymm7,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq %ymm13,%ymm9,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 352(%rsp),%ymm6,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 288(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1408(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1472(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 384(%rsp),%ymm6,%ymm5 vpmuludq 352(%rsp),%ymm7,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 320(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 288(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq %ymm15,%ymm7,%ymm6 vpmuludq %ymm14,%ymm9,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 352(%rsp),%ymm8,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1408(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1472(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1536(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 384(%rsp),%ymm8,%ymm7 vpmuludq 352(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq %ymm15,%ymm9,%ymm8 vpmuludq 1408(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1472(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1536(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1600(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vmovdqa 96(%rsp),%ymm11 vmovdqa 128(%rsp),%ymm12 vmovdqa 160(%rsp),%ymm13 vmovdqa 192(%rsp),%ymm14 vmovdqa 224(%rsp),%ymm15 vmovdqa 256(%rsp),%ymm9 vpmuludq 1376(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpmuludq 1440(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1376(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpmuludq 1472(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1440(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1408(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1376(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpmuludq 1408(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1376(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpmuludq 1504(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1440(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1376(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpmuludq 1536(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1504(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1472(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1440(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1408(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1376(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpmuludq 1568(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1504(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1440(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1600(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1568(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1536(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1504(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1472(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1440(%rsp),%ymm9,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1632(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1568(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1504(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1504(%rsp),%ymm9,%ymm9 vpmuludq 1664(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1632(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1600(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1568(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1536(%rsp),%ymm15,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vmovdqa 288(%rsp),%ymm11 vmovdqa 320(%rsp),%ymm12 vmovdqa 352(%rsp),%ymm13 vmovdqa 384(%rsp),%ymm14 vpmuludq 1376(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpmuludq 1408(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1376(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpmuludq 1440(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1376(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpmuludq 1472(%rsp),%ymm11,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1440(%rsp),%ymm12,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1408(%rsp),%ymm13,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpmuludq 1376(%rsp),%ymm14,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm15 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm11 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm14 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm12 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm6 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm13 vpsrlq $25,%ymm9,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $1,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpsllq $3,%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm8 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm15,%ymm15 vpand vecmask26(%rip),%ymm4,%ymm7 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm3 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm15,%ymm10 vpaddq %ymm10,%ymm11,%ymm5 vpand vecmask25(%rip),%ymm15,%ymm9 vmovdqa %ymm0,1376(%rsp) vmovdqa %ymm3,1408(%rsp) vmovdqa %ymm12,1440(%rsp) vmovdqa %ymm13,1472(%rsp) vmovdqa %ymm7,1504(%rsp) vmovdqa %ymm9,1536(%rsp) vmovdqa %ymm5,1568(%rsp) vmovdqa %ymm14,1600(%rsp) vmovdqa %ymm6,1632(%rsp) vmovdqa %ymm8,1664(%rsp) subb $1,%cl cmpb $0,%cl jge .L2 vmovdqa sixtythree(%rip),%ymm0 vmovdqa %ymm0,0(%rsp) movb $63,%cl subq $32,%r9 cmpq $0,%r9 jge .L1 // reduce X2 vmovdqa 416(%rsp),%ymm0 vmovdqa 448(%rsp),%ymm1 vmovdqa 480(%rsp),%ymm2 vmovdqa 512(%rsp),%ymm3 vmovdqa 544(%rsp),%ymm4 vmovdqa 576(%rsp),%ymm5 vmovdqa 608(%rsp),%ymm6 vmovdqa 640(%rsp),%ymm7 vmovdqa 672(%rsp),%ymm8 vmovdqa 704(%rsp),%ymm9 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm9,%ymm10 vpmuludq vec19(%rip),%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 // store X2 vmovdqa %ymm0,0(%rdi) vmovdqa %ymm1,32(%rdi) vmovdqa %ymm2,64(%rdi) vmovdqa %ymm3,96(%rdi) vmovdqa %ymm4,128(%rdi) vmovdqa %ymm5,160(%rdi) vmovdqa %ymm6,192(%rdi) vmovdqa %ymm7,224(%rdi) vmovdqa %ymm8,256(%rdi) vmovdqa %ymm9,288(%rdi) // reduce Z2 vmovdqa 736(%rsp),%ymm0 vmovdqa 768(%rsp),%ymm1 vmovdqa 800(%rsp),%ymm2 vmovdqa 832(%rsp),%ymm3 vmovdqa 864(%rsp),%ymm4 vmovdqa 896(%rsp),%ymm5 vmovdqa 928(%rsp),%ymm6 vmovdqa 960(%rsp),%ymm7 vmovdqa 992(%rsp),%ymm8 vmovdqa 1024(%rsp),%ymm9 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 vpsrlq $25,%ymm1,%ymm10 vpaddq %ymm10,%ymm2,%ymm2 vpand vecmask25(%rip),%ymm1,%ymm1 vpsrlq $26,%ymm2,%ymm10 vpaddq %ymm10,%ymm3,%ymm3 vpand vecmask26(%rip),%ymm2,%ymm2 vpsrlq $25,%ymm3,%ymm10 vpaddq %ymm10,%ymm4,%ymm4 vpand vecmask25(%rip),%ymm3,%ymm3 vpsrlq $26,%ymm4,%ymm10 vpaddq %ymm10,%ymm5,%ymm5 vpand vecmask26(%rip),%ymm4,%ymm4 vpsrlq $25,%ymm5,%ymm10 vpaddq %ymm10,%ymm6,%ymm6 vpand vecmask25(%rip),%ymm5,%ymm5 vpsrlq $26,%ymm6,%ymm10 vpaddq %ymm10,%ymm7,%ymm7 vpand vecmask26(%rip),%ymm6,%ymm6 vpsrlq $25,%ymm7,%ymm10 vpaddq %ymm10,%ymm8,%ymm8 vpand vecmask25(%rip),%ymm7,%ymm7 vpsrlq $26,%ymm8,%ymm10 vpaddq %ymm10,%ymm9,%ymm9 vpand vecmask26(%rip),%ymm8,%ymm8 vpsrlq $25,%ymm9,%ymm10 vpmuludq vec19(%rip),%ymm10,%ymm10 vpaddq %ymm10,%ymm0,%ymm0 vpand vecmask25(%rip),%ymm9,%ymm9 vpsrlq $26,%ymm0,%ymm10 vpaddq %ymm10,%ymm1,%ymm1 vpand vecmask26(%rip),%ymm0,%ymm0 // store Z2 vmovdqa %ymm0,320(%rdi) vmovdqa %ymm1,352(%rdi) vmovdqa %ymm2,384(%rdi) vmovdqa %ymm3,416(%rdi) vmovdqa %ymm4,448(%rdi) vmovdqa %ymm5,480(%rdi) vmovdqa %ymm6,512(%rdi) vmovdqa %ymm7,544(%rdi) vmovdqa %ymm8,576(%rdi) vmovdqa %ymm9,608(%rdi) movq %r8,%rsp ret