| // This file is generated from a similarly-named Perl script in the BoringSSL | 
 | // source tree. Do not edit by hand. | 
 |  | 
 | #include <openssl/asm_base.h> | 
 |  | 
 | #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__ELF__) | 
 | .text	 | 
 |  | 
 | .globl	rsaz_1024_sqr_avx2 | 
 | .hidden rsaz_1024_sqr_avx2 | 
 | .type	rsaz_1024_sqr_avx2,@function | 
 | .align	64 | 
 | rsaz_1024_sqr_avx2: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	leaq	(%rsp),%rax | 
 | .cfi_def_cfa_register	%rax | 
 | 	pushq	%rbx | 
 | .cfi_offset	%rbx,-16 | 
 | 	pushq	%rbp | 
 | .cfi_offset	%rbp,-24 | 
 | 	pushq	%r12 | 
 | .cfi_offset	%r12,-32 | 
 | 	pushq	%r13 | 
 | .cfi_offset	%r13,-40 | 
 | 	pushq	%r14 | 
 | .cfi_offset	%r14,-48 | 
 | 	pushq	%r15 | 
 | .cfi_offset	%r15,-56 | 
 | 	vzeroupper | 
 | 	movq	%rax,%rbp | 
 | .cfi_def_cfa_register	%rbp | 
 | 	movq	%rdx,%r13 | 
 | 	subq	$832,%rsp | 
 | 	movq	%r13,%r15 | 
 | 	subq	$-128,%rdi | 
 | 	subq	$-128,%rsi | 
 | 	subq	$-128,%r13 | 
 |  | 
 | 	andq	$4095,%r15 | 
 | 	addq	$320,%r15 | 
 | 	shrq	$12,%r15 | 
 | 	vpxor	%ymm9,%ymm9,%ymm9 | 
 | 	jz	.Lsqr_1024_no_n_copy | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 | 	subq	$320,%rsp | 
 | 	vmovdqu	0-128(%r13),%ymm0 | 
 | 	andq	$-2048,%rsp | 
 | 	vmovdqu	32-128(%r13),%ymm1 | 
 | 	vmovdqu	64-128(%r13),%ymm2 | 
 | 	vmovdqu	96-128(%r13),%ymm3 | 
 | 	vmovdqu	128-128(%r13),%ymm4 | 
 | 	vmovdqu	160-128(%r13),%ymm5 | 
 | 	vmovdqu	192-128(%r13),%ymm6 | 
 | 	vmovdqu	224-128(%r13),%ymm7 | 
 | 	vmovdqu	256-128(%r13),%ymm8 | 
 | 	leaq	832+128(%rsp),%r13 | 
 | 	vmovdqu	%ymm0,0-128(%r13) | 
 | 	vmovdqu	%ymm1,32-128(%r13) | 
 | 	vmovdqu	%ymm2,64-128(%r13) | 
 | 	vmovdqu	%ymm3,96-128(%r13) | 
 | 	vmovdqu	%ymm4,128-128(%r13) | 
 | 	vmovdqu	%ymm5,160-128(%r13) | 
 | 	vmovdqu	%ymm6,192-128(%r13) | 
 | 	vmovdqu	%ymm7,224-128(%r13) | 
 | 	vmovdqu	%ymm8,256-128(%r13) | 
 | 	vmovdqu	%ymm9,288-128(%r13) | 
 |  | 
 | .Lsqr_1024_no_n_copy: | 
 | 	andq	$-1024,%rsp | 
 |  | 
 | 	vmovdqu	32-128(%rsi),%ymm1 | 
 | 	vmovdqu	64-128(%rsi),%ymm2 | 
 | 	vmovdqu	96-128(%rsi),%ymm3 | 
 | 	vmovdqu	128-128(%rsi),%ymm4 | 
 | 	vmovdqu	160-128(%rsi),%ymm5 | 
 | 	vmovdqu	192-128(%rsi),%ymm6 | 
 | 	vmovdqu	224-128(%rsi),%ymm7 | 
 | 	vmovdqu	256-128(%rsi),%ymm8 | 
 |  | 
 | 	leaq	192(%rsp),%rbx | 
 | 	vmovdqu	.Land_mask(%rip),%ymm15 | 
 | 	jmp	.LOOP_GRANDE_SQR_1024 | 
 |  | 
 | .align	32 | 
 | .LOOP_GRANDE_SQR_1024: | 
 | 	leaq	576+128(%rsp),%r9 | 
 | 	leaq	448(%rsp),%r12 | 
 |  | 
 |  | 
 |  | 
 |  | 
 | 	vpaddq	%ymm1,%ymm1,%ymm1 | 
 | 	vpbroadcastq	0-128(%rsi),%ymm10 | 
 | 	vpaddq	%ymm2,%ymm2,%ymm2 | 
 | 	vmovdqa	%ymm1,0-128(%r9) | 
 | 	vpaddq	%ymm3,%ymm3,%ymm3 | 
 | 	vmovdqa	%ymm2,32-128(%r9) | 
 | 	vpaddq	%ymm4,%ymm4,%ymm4 | 
 | 	vmovdqa	%ymm3,64-128(%r9) | 
 | 	vpaddq	%ymm5,%ymm5,%ymm5 | 
 | 	vmovdqa	%ymm4,96-128(%r9) | 
 | 	vpaddq	%ymm6,%ymm6,%ymm6 | 
 | 	vmovdqa	%ymm5,128-128(%r9) | 
 | 	vpaddq	%ymm7,%ymm7,%ymm7 | 
 | 	vmovdqa	%ymm6,160-128(%r9) | 
 | 	vpaddq	%ymm8,%ymm8,%ymm8 | 
 | 	vmovdqa	%ymm7,192-128(%r9) | 
 | 	vpxor	%ymm9,%ymm9,%ymm9 | 
 | 	vmovdqa	%ymm8,224-128(%r9) | 
 |  | 
 | 	vpmuludq	0-128(%rsi),%ymm10,%ymm0 | 
 | 	vpbroadcastq	32-128(%rsi),%ymm11 | 
 | 	vmovdqu	%ymm9,288-192(%rbx) | 
 | 	vpmuludq	%ymm10,%ymm1,%ymm1 | 
 | 	vmovdqu	%ymm9,320-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm2,%ymm2 | 
 | 	vmovdqu	%ymm9,352-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm3,%ymm3 | 
 | 	vmovdqu	%ymm9,384-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm4,%ymm4 | 
 | 	vmovdqu	%ymm9,416-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm5,%ymm5 | 
 | 	vmovdqu	%ymm9,448-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm6,%ymm6 | 
 | 	vmovdqu	%ymm9,480-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm7,%ymm7 | 
 | 	vmovdqu	%ymm9,512-448(%r12) | 
 | 	vpmuludq	%ymm10,%ymm8,%ymm8 | 
 | 	vpbroadcastq	64-128(%rsi),%ymm10 | 
 | 	vmovdqu	%ymm9,544-448(%r12) | 
 |  | 
 | 	movq	%rsi,%r15 | 
 | 	movl	$4,%r14d | 
 | 	jmp	.Lsqr_entry_1024 | 
 | .align	32 | 
 | .LOOP_SQR_1024: | 
 | 	vpbroadcastq	32-128(%r15),%ymm11 | 
 | 	vpmuludq	0-128(%rsi),%ymm10,%ymm0 | 
 | 	vpaddq	0-192(%rbx),%ymm0,%ymm0 | 
 | 	vpmuludq	0-128(%r9),%ymm10,%ymm1 | 
 | 	vpaddq	32-192(%rbx),%ymm1,%ymm1 | 
 | 	vpmuludq	32-128(%r9),%ymm10,%ymm2 | 
 | 	vpaddq	64-192(%rbx),%ymm2,%ymm2 | 
 | 	vpmuludq	64-128(%r9),%ymm10,%ymm3 | 
 | 	vpaddq	96-192(%rbx),%ymm3,%ymm3 | 
 | 	vpmuludq	96-128(%r9),%ymm10,%ymm4 | 
 | 	vpaddq	128-192(%rbx),%ymm4,%ymm4 | 
 | 	vpmuludq	128-128(%r9),%ymm10,%ymm5 | 
 | 	vpaddq	160-192(%rbx),%ymm5,%ymm5 | 
 | 	vpmuludq	160-128(%r9),%ymm10,%ymm6 | 
 | 	vpaddq	192-192(%rbx),%ymm6,%ymm6 | 
 | 	vpmuludq	192-128(%r9),%ymm10,%ymm7 | 
 | 	vpaddq	224-192(%rbx),%ymm7,%ymm7 | 
 | 	vpmuludq	224-128(%r9),%ymm10,%ymm8 | 
 | 	vpbroadcastq	64-128(%r15),%ymm10 | 
 | 	vpaddq	256-192(%rbx),%ymm8,%ymm8 | 
 | .Lsqr_entry_1024: | 
 | 	vmovdqu	%ymm0,0-192(%rbx) | 
 | 	vmovdqu	%ymm1,32-192(%rbx) | 
 |  | 
 | 	vpmuludq	32-128(%rsi),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	32-128(%r9),%ymm11,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm3,%ymm3 | 
 | 	vpmuludq	64-128(%r9),%ymm11,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm4,%ymm4 | 
 | 	vpmuludq	96-128(%r9),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	128-128(%r9),%ymm11,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm6,%ymm6 | 
 | 	vpmuludq	160-128(%r9),%ymm11,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm7,%ymm7 | 
 | 	vpmuludq	192-128(%r9),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	224-128(%r9),%ymm11,%ymm0 | 
 | 	vpbroadcastq	96-128(%r15),%ymm11 | 
 | 	vpaddq	288-192(%rbx),%ymm0,%ymm0 | 
 |  | 
 | 	vmovdqu	%ymm2,64-192(%rbx) | 
 | 	vmovdqu	%ymm3,96-192(%rbx) | 
 |  | 
 | 	vpmuludq	64-128(%rsi),%ymm10,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm4,%ymm4 | 
 | 	vpmuludq	64-128(%r9),%ymm10,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	96-128(%r9),%ymm10,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm6,%ymm6 | 
 | 	vpmuludq	128-128(%r9),%ymm10,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm7,%ymm7 | 
 | 	vpmuludq	160-128(%r9),%ymm10,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	192-128(%r9),%ymm10,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm0,%ymm0 | 
 | 	vpmuludq	224-128(%r9),%ymm10,%ymm1 | 
 | 	vpbroadcastq	128-128(%r15),%ymm10 | 
 | 	vpaddq	320-448(%r12),%ymm1,%ymm1 | 
 |  | 
 | 	vmovdqu	%ymm4,128-192(%rbx) | 
 | 	vmovdqu	%ymm5,160-192(%rbx) | 
 |  | 
 | 	vpmuludq	96-128(%rsi),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm6,%ymm6 | 
 | 	vpmuludq	96-128(%r9),%ymm11,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm7,%ymm7 | 
 | 	vpmuludq	128-128(%r9),%ymm11,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm8,%ymm8 | 
 | 	vpmuludq	160-128(%r9),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm0,%ymm0 | 
 | 	vpmuludq	192-128(%r9),%ymm11,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm1,%ymm1 | 
 | 	vpmuludq	224-128(%r9),%ymm11,%ymm2 | 
 | 	vpbroadcastq	160-128(%r15),%ymm11 | 
 | 	vpaddq	352-448(%r12),%ymm2,%ymm2 | 
 |  | 
 | 	vmovdqu	%ymm6,192-192(%rbx) | 
 | 	vmovdqu	%ymm7,224-192(%rbx) | 
 |  | 
 | 	vpmuludq	128-128(%rsi),%ymm10,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	128-128(%r9),%ymm10,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm0,%ymm0 | 
 | 	vpmuludq	160-128(%r9),%ymm10,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm1,%ymm1 | 
 | 	vpmuludq	192-128(%r9),%ymm10,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	224-128(%r9),%ymm10,%ymm3 | 
 | 	vpbroadcastq	192-128(%r15),%ymm10 | 
 | 	vpaddq	384-448(%r12),%ymm3,%ymm3 | 
 |  | 
 | 	vmovdqu	%ymm8,256-192(%rbx) | 
 | 	vmovdqu	%ymm0,288-192(%rbx) | 
 | 	leaq	8(%rbx),%rbx | 
 |  | 
 | 	vpmuludq	160-128(%rsi),%ymm11,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm1,%ymm1 | 
 | 	vpmuludq	160-128(%r9),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	192-128(%r9),%ymm11,%ymm14 | 
 | 	vpaddq	%ymm14,%ymm3,%ymm3 | 
 | 	vpmuludq	224-128(%r9),%ymm11,%ymm4 | 
 | 	vpbroadcastq	224-128(%r15),%ymm11 | 
 | 	vpaddq	416-448(%r12),%ymm4,%ymm4 | 
 |  | 
 | 	vmovdqu	%ymm1,320-448(%r12) | 
 | 	vmovdqu	%ymm2,352-448(%r12) | 
 |  | 
 | 	vpmuludq	192-128(%rsi),%ymm10,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm3,%ymm3 | 
 | 	vpmuludq	192-128(%r9),%ymm10,%ymm14 | 
 | 	vpbroadcastq	256-128(%r15),%ymm0 | 
 | 	vpaddq	%ymm14,%ymm4,%ymm4 | 
 | 	vpmuludq	224-128(%r9),%ymm10,%ymm5 | 
 | 	vpbroadcastq	0+8-128(%r15),%ymm10 | 
 | 	vpaddq	448-448(%r12),%ymm5,%ymm5 | 
 |  | 
 | 	vmovdqu	%ymm3,384-448(%r12) | 
 | 	vmovdqu	%ymm4,416-448(%r12) | 
 | 	leaq	8(%r15),%r15 | 
 |  | 
 | 	vpmuludq	224-128(%rsi),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	224-128(%r9),%ymm11,%ymm6 | 
 | 	vpaddq	480-448(%r12),%ymm6,%ymm6 | 
 |  | 
 | 	vpmuludq	256-128(%rsi),%ymm0,%ymm7 | 
 | 	vmovdqu	%ymm5,448-448(%r12) | 
 | 	vpaddq	512-448(%r12),%ymm7,%ymm7 | 
 | 	vmovdqu	%ymm6,480-448(%r12) | 
 | 	vmovdqu	%ymm7,512-448(%r12) | 
 | 	leaq	8(%r12),%r12 | 
 |  | 
 | 	decl	%r14d | 
 | 	jnz	.LOOP_SQR_1024 | 
 |  | 
 | 	vmovdqu	256(%rsp),%ymm8 | 
 | 	vmovdqu	288(%rsp),%ymm1 | 
 | 	vmovdqu	320(%rsp),%ymm2 | 
 | 	leaq	192(%rsp),%rbx | 
 |  | 
 | 	vpsrlq	$29,%ymm8,%ymm14 | 
 | 	vpand	%ymm15,%ymm8,%ymm8 | 
 | 	vpsrlq	$29,%ymm1,%ymm11 | 
 | 	vpand	%ymm15,%ymm1,%ymm1 | 
 |  | 
 | 	vpermq	$0x93,%ymm14,%ymm14 | 
 | 	vpxor	%ymm9,%ymm9,%ymm9 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 |  | 
 | 	vpblendd	$3,%ymm9,%ymm14,%ymm10 | 
 | 	vpblendd	$3,%ymm14,%ymm11,%ymm14 | 
 | 	vpaddq	%ymm10,%ymm8,%ymm8 | 
 | 	vpblendd	$3,%ymm11,%ymm9,%ymm11 | 
 | 	vpaddq	%ymm14,%ymm1,%ymm1 | 
 | 	vpaddq	%ymm11,%ymm2,%ymm2 | 
 | 	vmovdqu	%ymm1,288-192(%rbx) | 
 | 	vmovdqu	%ymm2,320-192(%rbx) | 
 |  | 
 | 	movq	(%rsp),%rax | 
 | 	movq	8(%rsp),%r10 | 
 | 	movq	16(%rsp),%r11 | 
 | 	movq	24(%rsp),%r12 | 
 | 	vmovdqu	32(%rsp),%ymm1 | 
 | 	vmovdqu	64-192(%rbx),%ymm2 | 
 | 	vmovdqu	96-192(%rbx),%ymm3 | 
 | 	vmovdqu	128-192(%rbx),%ymm4 | 
 | 	vmovdqu	160-192(%rbx),%ymm5 | 
 | 	vmovdqu	192-192(%rbx),%ymm6 | 
 | 	vmovdqu	224-192(%rbx),%ymm7 | 
 |  | 
 | 	movq	%rax,%r9 | 
 | 	imull	%ecx,%eax | 
 | 	andl	$0x1fffffff,%eax | 
 | 	vmovd	%eax,%xmm12 | 
 |  | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%r13),%rax | 
 | 	vpbroadcastq	%xmm12,%ymm12 | 
 | 	addq	%rax,%r9 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	8-128(%r13),%rax | 
 | 	shrq	$29,%r9 | 
 | 	addq	%rax,%r10 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	16-128(%r13),%rax | 
 | 	addq	%r9,%r10 | 
 | 	addq	%rax,%r11 | 
 | 	imulq	24-128(%r13),%rdx | 
 | 	addq	%rdx,%r12 | 
 |  | 
 | 	movq	%r10,%rax | 
 | 	imull	%ecx,%eax | 
 | 	andl	$0x1fffffff,%eax | 
 |  | 
 | 	movl	$9,%r14d | 
 | 	jmp	.LOOP_REDUCE_1024 | 
 |  | 
 | .align	32 | 
 | .LOOP_REDUCE_1024: | 
 | 	vmovd	%eax,%xmm13 | 
 | 	vpbroadcastq	%xmm13,%ymm13 | 
 |  | 
 | 	vpmuludq	32-128(%r13),%ymm12,%ymm10 | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%r13),%rax | 
 | 	vpaddq	%ymm10,%ymm1,%ymm1 | 
 | 	addq	%rax,%r10 | 
 | 	vpmuludq	64-128(%r13),%ymm12,%ymm14 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	8-128(%r13),%rax | 
 | 	vpaddq	%ymm14,%ymm2,%ymm2 | 
 | 	vpmuludq	96-128(%r13),%ymm12,%ymm11 | 
 | .byte	0x67 | 
 | 	addq	%rax,%r11 | 
 | .byte	0x67 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	16-128(%r13),%rax | 
 | 	shrq	$29,%r10 | 
 | 	vpaddq	%ymm11,%ymm3,%ymm3 | 
 | 	vpmuludq	128-128(%r13),%ymm12,%ymm10 | 
 | 	addq	%rax,%r12 | 
 | 	addq	%r10,%r11 | 
 | 	vpaddq	%ymm10,%ymm4,%ymm4 | 
 | 	vpmuludq	160-128(%r13),%ymm12,%ymm14 | 
 | 	movq	%r11,%rax | 
 | 	imull	%ecx,%eax | 
 | 	vpaddq	%ymm14,%ymm5,%ymm5 | 
 | 	vpmuludq	192-128(%r13),%ymm12,%ymm11 | 
 | 	andl	$0x1fffffff,%eax | 
 | 	vpaddq	%ymm11,%ymm6,%ymm6 | 
 | 	vpmuludq	224-128(%r13),%ymm12,%ymm10 | 
 | 	vpaddq	%ymm10,%ymm7,%ymm7 | 
 | 	vpmuludq	256-128(%r13),%ymm12,%ymm14 | 
 | 	vmovd	%eax,%xmm12 | 
 |  | 
 | 	vpaddq	%ymm14,%ymm8,%ymm8 | 
 |  | 
 | 	vpbroadcastq	%xmm12,%ymm12 | 
 |  | 
 | 	vpmuludq	32-8-128(%r13),%ymm13,%ymm11 | 
 | 	vmovdqu	96-8-128(%r13),%ymm14 | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%r13),%rax | 
 | 	vpaddq	%ymm11,%ymm1,%ymm1 | 
 | 	vpmuludq	64-8-128(%r13),%ymm13,%ymm10 | 
 | 	vmovdqu	128-8-128(%r13),%ymm11 | 
 | 	addq	%rax,%r11 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	8-128(%r13),%rax | 
 | 	vpaddq	%ymm10,%ymm2,%ymm2 | 
 | 	addq	%r12,%rax | 
 | 	shrq	$29,%r11 | 
 | 	vpmuludq	%ymm13,%ymm14,%ymm14 | 
 | 	vmovdqu	160-8-128(%r13),%ymm10 | 
 | 	addq	%r11,%rax | 
 | 	vpaddq	%ymm14,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm13,%ymm11,%ymm11 | 
 | 	vmovdqu	192-8-128(%r13),%ymm14 | 
 | .byte	0x67 | 
 | 	movq	%rax,%r12 | 
 | 	imull	%ecx,%eax | 
 | 	vpaddq	%ymm11,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm13,%ymm10,%ymm10 | 
 | .byte	0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00 | 
 | 	andl	$0x1fffffff,%eax | 
 | 	vpaddq	%ymm10,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm13,%ymm14,%ymm14 | 
 | 	vmovdqu	256-8-128(%r13),%ymm10 | 
 | 	vpaddq	%ymm14,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm13,%ymm11,%ymm11 | 
 | 	vmovdqu	288-8-128(%r13),%ymm9 | 
 | 	vmovd	%eax,%xmm0 | 
 | 	imulq	-128(%r13),%rax | 
 | 	vpaddq	%ymm11,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm13,%ymm10,%ymm10 | 
 | 	vmovdqu	32-16-128(%r13),%ymm14 | 
 | 	vpbroadcastq	%xmm0,%ymm0 | 
 | 	vpaddq	%ymm10,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm13,%ymm9,%ymm9 | 
 | 	vmovdqu	64-16-128(%r13),%ymm11 | 
 | 	addq	%rax,%r12 | 
 |  | 
 | 	vmovdqu	32-24-128(%r13),%ymm13 | 
 | 	vpmuludq	%ymm12,%ymm14,%ymm14 | 
 | 	vmovdqu	96-16-128(%r13),%ymm10 | 
 | 	vpaddq	%ymm14,%ymm1,%ymm1 | 
 | 	vpmuludq	%ymm0,%ymm13,%ymm13 | 
 | 	vpmuludq	%ymm12,%ymm11,%ymm11 | 
 | .byte	0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff | 
 | 	vpaddq	%ymm1,%ymm13,%ymm13 | 
 | 	vpaddq	%ymm11,%ymm2,%ymm2 | 
 | 	vpmuludq	%ymm12,%ymm10,%ymm10 | 
 | 	vmovdqu	160-16-128(%r13),%ymm11 | 
 | .byte	0x67 | 
 | 	vmovq	%xmm13,%rax | 
 | 	vmovdqu	%ymm13,(%rsp) | 
 | 	vpaddq	%ymm10,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm12,%ymm14,%ymm14 | 
 | 	vmovdqu	192-16-128(%r13),%ymm10 | 
 | 	vpaddq	%ymm14,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm12,%ymm11,%ymm11 | 
 | 	vmovdqu	224-16-128(%r13),%ymm14 | 
 | 	vpaddq	%ymm11,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm12,%ymm10,%ymm10 | 
 | 	vmovdqu	256-16-128(%r13),%ymm11 | 
 | 	vpaddq	%ymm10,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm12,%ymm14,%ymm14 | 
 | 	shrq	$29,%r12 | 
 | 	vmovdqu	288-16-128(%r13),%ymm10 | 
 | 	addq	%r12,%rax | 
 | 	vpaddq	%ymm14,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm12,%ymm11,%ymm11 | 
 |  | 
 | 	movq	%rax,%r9 | 
 | 	imull	%ecx,%eax | 
 | 	vpaddq	%ymm11,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm12,%ymm10,%ymm10 | 
 | 	andl	$0x1fffffff,%eax | 
 | 	vmovd	%eax,%xmm12 | 
 | 	vmovdqu	96-24-128(%r13),%ymm11 | 
 | .byte	0x67 | 
 | 	vpaddq	%ymm10,%ymm9,%ymm9 | 
 | 	vpbroadcastq	%xmm12,%ymm12 | 
 |  | 
 | 	vpmuludq	64-24-128(%r13),%ymm0,%ymm14 | 
 | 	vmovdqu	128-24-128(%r13),%ymm10 | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%r13),%rax | 
 | 	movq	8(%rsp),%r10 | 
 | 	vpaddq	%ymm14,%ymm2,%ymm1 | 
 | 	vpmuludq	%ymm0,%ymm11,%ymm11 | 
 | 	vmovdqu	160-24-128(%r13),%ymm14 | 
 | 	addq	%rax,%r9 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	8-128(%r13),%rax | 
 | .byte	0x67 | 
 | 	shrq	$29,%r9 | 
 | 	movq	16(%rsp),%r11 | 
 | 	vpaddq	%ymm11,%ymm3,%ymm2 | 
 | 	vpmuludq	%ymm0,%ymm10,%ymm10 | 
 | 	vmovdqu	192-24-128(%r13),%ymm11 | 
 | 	addq	%rax,%r10 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	16-128(%r13),%rax | 
 | 	vpaddq	%ymm10,%ymm4,%ymm3 | 
 | 	vpmuludq	%ymm0,%ymm14,%ymm14 | 
 | 	vmovdqu	224-24-128(%r13),%ymm10 | 
 | 	imulq	24-128(%r13),%rdx | 
 | 	addq	%rax,%r11 | 
 | 	leaq	(%r9,%r10,1),%rax | 
 | 	vpaddq	%ymm14,%ymm5,%ymm4 | 
 | 	vpmuludq	%ymm0,%ymm11,%ymm11 | 
 | 	vmovdqu	256-24-128(%r13),%ymm14 | 
 | 	movq	%rax,%r10 | 
 | 	imull	%ecx,%eax | 
 | 	vpmuludq	%ymm0,%ymm10,%ymm10 | 
 | 	vpaddq	%ymm11,%ymm6,%ymm5 | 
 | 	vmovdqu	288-24-128(%r13),%ymm11 | 
 | 	andl	$0x1fffffff,%eax | 
 | 	vpaddq	%ymm10,%ymm7,%ymm6 | 
 | 	vpmuludq	%ymm0,%ymm14,%ymm14 | 
 | 	addq	24(%rsp),%rdx | 
 | 	vpaddq	%ymm14,%ymm8,%ymm7 | 
 | 	vpmuludq	%ymm0,%ymm11,%ymm11 | 
 | 	vpaddq	%ymm11,%ymm9,%ymm8 | 
 | 	vmovq	%r12,%xmm9 | 
 | 	movq	%rdx,%r12 | 
 |  | 
 | 	decl	%r14d | 
 | 	jnz	.LOOP_REDUCE_1024 | 
 | 	leaq	448(%rsp),%r12 | 
 | 	vpaddq	%ymm9,%ymm13,%ymm0 | 
 | 	vpxor	%ymm9,%ymm9,%ymm9 | 
 |  | 
 | 	vpaddq	288-192(%rbx),%ymm0,%ymm0 | 
 | 	vpaddq	320-448(%r12),%ymm1,%ymm1 | 
 | 	vpaddq	352-448(%r12),%ymm2,%ymm2 | 
 | 	vpaddq	384-448(%r12),%ymm3,%ymm3 | 
 | 	vpaddq	416-448(%r12),%ymm4,%ymm4 | 
 | 	vpaddq	448-448(%r12),%ymm5,%ymm5 | 
 | 	vpaddq	480-448(%r12),%ymm6,%ymm6 | 
 | 	vpaddq	512-448(%r12),%ymm7,%ymm7 | 
 | 	vpaddq	544-448(%r12),%ymm8,%ymm8 | 
 |  | 
 | 	vpsrlq	$29,%ymm0,%ymm14 | 
 | 	vpand	%ymm15,%ymm0,%ymm0 | 
 | 	vpsrlq	$29,%ymm1,%ymm11 | 
 | 	vpand	%ymm15,%ymm1,%ymm1 | 
 | 	vpsrlq	$29,%ymm2,%ymm12 | 
 | 	vpermq	$0x93,%ymm14,%ymm14 | 
 | 	vpand	%ymm15,%ymm2,%ymm2 | 
 | 	vpsrlq	$29,%ymm3,%ymm13 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 | 	vpand	%ymm15,%ymm3,%ymm3 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 |  | 
 | 	vpblendd	$3,%ymm9,%ymm14,%ymm10 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 | 	vpblendd	$3,%ymm14,%ymm11,%ymm14 | 
 | 	vpaddq	%ymm10,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm11,%ymm12,%ymm11 | 
 | 	vpaddq	%ymm14,%ymm1,%ymm1 | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm11,%ymm2,%ymm2 | 
 | 	vpblendd	$3,%ymm13,%ymm9,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm3,%ymm3 | 
 | 	vpaddq	%ymm13,%ymm4,%ymm4 | 
 |  | 
 | 	vpsrlq	$29,%ymm0,%ymm14 | 
 | 	vpand	%ymm15,%ymm0,%ymm0 | 
 | 	vpsrlq	$29,%ymm1,%ymm11 | 
 | 	vpand	%ymm15,%ymm1,%ymm1 | 
 | 	vpsrlq	$29,%ymm2,%ymm12 | 
 | 	vpermq	$0x93,%ymm14,%ymm14 | 
 | 	vpand	%ymm15,%ymm2,%ymm2 | 
 | 	vpsrlq	$29,%ymm3,%ymm13 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 | 	vpand	%ymm15,%ymm3,%ymm3 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 |  | 
 | 	vpblendd	$3,%ymm9,%ymm14,%ymm10 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 | 	vpblendd	$3,%ymm14,%ymm11,%ymm14 | 
 | 	vpaddq	%ymm10,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm11,%ymm12,%ymm11 | 
 | 	vpaddq	%ymm14,%ymm1,%ymm1 | 
 | 	vmovdqu	%ymm0,0-128(%rdi) | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm11,%ymm2,%ymm2 | 
 | 	vmovdqu	%ymm1,32-128(%rdi) | 
 | 	vpblendd	$3,%ymm13,%ymm9,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm3,%ymm3 | 
 | 	vmovdqu	%ymm2,64-128(%rdi) | 
 | 	vpaddq	%ymm13,%ymm4,%ymm4 | 
 | 	vmovdqu	%ymm3,96-128(%rdi) | 
 | 	vpsrlq	$29,%ymm4,%ymm14 | 
 | 	vpand	%ymm15,%ymm4,%ymm4 | 
 | 	vpsrlq	$29,%ymm5,%ymm11 | 
 | 	vpand	%ymm15,%ymm5,%ymm5 | 
 | 	vpsrlq	$29,%ymm6,%ymm12 | 
 | 	vpermq	$0x93,%ymm14,%ymm14 | 
 | 	vpand	%ymm15,%ymm6,%ymm6 | 
 | 	vpsrlq	$29,%ymm7,%ymm13 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 | 	vpand	%ymm15,%ymm7,%ymm7 | 
 | 	vpsrlq	$29,%ymm8,%ymm0 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 | 	vpand	%ymm15,%ymm8,%ymm8 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 |  | 
 | 	vpblendd	$3,%ymm9,%ymm14,%ymm10 | 
 | 	vpermq	$0x93,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm14,%ymm11,%ymm14 | 
 | 	vpaddq	%ymm10,%ymm4,%ymm4 | 
 | 	vpblendd	$3,%ymm11,%ymm12,%ymm11 | 
 | 	vpaddq	%ymm14,%ymm5,%ymm5 | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm11,%ymm6,%ymm6 | 
 | 	vpblendd	$3,%ymm13,%ymm0,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm7,%ymm7 | 
 | 	vpaddq	%ymm13,%ymm8,%ymm8 | 
 |  | 
 | 	vpsrlq	$29,%ymm4,%ymm14 | 
 | 	vpand	%ymm15,%ymm4,%ymm4 | 
 | 	vpsrlq	$29,%ymm5,%ymm11 | 
 | 	vpand	%ymm15,%ymm5,%ymm5 | 
 | 	vpsrlq	$29,%ymm6,%ymm12 | 
 | 	vpermq	$0x93,%ymm14,%ymm14 | 
 | 	vpand	%ymm15,%ymm6,%ymm6 | 
 | 	vpsrlq	$29,%ymm7,%ymm13 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 | 	vpand	%ymm15,%ymm7,%ymm7 | 
 | 	vpsrlq	$29,%ymm8,%ymm0 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 | 	vpand	%ymm15,%ymm8,%ymm8 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 |  | 
 | 	vpblendd	$3,%ymm9,%ymm14,%ymm10 | 
 | 	vpermq	$0x93,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm14,%ymm11,%ymm14 | 
 | 	vpaddq	%ymm10,%ymm4,%ymm4 | 
 | 	vpblendd	$3,%ymm11,%ymm12,%ymm11 | 
 | 	vpaddq	%ymm14,%ymm5,%ymm5 | 
 | 	vmovdqu	%ymm4,128-128(%rdi) | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm11,%ymm6,%ymm6 | 
 | 	vmovdqu	%ymm5,160-128(%rdi) | 
 | 	vpblendd	$3,%ymm13,%ymm0,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm7,%ymm7 | 
 | 	vmovdqu	%ymm6,192-128(%rdi) | 
 | 	vpaddq	%ymm13,%ymm8,%ymm8 | 
 | 	vmovdqu	%ymm7,224-128(%rdi) | 
 | 	vmovdqu	%ymm8,256-128(%rdi) | 
 |  | 
 | 	movq	%rdi,%rsi | 
 | 	decl	%r8d | 
 | 	jne	.LOOP_GRANDE_SQR_1024 | 
 |  | 
 | 	vzeroall | 
 | 	movq	%rbp,%rax | 
 | .cfi_def_cfa_register	%rax | 
 | 	movq	-48(%rax),%r15 | 
 | .cfi_restore	%r15 | 
 | 	movq	-40(%rax),%r14 | 
 | .cfi_restore	%r14 | 
 | 	movq	-32(%rax),%r13 | 
 | .cfi_restore	%r13 | 
 | 	movq	-24(%rax),%r12 | 
 | .cfi_restore	%r12 | 
 | 	movq	-16(%rax),%rbp | 
 | .cfi_restore	%rbp | 
 | 	movq	-8(%rax),%rbx | 
 | .cfi_restore	%rbx | 
 | 	leaq	(%rax),%rsp | 
 | .cfi_def_cfa_register	%rsp | 
 | .Lsqr_1024_epilogue: | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	rsaz_1024_sqr_avx2,.-rsaz_1024_sqr_avx2 | 
 | .globl	rsaz_1024_mul_avx2 | 
 | .hidden rsaz_1024_mul_avx2 | 
 | .type	rsaz_1024_mul_avx2,@function | 
 | .align	64 | 
 | rsaz_1024_mul_avx2: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	leaq	(%rsp),%rax | 
 | .cfi_def_cfa_register	%rax | 
 | 	pushq	%rbx | 
 | .cfi_offset	%rbx,-16 | 
 | 	pushq	%rbp | 
 | .cfi_offset	%rbp,-24 | 
 | 	pushq	%r12 | 
 | .cfi_offset	%r12,-32 | 
 | 	pushq	%r13 | 
 | .cfi_offset	%r13,-40 | 
 | 	pushq	%r14 | 
 | .cfi_offset	%r14,-48 | 
 | 	pushq	%r15 | 
 | .cfi_offset	%r15,-56 | 
 | 	movq	%rax,%rbp | 
 | .cfi_def_cfa_register	%rbp | 
 | 	vzeroall | 
 | 	movq	%rdx,%r13 | 
 | 	subq	$64,%rsp | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 | .byte	0x67,0x67 | 
 | 	movq	%rsi,%r15 | 
 | 	andq	$4095,%r15 | 
 | 	addq	$320,%r15 | 
 | 	shrq	$12,%r15 | 
 | 	movq	%rsi,%r15 | 
 | 	cmovnzq	%r13,%rsi | 
 | 	cmovnzq	%r15,%r13 | 
 |  | 
 | 	movq	%rcx,%r15 | 
 | 	subq	$-128,%rsi | 
 | 	subq	$-128,%rcx | 
 | 	subq	$-128,%rdi | 
 |  | 
 | 	andq	$4095,%r15 | 
 | 	addq	$320,%r15 | 
 | .byte	0x67,0x67 | 
 | 	shrq	$12,%r15 | 
 | 	jz	.Lmul_1024_no_n_copy | 
 |  | 
 |  | 
 |  | 
 |  | 
 |  | 
 | 	subq	$320,%rsp | 
 | 	vmovdqu	0-128(%rcx),%ymm0 | 
 | 	andq	$-512,%rsp | 
 | 	vmovdqu	32-128(%rcx),%ymm1 | 
 | 	vmovdqu	64-128(%rcx),%ymm2 | 
 | 	vmovdqu	96-128(%rcx),%ymm3 | 
 | 	vmovdqu	128-128(%rcx),%ymm4 | 
 | 	vmovdqu	160-128(%rcx),%ymm5 | 
 | 	vmovdqu	192-128(%rcx),%ymm6 | 
 | 	vmovdqu	224-128(%rcx),%ymm7 | 
 | 	vmovdqu	256-128(%rcx),%ymm8 | 
 | 	leaq	64+128(%rsp),%rcx | 
 | 	vmovdqu	%ymm0,0-128(%rcx) | 
 | 	vpxor	%ymm0,%ymm0,%ymm0 | 
 | 	vmovdqu	%ymm1,32-128(%rcx) | 
 | 	vpxor	%ymm1,%ymm1,%ymm1 | 
 | 	vmovdqu	%ymm2,64-128(%rcx) | 
 | 	vpxor	%ymm2,%ymm2,%ymm2 | 
 | 	vmovdqu	%ymm3,96-128(%rcx) | 
 | 	vpxor	%ymm3,%ymm3,%ymm3 | 
 | 	vmovdqu	%ymm4,128-128(%rcx) | 
 | 	vpxor	%ymm4,%ymm4,%ymm4 | 
 | 	vmovdqu	%ymm5,160-128(%rcx) | 
 | 	vpxor	%ymm5,%ymm5,%ymm5 | 
 | 	vmovdqu	%ymm6,192-128(%rcx) | 
 | 	vpxor	%ymm6,%ymm6,%ymm6 | 
 | 	vmovdqu	%ymm7,224-128(%rcx) | 
 | 	vpxor	%ymm7,%ymm7,%ymm7 | 
 | 	vmovdqu	%ymm8,256-128(%rcx) | 
 | 	vmovdqa	%ymm0,%ymm8 | 
 | 	vmovdqu	%ymm9,288-128(%rcx) | 
 | .Lmul_1024_no_n_copy: | 
 | 	andq	$-64,%rsp | 
 |  | 
 | 	movq	(%r13),%rbx | 
 | 	vpbroadcastq	(%r13),%ymm10 | 
 | 	vmovdqu	%ymm0,(%rsp) | 
 | 	xorq	%r9,%r9 | 
 | .byte	0x67 | 
 | 	xorq	%r10,%r10 | 
 | 	xorq	%r11,%r11 | 
 | 	xorq	%r12,%r12 | 
 |  | 
 | 	vmovdqu	.Land_mask(%rip),%ymm15 | 
 | 	movl	$9,%r14d | 
 | 	vmovdqu	%ymm9,288-128(%rdi) | 
 | 	jmp	.Loop_mul_1024 | 
 |  | 
 | .align	32 | 
 | .Loop_mul_1024: | 
 | 	vpsrlq	$29,%ymm3,%ymm9 | 
 | 	movq	%rbx,%rax | 
 | 	imulq	-128(%rsi),%rax | 
 | 	addq	%r9,%rax | 
 | 	movq	%rbx,%r10 | 
 | 	imulq	8-128(%rsi),%r10 | 
 | 	addq	8(%rsp),%r10 | 
 |  | 
 | 	movq	%rax,%r9 | 
 | 	imull	%r8d,%eax | 
 | 	andl	$0x1fffffff,%eax | 
 |  | 
 | 	movq	%rbx,%r11 | 
 | 	imulq	16-128(%rsi),%r11 | 
 | 	addq	16(%rsp),%r11 | 
 |  | 
 | 	movq	%rbx,%r12 | 
 | 	imulq	24-128(%rsi),%r12 | 
 | 	addq	24(%rsp),%r12 | 
 | 	vpmuludq	32-128(%rsi),%ymm10,%ymm0 | 
 | 	vmovd	%eax,%xmm11 | 
 | 	vpaddq	%ymm0,%ymm1,%ymm1 | 
 | 	vpmuludq	64-128(%rsi),%ymm10,%ymm12 | 
 | 	vpbroadcastq	%xmm11,%ymm11 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	96-128(%rsi),%ymm10,%ymm13 | 
 | 	vpand	%ymm15,%ymm3,%ymm3 | 
 | 	vpaddq	%ymm13,%ymm3,%ymm3 | 
 | 	vpmuludq	128-128(%rsi),%ymm10,%ymm0 | 
 | 	vpaddq	%ymm0,%ymm4,%ymm4 | 
 | 	vpmuludq	160-128(%rsi),%ymm10,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	192-128(%rsi),%ymm10,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpmuludq	224-128(%rsi),%ymm10,%ymm0 | 
 | 	vpermq	$0x93,%ymm9,%ymm9 | 
 | 	vpaddq	%ymm0,%ymm7,%ymm7 | 
 | 	vpmuludq	256-128(%rsi),%ymm10,%ymm12 | 
 | 	vpbroadcastq	8(%r13),%ymm10 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 |  | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%rcx),%rax | 
 | 	addq	%rax,%r9 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	8-128(%rcx),%rax | 
 | 	addq	%rax,%r10 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	16-128(%rcx),%rax | 
 | 	addq	%rax,%r11 | 
 | 	shrq	$29,%r9 | 
 | 	imulq	24-128(%rcx),%rdx | 
 | 	addq	%rdx,%r12 | 
 | 	addq	%r9,%r10 | 
 |  | 
 | 	vpmuludq	32-128(%rcx),%ymm11,%ymm13 | 
 | 	vmovq	%xmm10,%rbx | 
 | 	vpaddq	%ymm13,%ymm1,%ymm1 | 
 | 	vpmuludq	64-128(%rcx),%ymm11,%ymm0 | 
 | 	vpaddq	%ymm0,%ymm2,%ymm2 | 
 | 	vpmuludq	96-128(%rcx),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm3,%ymm3 | 
 | 	vpmuludq	128-128(%rcx),%ymm11,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm4,%ymm4 | 
 | 	vpmuludq	160-128(%rcx),%ymm11,%ymm0 | 
 | 	vpaddq	%ymm0,%ymm5,%ymm5 | 
 | 	vpmuludq	192-128(%rcx),%ymm11,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm6,%ymm6 | 
 | 	vpmuludq	224-128(%rcx),%ymm11,%ymm13 | 
 | 	vpblendd	$3,%ymm14,%ymm9,%ymm12 | 
 | 	vpaddq	%ymm13,%ymm7,%ymm7 | 
 | 	vpmuludq	256-128(%rcx),%ymm11,%ymm0 | 
 | 	vpaddq	%ymm12,%ymm3,%ymm3 | 
 | 	vpaddq	%ymm0,%ymm8,%ymm8 | 
 |  | 
 | 	movq	%rbx,%rax | 
 | 	imulq	-128(%rsi),%rax | 
 | 	addq	%rax,%r10 | 
 | 	vmovdqu	-8+32-128(%rsi),%ymm12 | 
 | 	movq	%rbx,%rax | 
 | 	imulq	8-128(%rsi),%rax | 
 | 	addq	%rax,%r11 | 
 | 	vmovdqu	-8+64-128(%rsi),%ymm13 | 
 |  | 
 | 	movq	%r10,%rax | 
 | 	vpblendd	$0xfc,%ymm14,%ymm9,%ymm9 | 
 | 	imull	%r8d,%eax | 
 | 	vpaddq	%ymm9,%ymm4,%ymm4 | 
 | 	andl	$0x1fffffff,%eax | 
 |  | 
 | 	imulq	16-128(%rsi),%rbx | 
 | 	addq	%rbx,%r12 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vmovd	%eax,%xmm11 | 
 | 	vmovdqu	-8+96-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm1,%ymm1 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vpbroadcastq	%xmm11,%ymm11 | 
 | 	vmovdqu	-8+128-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm2,%ymm2 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovdqu	-8+160-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vmovdqu	-8+192-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vmovdqu	-8+224-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovdqu	-8+256-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vmovdqu	-8+288-128(%rsi),%ymm9 | 
 | 	vpaddq	%ymm12,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm10,%ymm9,%ymm9 | 
 | 	vpbroadcastq	16(%r13),%ymm10 | 
 |  | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%rcx),%rax | 
 | 	addq	%rax,%r10 | 
 | 	vmovdqu	-8+32-128(%rcx),%ymm0 | 
 | 	movq	%rdx,%rax | 
 | 	imulq	8-128(%rcx),%rax | 
 | 	addq	%rax,%r11 | 
 | 	vmovdqu	-8+64-128(%rcx),%ymm12 | 
 | 	shrq	$29,%r10 | 
 | 	imulq	16-128(%rcx),%rdx | 
 | 	addq	%rdx,%r12 | 
 | 	addq	%r10,%r11 | 
 |  | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovq	%xmm10,%rbx | 
 | 	vmovdqu	-8+96-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm1,%ymm1 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	-8+128-128(%rcx),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-8+160-128(%rcx),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovdqu	-8+192-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	-8+224-128(%rcx),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-8+256-128(%rcx),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovdqu	-8+288-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vpaddq	%ymm13,%ymm9,%ymm9 | 
 |  | 
 | 	vmovdqu	-16+32-128(%rsi),%ymm0 | 
 | 	movq	%rbx,%rax | 
 | 	imulq	-128(%rsi),%rax | 
 | 	addq	%r11,%rax | 
 |  | 
 | 	vmovdqu	-16+64-128(%rsi),%ymm12 | 
 | 	movq	%rax,%r11 | 
 | 	imull	%r8d,%eax | 
 | 	andl	$0x1fffffff,%eax | 
 |  | 
 | 	imulq	8-128(%rsi),%rbx | 
 | 	addq	%rbx,%r12 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovd	%eax,%xmm11 | 
 | 	vmovdqu	-16+96-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm1,%ymm1 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vpbroadcastq	%xmm11,%ymm11 | 
 | 	vmovdqu	-16+128-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vmovdqu	-16+160-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovdqu	-16+192-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vmovdqu	-16+224-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vmovdqu	-16+256-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovdqu	-16+288-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vpbroadcastq	24(%r13),%ymm10 | 
 | 	vpaddq	%ymm13,%ymm9,%ymm9 | 
 |  | 
 | 	vmovdqu	-16+32-128(%rcx),%ymm0 | 
 | 	movq	%rax,%rdx | 
 | 	imulq	-128(%rcx),%rax | 
 | 	addq	%rax,%r11 | 
 | 	vmovdqu	-16+64-128(%rcx),%ymm12 | 
 | 	imulq	8-128(%rcx),%rdx | 
 | 	addq	%rdx,%r12 | 
 | 	shrq	$29,%r11 | 
 |  | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovq	%xmm10,%rbx | 
 | 	vmovdqu	-16+96-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm1,%ymm1 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	-16+128-128(%rcx),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-16+160-128(%rcx),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovdqu	-16+192-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	-16+224-128(%rcx),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-16+256-128(%rcx),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovdqu	-16+288-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	-24+32-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-24+64-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm9,%ymm9 | 
 |  | 
 | 	addq	%r11,%r12 | 
 | 	imulq	-128(%rsi),%rbx | 
 | 	addq	%rbx,%r12 | 
 |  | 
 | 	movq	%r12,%rax | 
 | 	imull	%r8d,%eax | 
 | 	andl	$0x1fffffff,%eax | 
 |  | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovd	%eax,%xmm11 | 
 | 	vmovdqu	-24+96-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm1,%ymm1 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vpbroadcastq	%xmm11,%ymm11 | 
 | 	vmovdqu	-24+128-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm2,%ymm2 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vmovdqu	-24+160-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm3,%ymm3 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovdqu	-24+192-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm4,%ymm4 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vmovdqu	-24+224-128(%rsi),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vmovdqu	-24+256-128(%rsi),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpmuludq	%ymm10,%ymm0,%ymm0 | 
 | 	vmovdqu	-24+288-128(%rsi),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm7,%ymm7 | 
 | 	vpmuludq	%ymm10,%ymm12,%ymm12 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm8 | 
 | 	vpmuludq	%ymm10,%ymm13,%ymm13 | 
 | 	vpbroadcastq	32(%r13),%ymm10 | 
 | 	vpaddq	%ymm13,%ymm9,%ymm9 | 
 | 	addq	$32,%r13 | 
 |  | 
 | 	vmovdqu	-24+32-128(%rcx),%ymm0 | 
 | 	imulq	-128(%rcx),%rax | 
 | 	addq	%rax,%r12 | 
 | 	shrq	$29,%r12 | 
 |  | 
 | 	vmovdqu	-24+64-128(%rcx),%ymm12 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovq	%xmm10,%rbx | 
 | 	vmovdqu	-24+96-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm1,%ymm0 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	%ymm0,(%rsp) | 
 | 	vpaddq	%ymm12,%ymm2,%ymm1 | 
 | 	vmovdqu	-24+128-128(%rcx),%ymm0 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-24+160-128(%rcx),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm3,%ymm2 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovdqu	-24+192-128(%rcx),%ymm13 | 
 | 	vpaddq	%ymm0,%ymm4,%ymm3 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	vmovdqu	-24+224-128(%rcx),%ymm0 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm4 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovdqu	-24+256-128(%rcx),%ymm12 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm5 | 
 | 	vpmuludq	%ymm11,%ymm0,%ymm0 | 
 | 	vmovdqu	-24+288-128(%rcx),%ymm13 | 
 | 	movq	%r12,%r9 | 
 | 	vpaddq	%ymm0,%ymm7,%ymm6 | 
 | 	vpmuludq	%ymm11,%ymm12,%ymm12 | 
 | 	addq	(%rsp),%r9 | 
 | 	vpaddq	%ymm12,%ymm8,%ymm7 | 
 | 	vpmuludq	%ymm11,%ymm13,%ymm13 | 
 | 	vmovq	%r12,%xmm12 | 
 | 	vpaddq	%ymm13,%ymm9,%ymm8 | 
 |  | 
 | 	decl	%r14d | 
 | 	jnz	.Loop_mul_1024 | 
 | 	vpaddq	(%rsp),%ymm12,%ymm0 | 
 |  | 
 | 	vpsrlq	$29,%ymm0,%ymm12 | 
 | 	vpand	%ymm15,%ymm0,%ymm0 | 
 | 	vpsrlq	$29,%ymm1,%ymm13 | 
 | 	vpand	%ymm15,%ymm1,%ymm1 | 
 | 	vpsrlq	$29,%ymm2,%ymm10 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 | 	vpand	%ymm15,%ymm2,%ymm2 | 
 | 	vpsrlq	$29,%ymm3,%ymm11 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 | 	vpand	%ymm15,%ymm3,%ymm3 | 
 |  | 
 | 	vpblendd	$3,%ymm14,%ymm12,%ymm9 | 
 | 	vpermq	$0x93,%ymm10,%ymm10 | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 | 	vpaddq	%ymm9,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm13,%ymm10,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm1,%ymm1 | 
 | 	vpblendd	$3,%ymm10,%ymm11,%ymm10 | 
 | 	vpaddq	%ymm13,%ymm2,%ymm2 | 
 | 	vpblendd	$3,%ymm11,%ymm14,%ymm11 | 
 | 	vpaddq	%ymm10,%ymm3,%ymm3 | 
 | 	vpaddq	%ymm11,%ymm4,%ymm4 | 
 |  | 
 | 	vpsrlq	$29,%ymm0,%ymm12 | 
 | 	vpand	%ymm15,%ymm0,%ymm0 | 
 | 	vpsrlq	$29,%ymm1,%ymm13 | 
 | 	vpand	%ymm15,%ymm1,%ymm1 | 
 | 	vpsrlq	$29,%ymm2,%ymm10 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 | 	vpand	%ymm15,%ymm2,%ymm2 | 
 | 	vpsrlq	$29,%ymm3,%ymm11 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 | 	vpand	%ymm15,%ymm3,%ymm3 | 
 | 	vpermq	$0x93,%ymm10,%ymm10 | 
 |  | 
 | 	vpblendd	$3,%ymm14,%ymm12,%ymm9 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm9,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm13,%ymm10,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm1,%ymm1 | 
 | 	vpblendd	$3,%ymm10,%ymm11,%ymm10 | 
 | 	vpaddq	%ymm13,%ymm2,%ymm2 | 
 | 	vpblendd	$3,%ymm11,%ymm14,%ymm11 | 
 | 	vpaddq	%ymm10,%ymm3,%ymm3 | 
 | 	vpaddq	%ymm11,%ymm4,%ymm4 | 
 |  | 
 | 	vmovdqu	%ymm0,0-128(%rdi) | 
 | 	vmovdqu	%ymm1,32-128(%rdi) | 
 | 	vmovdqu	%ymm2,64-128(%rdi) | 
 | 	vmovdqu	%ymm3,96-128(%rdi) | 
 | 	vpsrlq	$29,%ymm4,%ymm12 | 
 | 	vpand	%ymm15,%ymm4,%ymm4 | 
 | 	vpsrlq	$29,%ymm5,%ymm13 | 
 | 	vpand	%ymm15,%ymm5,%ymm5 | 
 | 	vpsrlq	$29,%ymm6,%ymm10 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 | 	vpand	%ymm15,%ymm6,%ymm6 | 
 | 	vpsrlq	$29,%ymm7,%ymm11 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 | 	vpand	%ymm15,%ymm7,%ymm7 | 
 | 	vpsrlq	$29,%ymm8,%ymm0 | 
 | 	vpermq	$0x93,%ymm10,%ymm10 | 
 | 	vpand	%ymm15,%ymm8,%ymm8 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 |  | 
 | 	vpblendd	$3,%ymm14,%ymm12,%ymm9 | 
 | 	vpermq	$0x93,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm9,%ymm4,%ymm4 | 
 | 	vpblendd	$3,%ymm13,%ymm10,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpblendd	$3,%ymm10,%ymm11,%ymm10 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpblendd	$3,%ymm11,%ymm0,%ymm11 | 
 | 	vpaddq	%ymm10,%ymm7,%ymm7 | 
 | 	vpaddq	%ymm11,%ymm8,%ymm8 | 
 |  | 
 | 	vpsrlq	$29,%ymm4,%ymm12 | 
 | 	vpand	%ymm15,%ymm4,%ymm4 | 
 | 	vpsrlq	$29,%ymm5,%ymm13 | 
 | 	vpand	%ymm15,%ymm5,%ymm5 | 
 | 	vpsrlq	$29,%ymm6,%ymm10 | 
 | 	vpermq	$0x93,%ymm12,%ymm12 | 
 | 	vpand	%ymm15,%ymm6,%ymm6 | 
 | 	vpsrlq	$29,%ymm7,%ymm11 | 
 | 	vpermq	$0x93,%ymm13,%ymm13 | 
 | 	vpand	%ymm15,%ymm7,%ymm7 | 
 | 	vpsrlq	$29,%ymm8,%ymm0 | 
 | 	vpermq	$0x93,%ymm10,%ymm10 | 
 | 	vpand	%ymm15,%ymm8,%ymm8 | 
 | 	vpermq	$0x93,%ymm11,%ymm11 | 
 |  | 
 | 	vpblendd	$3,%ymm14,%ymm12,%ymm9 | 
 | 	vpermq	$0x93,%ymm0,%ymm0 | 
 | 	vpblendd	$3,%ymm12,%ymm13,%ymm12 | 
 | 	vpaddq	%ymm9,%ymm4,%ymm4 | 
 | 	vpblendd	$3,%ymm13,%ymm10,%ymm13 | 
 | 	vpaddq	%ymm12,%ymm5,%ymm5 | 
 | 	vpblendd	$3,%ymm10,%ymm11,%ymm10 | 
 | 	vpaddq	%ymm13,%ymm6,%ymm6 | 
 | 	vpblendd	$3,%ymm11,%ymm0,%ymm11 | 
 | 	vpaddq	%ymm10,%ymm7,%ymm7 | 
 | 	vpaddq	%ymm11,%ymm8,%ymm8 | 
 |  | 
 | 	vmovdqu	%ymm4,128-128(%rdi) | 
 | 	vmovdqu	%ymm5,160-128(%rdi) | 
 | 	vmovdqu	%ymm6,192-128(%rdi) | 
 | 	vmovdqu	%ymm7,224-128(%rdi) | 
 | 	vmovdqu	%ymm8,256-128(%rdi) | 
 | 	vzeroupper | 
 |  | 
 | 	movq	%rbp,%rax | 
 | .cfi_def_cfa_register	%rax | 
 | 	movq	-48(%rax),%r15 | 
 | .cfi_restore	%r15 | 
 | 	movq	-40(%rax),%r14 | 
 | .cfi_restore	%r14 | 
 | 	movq	-32(%rax),%r13 | 
 | .cfi_restore	%r13 | 
 | 	movq	-24(%rax),%r12 | 
 | .cfi_restore	%r12 | 
 | 	movq	-16(%rax),%rbp | 
 | .cfi_restore	%rbp | 
 | 	movq	-8(%rax),%rbx | 
 | .cfi_restore	%rbx | 
 | 	leaq	(%rax),%rsp | 
 | .cfi_def_cfa_register	%rsp | 
 | .Lmul_1024_epilogue: | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	rsaz_1024_mul_avx2,.-rsaz_1024_mul_avx2 | 
 | .globl	rsaz_1024_red2norm_avx2 | 
 | .hidden rsaz_1024_red2norm_avx2 | 
 | .type	rsaz_1024_red2norm_avx2,@function | 
 | .align	32 | 
 | rsaz_1024_red2norm_avx2: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	subq	$-128,%rsi | 
 | 	xorq	%rax,%rax | 
 | 	movq	-128(%rsi),%r8 | 
 | 	movq	-120(%rsi),%r9 | 
 | 	movq	-112(%rsi),%r10 | 
 | 	shlq	$0,%r8 | 
 | 	shlq	$29,%r9 | 
 | 	movq	%r10,%r11 | 
 | 	shlq	$58,%r10 | 
 | 	shrq	$6,%r11 | 
 | 	addq	%r8,%rax | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	adcq	$0,%r11 | 
 | 	movq	%rax,0(%rdi) | 
 | 	movq	%r11,%rax | 
 | 	movq	-104(%rsi),%r8 | 
 | 	movq	-96(%rsi),%r9 | 
 | 	shlq	$23,%r8 | 
 | 	movq	%r9,%r10 | 
 | 	shlq	$52,%r9 | 
 | 	shrq	$12,%r10 | 
 | 	addq	%r8,%rax | 
 | 	addq	%r9,%rax | 
 | 	adcq	$0,%r10 | 
 | 	movq	%rax,8(%rdi) | 
 | 	movq	%r10,%rax | 
 | 	movq	-88(%rsi),%r11 | 
 | 	movq	-80(%rsi),%r8 | 
 | 	shlq	$17,%r11 | 
 | 	movq	%r8,%r9 | 
 | 	shlq	$46,%r8 | 
 | 	shrq	$18,%r9 | 
 | 	addq	%r11,%rax | 
 | 	addq	%r8,%rax | 
 | 	adcq	$0,%r9 | 
 | 	movq	%rax,16(%rdi) | 
 | 	movq	%r9,%rax | 
 | 	movq	-72(%rsi),%r10 | 
 | 	movq	-64(%rsi),%r11 | 
 | 	shlq	$11,%r10 | 
 | 	movq	%r11,%r8 | 
 | 	shlq	$40,%r11 | 
 | 	shrq	$24,%r8 | 
 | 	addq	%r10,%rax | 
 | 	addq	%r11,%rax | 
 | 	adcq	$0,%r8 | 
 | 	movq	%rax,24(%rdi) | 
 | 	movq	%r8,%rax | 
 | 	movq	-56(%rsi),%r9 | 
 | 	movq	-48(%rsi),%r10 | 
 | 	movq	-40(%rsi),%r11 | 
 | 	shlq	$5,%r9 | 
 | 	shlq	$34,%r10 | 
 | 	movq	%r11,%r8 | 
 | 	shlq	$63,%r11 | 
 | 	shrq	$1,%r8 | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	addq	%r11,%rax | 
 | 	adcq	$0,%r8 | 
 | 	movq	%rax,32(%rdi) | 
 | 	movq	%r8,%rax | 
 | 	movq	-32(%rsi),%r9 | 
 | 	movq	-24(%rsi),%r10 | 
 | 	shlq	$28,%r9 | 
 | 	movq	%r10,%r11 | 
 | 	shlq	$57,%r10 | 
 | 	shrq	$7,%r11 | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	adcq	$0,%r11 | 
 | 	movq	%rax,40(%rdi) | 
 | 	movq	%r11,%rax | 
 | 	movq	-16(%rsi),%r8 | 
 | 	movq	-8(%rsi),%r9 | 
 | 	shlq	$22,%r8 | 
 | 	movq	%r9,%r10 | 
 | 	shlq	$51,%r9 | 
 | 	shrq	$13,%r10 | 
 | 	addq	%r8,%rax | 
 | 	addq	%r9,%rax | 
 | 	adcq	$0,%r10 | 
 | 	movq	%rax,48(%rdi) | 
 | 	movq	%r10,%rax | 
 | 	movq	0(%rsi),%r11 | 
 | 	movq	8(%rsi),%r8 | 
 | 	shlq	$16,%r11 | 
 | 	movq	%r8,%r9 | 
 | 	shlq	$45,%r8 | 
 | 	shrq	$19,%r9 | 
 | 	addq	%r11,%rax | 
 | 	addq	%r8,%rax | 
 | 	adcq	$0,%r9 | 
 | 	movq	%rax,56(%rdi) | 
 | 	movq	%r9,%rax | 
 | 	movq	16(%rsi),%r10 | 
 | 	movq	24(%rsi),%r11 | 
 | 	shlq	$10,%r10 | 
 | 	movq	%r11,%r8 | 
 | 	shlq	$39,%r11 | 
 | 	shrq	$25,%r8 | 
 | 	addq	%r10,%rax | 
 | 	addq	%r11,%rax | 
 | 	adcq	$0,%r8 | 
 | 	movq	%rax,64(%rdi) | 
 | 	movq	%r8,%rax | 
 | 	movq	32(%rsi),%r9 | 
 | 	movq	40(%rsi),%r10 | 
 | 	movq	48(%rsi),%r11 | 
 | 	shlq	$4,%r9 | 
 | 	shlq	$33,%r10 | 
 | 	movq	%r11,%r8 | 
 | 	shlq	$62,%r11 | 
 | 	shrq	$2,%r8 | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	addq	%r11,%rax | 
 | 	adcq	$0,%r8 | 
 | 	movq	%rax,72(%rdi) | 
 | 	movq	%r8,%rax | 
 | 	movq	56(%rsi),%r9 | 
 | 	movq	64(%rsi),%r10 | 
 | 	shlq	$27,%r9 | 
 | 	movq	%r10,%r11 | 
 | 	shlq	$56,%r10 | 
 | 	shrq	$8,%r11 | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	adcq	$0,%r11 | 
 | 	movq	%rax,80(%rdi) | 
 | 	movq	%r11,%rax | 
 | 	movq	72(%rsi),%r8 | 
 | 	movq	80(%rsi),%r9 | 
 | 	shlq	$21,%r8 | 
 | 	movq	%r9,%r10 | 
 | 	shlq	$50,%r9 | 
 | 	shrq	$14,%r10 | 
 | 	addq	%r8,%rax | 
 | 	addq	%r9,%rax | 
 | 	adcq	$0,%r10 | 
 | 	movq	%rax,88(%rdi) | 
 | 	movq	%r10,%rax | 
 | 	movq	88(%rsi),%r11 | 
 | 	movq	96(%rsi),%r8 | 
 | 	shlq	$15,%r11 | 
 | 	movq	%r8,%r9 | 
 | 	shlq	$44,%r8 | 
 | 	shrq	$20,%r9 | 
 | 	addq	%r11,%rax | 
 | 	addq	%r8,%rax | 
 | 	adcq	$0,%r9 | 
 | 	movq	%rax,96(%rdi) | 
 | 	movq	%r9,%rax | 
 | 	movq	104(%rsi),%r10 | 
 | 	movq	112(%rsi),%r11 | 
 | 	shlq	$9,%r10 | 
 | 	movq	%r11,%r8 | 
 | 	shlq	$38,%r11 | 
 | 	shrq	$26,%r8 | 
 | 	addq	%r10,%rax | 
 | 	addq	%r11,%rax | 
 | 	adcq	$0,%r8 | 
 | 	movq	%rax,104(%rdi) | 
 | 	movq	%r8,%rax | 
 | 	movq	120(%rsi),%r9 | 
 | 	movq	128(%rsi),%r10 | 
 | 	movq	136(%rsi),%r11 | 
 | 	shlq	$3,%r9 | 
 | 	shlq	$32,%r10 | 
 | 	movq	%r11,%r8 | 
 | 	shlq	$61,%r11 | 
 | 	shrq	$3,%r8 | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	addq	%r11,%rax | 
 | 	adcq	$0,%r8 | 
 | 	movq	%rax,112(%rdi) | 
 | 	movq	%r8,%rax | 
 | 	movq	144(%rsi),%r9 | 
 | 	movq	152(%rsi),%r10 | 
 | 	shlq	$26,%r9 | 
 | 	movq	%r10,%r11 | 
 | 	shlq	$55,%r10 | 
 | 	shrq	$9,%r11 | 
 | 	addq	%r9,%rax | 
 | 	addq	%r10,%rax | 
 | 	adcq	$0,%r11 | 
 | 	movq	%rax,120(%rdi) | 
 | 	movq	%r11,%rax | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	rsaz_1024_red2norm_avx2,.-rsaz_1024_red2norm_avx2 | 
 |  | 
 | .globl	rsaz_1024_norm2red_avx2 | 
 | .hidden rsaz_1024_norm2red_avx2 | 
 | .type	rsaz_1024_norm2red_avx2,@function | 
 | .align	32 | 
 | rsaz_1024_norm2red_avx2: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	subq	$-128,%rdi | 
 | 	movq	(%rsi),%r8 | 
 | 	movl	$0x1fffffff,%eax | 
 | 	movq	8(%rsi),%r9 | 
 | 	movq	%r8,%r11 | 
 | 	shrq	$0,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,-128(%rdi) | 
 | 	movq	%r8,%r10 | 
 | 	shrq	$29,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,-120(%rdi) | 
 | 	shrdq	$58,%r9,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,-112(%rdi) | 
 | 	movq	16(%rsi),%r10 | 
 | 	movq	%r9,%r8 | 
 | 	shrq	$23,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,-104(%rdi) | 
 | 	shrdq	$52,%r10,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,-96(%rdi) | 
 | 	movq	24(%rsi),%r11 | 
 | 	movq	%r10,%r9 | 
 | 	shrq	$17,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,-88(%rdi) | 
 | 	shrdq	$46,%r11,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,-80(%rdi) | 
 | 	movq	32(%rsi),%r8 | 
 | 	movq	%r11,%r10 | 
 | 	shrq	$11,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,-72(%rdi) | 
 | 	shrdq	$40,%r8,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,-64(%rdi) | 
 | 	movq	40(%rsi),%r9 | 
 | 	movq	%r8,%r11 | 
 | 	shrq	$5,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,-56(%rdi) | 
 | 	movq	%r8,%r10 | 
 | 	shrq	$34,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,-48(%rdi) | 
 | 	shrdq	$63,%r9,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,-40(%rdi) | 
 | 	movq	48(%rsi),%r10 | 
 | 	movq	%r9,%r8 | 
 | 	shrq	$28,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,-32(%rdi) | 
 | 	shrdq	$57,%r10,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,-24(%rdi) | 
 | 	movq	56(%rsi),%r11 | 
 | 	movq	%r10,%r9 | 
 | 	shrq	$22,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,-16(%rdi) | 
 | 	shrdq	$51,%r11,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,-8(%rdi) | 
 | 	movq	64(%rsi),%r8 | 
 | 	movq	%r11,%r10 | 
 | 	shrq	$16,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,0(%rdi) | 
 | 	shrdq	$45,%r8,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,8(%rdi) | 
 | 	movq	72(%rsi),%r9 | 
 | 	movq	%r8,%r11 | 
 | 	shrq	$10,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,16(%rdi) | 
 | 	shrdq	$39,%r9,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,24(%rdi) | 
 | 	movq	80(%rsi),%r10 | 
 | 	movq	%r9,%r8 | 
 | 	shrq	$4,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,32(%rdi) | 
 | 	movq	%r9,%r11 | 
 | 	shrq	$33,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,40(%rdi) | 
 | 	shrdq	$62,%r10,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,48(%rdi) | 
 | 	movq	88(%rsi),%r11 | 
 | 	movq	%r10,%r9 | 
 | 	shrq	$27,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,56(%rdi) | 
 | 	shrdq	$56,%r11,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,64(%rdi) | 
 | 	movq	96(%rsi),%r8 | 
 | 	movq	%r11,%r10 | 
 | 	shrq	$21,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,72(%rdi) | 
 | 	shrdq	$50,%r8,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,80(%rdi) | 
 | 	movq	104(%rsi),%r9 | 
 | 	movq	%r8,%r11 | 
 | 	shrq	$15,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,88(%rdi) | 
 | 	shrdq	$44,%r9,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,96(%rdi) | 
 | 	movq	112(%rsi),%r10 | 
 | 	movq	%r9,%r8 | 
 | 	shrq	$9,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,104(%rdi) | 
 | 	shrdq	$38,%r10,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,112(%rdi) | 
 | 	movq	120(%rsi),%r11 | 
 | 	movq	%r10,%r9 | 
 | 	shrq	$3,%r9 | 
 | 	andq	%rax,%r9 | 
 | 	movq	%r9,120(%rdi) | 
 | 	movq	%r10,%r8 | 
 | 	shrq	$32,%r8 | 
 | 	andq	%rax,%r8 | 
 | 	movq	%r8,128(%rdi) | 
 | 	shrdq	$61,%r11,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,136(%rdi) | 
 | 	xorq	%r8,%r8 | 
 | 	movq	%r11,%r10 | 
 | 	shrq	$26,%r10 | 
 | 	andq	%rax,%r10 | 
 | 	movq	%r10,144(%rdi) | 
 | 	shrdq	$55,%r8,%r11 | 
 | 	andq	%rax,%r11 | 
 | 	movq	%r11,152(%rdi) | 
 | 	movq	%r8,160(%rdi) | 
 | 	movq	%r8,168(%rdi) | 
 | 	movq	%r8,176(%rdi) | 
 | 	movq	%r8,184(%rdi) | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	rsaz_1024_norm2red_avx2,.-rsaz_1024_norm2red_avx2 | 
 | .globl	rsaz_1024_scatter5_avx2 | 
 | .hidden rsaz_1024_scatter5_avx2 | 
 | .type	rsaz_1024_scatter5_avx2,@function | 
 | .align	32 | 
 | rsaz_1024_scatter5_avx2: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	vzeroupper | 
 | 	vmovdqu	.Lscatter_permd(%rip),%ymm5 | 
 | 	shll	$4,%edx | 
 | 	leaq	(%rdi,%rdx,1),%rdi | 
 | 	movl	$9,%eax | 
 | 	jmp	.Loop_scatter_1024 | 
 |  | 
 | .align	32 | 
 | .Loop_scatter_1024: | 
 | 	vmovdqu	(%rsi),%ymm0 | 
 | 	leaq	32(%rsi),%rsi | 
 | 	vpermd	%ymm0,%ymm5,%ymm0 | 
 | 	vmovdqu	%xmm0,(%rdi) | 
 | 	leaq	512(%rdi),%rdi | 
 | 	decl	%eax | 
 | 	jnz	.Loop_scatter_1024 | 
 |  | 
 | 	vzeroupper | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .size	rsaz_1024_scatter5_avx2,.-rsaz_1024_scatter5_avx2 | 
 |  | 
 | .globl	rsaz_1024_gather5_avx2 | 
 | .hidden rsaz_1024_gather5_avx2 | 
 | .type	rsaz_1024_gather5_avx2,@function | 
 | .align	32 | 
 | rsaz_1024_gather5_avx2: | 
 | .cfi_startproc	 | 
 | _CET_ENDBR | 
 | 	vzeroupper | 
 | 	movq	%rsp,%r11 | 
 | .cfi_def_cfa_register	%r11 | 
 | 	leaq	-256(%rsp),%rsp | 
 | 	andq	$-32,%rsp | 
 | 	leaq	.Linc(%rip),%r10 | 
 | 	leaq	-128(%rsp),%rax | 
 |  | 
 | 	vmovd	%edx,%xmm4 | 
 | 	vmovdqa	(%r10),%ymm0 | 
 | 	vmovdqa	32(%r10),%ymm1 | 
 | 	vmovdqa	64(%r10),%ymm5 | 
 | 	vpbroadcastd	%xmm4,%ymm4 | 
 |  | 
 | 	vpaddd	%ymm5,%ymm0,%ymm2 | 
 | 	vpcmpeqd	%ymm4,%ymm0,%ymm0 | 
 | 	vpaddd	%ymm5,%ymm1,%ymm3 | 
 | 	vpcmpeqd	%ymm4,%ymm1,%ymm1 | 
 | 	vmovdqa	%ymm0,0+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm2,%ymm0 | 
 | 	vpcmpeqd	%ymm4,%ymm2,%ymm2 | 
 | 	vmovdqa	%ymm1,32+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm3,%ymm1 | 
 | 	vpcmpeqd	%ymm4,%ymm3,%ymm3 | 
 | 	vmovdqa	%ymm2,64+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm0,%ymm2 | 
 | 	vpcmpeqd	%ymm4,%ymm0,%ymm0 | 
 | 	vmovdqa	%ymm3,96+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm1,%ymm3 | 
 | 	vpcmpeqd	%ymm4,%ymm1,%ymm1 | 
 | 	vmovdqa	%ymm0,128+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm2,%ymm8 | 
 | 	vpcmpeqd	%ymm4,%ymm2,%ymm2 | 
 | 	vmovdqa	%ymm1,160+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm3,%ymm9 | 
 | 	vpcmpeqd	%ymm4,%ymm3,%ymm3 | 
 | 	vmovdqa	%ymm2,192+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm8,%ymm10 | 
 | 	vpcmpeqd	%ymm4,%ymm8,%ymm8 | 
 | 	vmovdqa	%ymm3,224+128(%rax) | 
 | 	vpaddd	%ymm5,%ymm9,%ymm11 | 
 | 	vpcmpeqd	%ymm4,%ymm9,%ymm9 | 
 | 	vpaddd	%ymm5,%ymm10,%ymm12 | 
 | 	vpcmpeqd	%ymm4,%ymm10,%ymm10 | 
 | 	vpaddd	%ymm5,%ymm11,%ymm13 | 
 | 	vpcmpeqd	%ymm4,%ymm11,%ymm11 | 
 | 	vpaddd	%ymm5,%ymm12,%ymm14 | 
 | 	vpcmpeqd	%ymm4,%ymm12,%ymm12 | 
 | 	vpaddd	%ymm5,%ymm13,%ymm15 | 
 | 	vpcmpeqd	%ymm4,%ymm13,%ymm13 | 
 | 	vpcmpeqd	%ymm4,%ymm14,%ymm14 | 
 | 	vpcmpeqd	%ymm4,%ymm15,%ymm15 | 
 |  | 
 | 	vmovdqa	-32(%r10),%ymm7 | 
 | 	leaq	128(%rsi),%rsi | 
 | 	movl	$9,%edx | 
 |  | 
 | .Loop_gather_1024: | 
 | 	vmovdqa	0-128(%rsi),%ymm0 | 
 | 	vmovdqa	32-128(%rsi),%ymm1 | 
 | 	vmovdqa	64-128(%rsi),%ymm2 | 
 | 	vmovdqa	96-128(%rsi),%ymm3 | 
 | 	vpand	0+128(%rax),%ymm0,%ymm0 | 
 | 	vpand	32+128(%rax),%ymm1,%ymm1 | 
 | 	vpand	64+128(%rax),%ymm2,%ymm2 | 
 | 	vpor	%ymm0,%ymm1,%ymm4 | 
 | 	vpand	96+128(%rax),%ymm3,%ymm3 | 
 | 	vmovdqa	128-128(%rsi),%ymm0 | 
 | 	vmovdqa	160-128(%rsi),%ymm1 | 
 | 	vpor	%ymm2,%ymm3,%ymm5 | 
 | 	vmovdqa	192-128(%rsi),%ymm2 | 
 | 	vmovdqa	224-128(%rsi),%ymm3 | 
 | 	vpand	128+128(%rax),%ymm0,%ymm0 | 
 | 	vpand	160+128(%rax),%ymm1,%ymm1 | 
 | 	vpand	192+128(%rax),%ymm2,%ymm2 | 
 | 	vpor	%ymm0,%ymm4,%ymm4 | 
 | 	vpand	224+128(%rax),%ymm3,%ymm3 | 
 | 	vpand	256-128(%rsi),%ymm8,%ymm0 | 
 | 	vpor	%ymm1,%ymm5,%ymm5 | 
 | 	vpand	288-128(%rsi),%ymm9,%ymm1 | 
 | 	vpor	%ymm2,%ymm4,%ymm4 | 
 | 	vpand	320-128(%rsi),%ymm10,%ymm2 | 
 | 	vpor	%ymm3,%ymm5,%ymm5 | 
 | 	vpand	352-128(%rsi),%ymm11,%ymm3 | 
 | 	vpor	%ymm0,%ymm4,%ymm4 | 
 | 	vpand	384-128(%rsi),%ymm12,%ymm0 | 
 | 	vpor	%ymm1,%ymm5,%ymm5 | 
 | 	vpand	416-128(%rsi),%ymm13,%ymm1 | 
 | 	vpor	%ymm2,%ymm4,%ymm4 | 
 | 	vpand	448-128(%rsi),%ymm14,%ymm2 | 
 | 	vpor	%ymm3,%ymm5,%ymm5 | 
 | 	vpand	480-128(%rsi),%ymm15,%ymm3 | 
 | 	leaq	512(%rsi),%rsi | 
 | 	vpor	%ymm0,%ymm4,%ymm4 | 
 | 	vpor	%ymm1,%ymm5,%ymm5 | 
 | 	vpor	%ymm2,%ymm4,%ymm4 | 
 | 	vpor	%ymm3,%ymm5,%ymm5 | 
 |  | 
 | 	vpor	%ymm5,%ymm4,%ymm4 | 
 | 	vextracti128	$1,%ymm4,%xmm5 | 
 | 	vpor	%xmm4,%xmm5,%xmm5 | 
 | 	vpermd	%ymm5,%ymm7,%ymm5 | 
 | 	vmovdqu	%ymm5,(%rdi) | 
 | 	leaq	32(%rdi),%rdi | 
 | 	decl	%edx | 
 | 	jnz	.Loop_gather_1024 | 
 |  | 
 | 	vpxor	%ymm0,%ymm0,%ymm0 | 
 | 	vmovdqu	%ymm0,(%rdi) | 
 | 	vzeroupper | 
 | 	leaq	(%r11),%rsp | 
 | .cfi_def_cfa_register	%rsp | 
 | 	ret | 
 | .cfi_endproc	 | 
 | .LSEH_end_rsaz_1024_gather5: | 
 | .size	rsaz_1024_gather5_avx2,.-rsaz_1024_gather5_avx2 | 
 | .section	.rodata | 
 | .align	64 | 
 | .Land_mask: | 
 | .quad	0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff | 
 | .Lscatter_permd: | 
 | .long	0,2,4,6,7,7,7,7 | 
 | .Lgather_permd: | 
 | .long	0,7,1,7,2,7,3,7 | 
 | .Linc: | 
 | .long	0,0,0,0, 1,1,1,1 | 
 | .long	2,2,2,2, 3,3,3,3 | 
 | .long	4,4,4,4, 4,4,4,4 | 
 | .align	64 | 
 | .text	 | 
 | #endif |