xref: /aosp_15_r20/external/boringssl/src/gen/bcm/rsaz-avx2-linux.S (revision 8fb009dc861624b67b6cdb62ea21f0f22d0c584b)
1*8fb009dcSAndroid Build Coastguard Worker// This file is generated from a similarly-named Perl script in the BoringSSL
2*8fb009dcSAndroid Build Coastguard Worker// source tree. Do not edit by hand.
3*8fb009dcSAndroid Build Coastguard Worker
4*8fb009dcSAndroid Build Coastguard Worker#include <openssl/asm_base.h>
5*8fb009dcSAndroid Build Coastguard Worker
6*8fb009dcSAndroid Build Coastguard Worker#if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_X86_64) && defined(__ELF__)
7*8fb009dcSAndroid Build Coastguard Worker.text
8*8fb009dcSAndroid Build Coastguard Worker
9*8fb009dcSAndroid Build Coastguard Worker.globl	rsaz_1024_sqr_avx2
10*8fb009dcSAndroid Build Coastguard Worker.hidden rsaz_1024_sqr_avx2
11*8fb009dcSAndroid Build Coastguard Worker.type	rsaz_1024_sqr_avx2,@function
12*8fb009dcSAndroid Build Coastguard Worker.align	64
13*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_sqr_avx2:
14*8fb009dcSAndroid Build Coastguard Worker.cfi_startproc
15*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
16*8fb009dcSAndroid Build Coastguard Worker	leaq	(%rsp),%rax
17*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rax
18*8fb009dcSAndroid Build Coastguard Worker	pushq	%rbx
19*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%rbx,-16
20*8fb009dcSAndroid Build Coastguard Worker	pushq	%rbp
21*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%rbp,-24
22*8fb009dcSAndroid Build Coastguard Worker	pushq	%r12
23*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r12,-32
24*8fb009dcSAndroid Build Coastguard Worker	pushq	%r13
25*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r13,-40
26*8fb009dcSAndroid Build Coastguard Worker	pushq	%r14
27*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r14,-48
28*8fb009dcSAndroid Build Coastguard Worker	pushq	%r15
29*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r15,-56
30*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
31*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rbp
32*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rbp
33*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%r13
34*8fb009dcSAndroid Build Coastguard Worker	subq	$832,%rsp
35*8fb009dcSAndroid Build Coastguard Worker	movq	%r13,%r15
36*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rdi
37*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rsi
38*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%r13
39*8fb009dcSAndroid Build Coastguard Worker
40*8fb009dcSAndroid Build Coastguard Worker	andq	$4095,%r15
41*8fb009dcSAndroid Build Coastguard Worker	addq	$320,%r15
42*8fb009dcSAndroid Build Coastguard Worker	shrq	$12,%r15
43*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm9,%ymm9,%ymm9
44*8fb009dcSAndroid Build Coastguard Worker	jz	.Lsqr_1024_no_n_copy
45*8fb009dcSAndroid Build Coastguard Worker
46*8fb009dcSAndroid Build Coastguard Worker
47*8fb009dcSAndroid Build Coastguard Worker
48*8fb009dcSAndroid Build Coastguard Worker
49*8fb009dcSAndroid Build Coastguard Worker
50*8fb009dcSAndroid Build Coastguard Worker	subq	$320,%rsp
51*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	0-128(%r13),%ymm0
52*8fb009dcSAndroid Build Coastguard Worker	andq	$-2048,%rsp
53*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	32-128(%r13),%ymm1
54*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	64-128(%r13),%ymm2
55*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-128(%r13),%ymm3
56*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	128-128(%r13),%ymm4
57*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-128(%r13),%ymm5
58*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-128(%r13),%ymm6
59*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	224-128(%r13),%ymm7
60*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256-128(%r13),%ymm8
61*8fb009dcSAndroid Build Coastguard Worker	leaq	832+128(%rsp),%r13
62*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,0-128(%r13)
63*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,32-128(%r13)
64*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,64-128(%r13)
65*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm3,96-128(%r13)
66*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm4,128-128(%r13)
67*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,160-128(%r13)
68*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm6,192-128(%r13)
69*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm7,224-128(%r13)
70*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm8,256-128(%r13)
71*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,288-128(%r13)
72*8fb009dcSAndroid Build Coastguard Worker
73*8fb009dcSAndroid Build Coastguard Worker.Lsqr_1024_no_n_copy:
74*8fb009dcSAndroid Build Coastguard Worker	andq	$-1024,%rsp
75*8fb009dcSAndroid Build Coastguard Worker
76*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	32-128(%rsi),%ymm1
77*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	64-128(%rsi),%ymm2
78*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-128(%rsi),%ymm3
79*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	128-128(%rsi),%ymm4
80*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-128(%rsi),%ymm5
81*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-128(%rsi),%ymm6
82*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	224-128(%rsi),%ymm7
83*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256-128(%rsi),%ymm8
84*8fb009dcSAndroid Build Coastguard Worker
85*8fb009dcSAndroid Build Coastguard Worker	leaq	192(%rsp),%rbx
86*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	.Land_mask(%rip),%ymm15
87*8fb009dcSAndroid Build Coastguard Worker	jmp	.LOOP_GRANDE_SQR_1024
88*8fb009dcSAndroid Build Coastguard Worker
89*8fb009dcSAndroid Build Coastguard Worker.align	32
90*8fb009dcSAndroid Build Coastguard Worker.LOOP_GRANDE_SQR_1024:
91*8fb009dcSAndroid Build Coastguard Worker	leaq	576+128(%rsp),%r9
92*8fb009dcSAndroid Build Coastguard Worker	leaq	448(%rsp),%r12
93*8fb009dcSAndroid Build Coastguard Worker
94*8fb009dcSAndroid Build Coastguard Worker
95*8fb009dcSAndroid Build Coastguard Worker
96*8fb009dcSAndroid Build Coastguard Worker
97*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm1,%ymm1,%ymm1
98*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	0-128(%rsi),%ymm10
99*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm2,%ymm2,%ymm2
100*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm1,0-128(%r9)
101*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm3,%ymm3,%ymm3
102*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm2,32-128(%r9)
103*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm4,%ymm4,%ymm4
104*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm3,64-128(%r9)
105*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm5,%ymm5,%ymm5
106*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm4,96-128(%r9)
107*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm6,%ymm6,%ymm6
108*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm5,128-128(%r9)
109*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm7,%ymm7,%ymm7
110*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm6,160-128(%r9)
111*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm8,%ymm8,%ymm8
112*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm7,192-128(%r9)
113*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm9,%ymm9,%ymm9
114*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm8,224-128(%r9)
115*8fb009dcSAndroid Build Coastguard Worker
116*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	0-128(%rsi),%ymm10,%ymm0
117*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	32-128(%rsi),%ymm11
118*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,288-192(%rbx)
119*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm1,%ymm1
120*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,320-448(%r12)
121*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm2,%ymm2
122*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,352-448(%r12)
123*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm3,%ymm3
124*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,384-448(%r12)
125*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm4,%ymm4
126*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,416-448(%r12)
127*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm5,%ymm5
128*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,448-448(%r12)
129*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm6,%ymm6
130*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,480-448(%r12)
131*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm7,%ymm7
132*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,512-448(%r12)
133*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm8,%ymm8
134*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	64-128(%rsi),%ymm10
135*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,544-448(%r12)
136*8fb009dcSAndroid Build Coastguard Worker
137*8fb009dcSAndroid Build Coastguard Worker	movq	%rsi,%r15
138*8fb009dcSAndroid Build Coastguard Worker	movl	$4,%r14d
139*8fb009dcSAndroid Build Coastguard Worker	jmp	.Lsqr_entry_1024
140*8fb009dcSAndroid Build Coastguard Worker.align	32
141*8fb009dcSAndroid Build Coastguard Worker.LOOP_SQR_1024:
142*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	32-128(%r15),%ymm11
143*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	0-128(%rsi),%ymm10,%ymm0
144*8fb009dcSAndroid Build Coastguard Worker	vpaddq	0-192(%rbx),%ymm0,%ymm0
145*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	0-128(%r9),%ymm10,%ymm1
146*8fb009dcSAndroid Build Coastguard Worker	vpaddq	32-192(%rbx),%ymm1,%ymm1
147*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-128(%r9),%ymm10,%ymm2
148*8fb009dcSAndroid Build Coastguard Worker	vpaddq	64-192(%rbx),%ymm2,%ymm2
149*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%r9),%ymm10,%ymm3
150*8fb009dcSAndroid Build Coastguard Worker	vpaddq	96-192(%rbx),%ymm3,%ymm3
151*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%r9),%ymm10,%ymm4
152*8fb009dcSAndroid Build Coastguard Worker	vpaddq	128-192(%rbx),%ymm4,%ymm4
153*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%r9),%ymm10,%ymm5
154*8fb009dcSAndroid Build Coastguard Worker	vpaddq	160-192(%rbx),%ymm5,%ymm5
155*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r9),%ymm10,%ymm6
156*8fb009dcSAndroid Build Coastguard Worker	vpaddq	192-192(%rbx),%ymm6,%ymm6
157*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm10,%ymm7
158*8fb009dcSAndroid Build Coastguard Worker	vpaddq	224-192(%rbx),%ymm7,%ymm7
159*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm10,%ymm8
160*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	64-128(%r15),%ymm10
161*8fb009dcSAndroid Build Coastguard Worker	vpaddq	256-192(%rbx),%ymm8,%ymm8
162*8fb009dcSAndroid Build Coastguard Worker.Lsqr_entry_1024:
163*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,0-192(%rbx)
164*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,32-192(%rbx)
165*8fb009dcSAndroid Build Coastguard Worker
166*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-128(%rsi),%ymm11,%ymm12
167*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
168*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-128(%r9),%ymm11,%ymm14
169*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm3,%ymm3
170*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%r9),%ymm11,%ymm13
171*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm4,%ymm4
172*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%r9),%ymm11,%ymm12
173*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
174*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%r9),%ymm11,%ymm14
175*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm6,%ymm6
176*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r9),%ymm11,%ymm13
177*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm7,%ymm7
178*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm11,%ymm12
179*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
180*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm11,%ymm0
181*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	96-128(%r15),%ymm11
182*8fb009dcSAndroid Build Coastguard Worker	vpaddq	288-192(%rbx),%ymm0,%ymm0
183*8fb009dcSAndroid Build Coastguard Worker
184*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,64-192(%rbx)
185*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm3,96-192(%rbx)
186*8fb009dcSAndroid Build Coastguard Worker
187*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%rsi),%ymm10,%ymm13
188*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm4,%ymm4
189*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%r9),%ymm10,%ymm12
190*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
191*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%r9),%ymm10,%ymm14
192*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm6,%ymm6
193*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%r9),%ymm10,%ymm13
194*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm7,%ymm7
195*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r9),%ymm10,%ymm12
196*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
197*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm10,%ymm14
198*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm0,%ymm0
199*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm10,%ymm1
200*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	128-128(%r15),%ymm10
201*8fb009dcSAndroid Build Coastguard Worker	vpaddq	320-448(%r12),%ymm1,%ymm1
202*8fb009dcSAndroid Build Coastguard Worker
203*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm4,128-192(%rbx)
204*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,160-192(%rbx)
205*8fb009dcSAndroid Build Coastguard Worker
206*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%rsi),%ymm11,%ymm12
207*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm6,%ymm6
208*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%r9),%ymm11,%ymm14
209*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm7,%ymm7
210*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%r9),%ymm11,%ymm13
211*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm8,%ymm8
212*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r9),%ymm11,%ymm12
213*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm0,%ymm0
214*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm11,%ymm14
215*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm1,%ymm1
216*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm11,%ymm2
217*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	160-128(%r15),%ymm11
218*8fb009dcSAndroid Build Coastguard Worker	vpaddq	352-448(%r12),%ymm2,%ymm2
219*8fb009dcSAndroid Build Coastguard Worker
220*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm6,192-192(%rbx)
221*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm7,224-192(%rbx)
222*8fb009dcSAndroid Build Coastguard Worker
223*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%rsi),%ymm10,%ymm12
224*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
225*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%r9),%ymm10,%ymm14
226*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm0,%ymm0
227*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r9),%ymm10,%ymm13
228*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm1,%ymm1
229*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm10,%ymm12
230*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
231*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm10,%ymm3
232*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	192-128(%r15),%ymm10
233*8fb009dcSAndroid Build Coastguard Worker	vpaddq	384-448(%r12),%ymm3,%ymm3
234*8fb009dcSAndroid Build Coastguard Worker
235*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm8,256-192(%rbx)
236*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,288-192(%rbx)
237*8fb009dcSAndroid Build Coastguard Worker	leaq	8(%rbx),%rbx
238*8fb009dcSAndroid Build Coastguard Worker
239*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%rsi),%ymm11,%ymm13
240*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm1,%ymm1
241*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r9),%ymm11,%ymm12
242*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
243*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm11,%ymm14
244*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm3,%ymm3
245*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm11,%ymm4
246*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	224-128(%r15),%ymm11
247*8fb009dcSAndroid Build Coastguard Worker	vpaddq	416-448(%r12),%ymm4,%ymm4
248*8fb009dcSAndroid Build Coastguard Worker
249*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,320-448(%r12)
250*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,352-448(%r12)
251*8fb009dcSAndroid Build Coastguard Worker
252*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%rsi),%ymm10,%ymm12
253*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm3,%ymm3
254*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r9),%ymm10,%ymm14
255*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	256-128(%r15),%ymm0
256*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm4,%ymm4
257*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm10,%ymm5
258*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	0+8-128(%r15),%ymm10
259*8fb009dcSAndroid Build Coastguard Worker	vpaddq	448-448(%r12),%ymm5,%ymm5
260*8fb009dcSAndroid Build Coastguard Worker
261*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm3,384-448(%r12)
262*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm4,416-448(%r12)
263*8fb009dcSAndroid Build Coastguard Worker	leaq	8(%r15),%r15
264*8fb009dcSAndroid Build Coastguard Worker
265*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%rsi),%ymm11,%ymm12
266*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
267*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r9),%ymm11,%ymm6
268*8fb009dcSAndroid Build Coastguard Worker	vpaddq	480-448(%r12),%ymm6,%ymm6
269*8fb009dcSAndroid Build Coastguard Worker
270*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	256-128(%rsi),%ymm0,%ymm7
271*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,448-448(%r12)
272*8fb009dcSAndroid Build Coastguard Worker	vpaddq	512-448(%r12),%ymm7,%ymm7
273*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm6,480-448(%r12)
274*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm7,512-448(%r12)
275*8fb009dcSAndroid Build Coastguard Worker	leaq	8(%r12),%r12
276*8fb009dcSAndroid Build Coastguard Worker
277*8fb009dcSAndroid Build Coastguard Worker	decl	%r14d
278*8fb009dcSAndroid Build Coastguard Worker	jnz	.LOOP_SQR_1024
279*8fb009dcSAndroid Build Coastguard Worker
280*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256(%rsp),%ymm8
281*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	288(%rsp),%ymm1
282*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	320(%rsp),%ymm2
283*8fb009dcSAndroid Build Coastguard Worker	leaq	192(%rsp),%rbx
284*8fb009dcSAndroid Build Coastguard Worker
285*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm8,%ymm14
286*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm8,%ymm8
287*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm1,%ymm11
288*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm1,%ymm1
289*8fb009dcSAndroid Build Coastguard Worker
290*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm14,%ymm14
291*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm9,%ymm9,%ymm9
292*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
293*8fb009dcSAndroid Build Coastguard Worker
294*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm9,%ymm14,%ymm10
295*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm11,%ymm14
296*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm8,%ymm8
297*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm9,%ymm11
298*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm1,%ymm1
299*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm2,%ymm2
300*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,288-192(%rbx)
301*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,320-192(%rbx)
302*8fb009dcSAndroid Build Coastguard Worker
303*8fb009dcSAndroid Build Coastguard Worker	movq	(%rsp),%rax
304*8fb009dcSAndroid Build Coastguard Worker	movq	8(%rsp),%r10
305*8fb009dcSAndroid Build Coastguard Worker	movq	16(%rsp),%r11
306*8fb009dcSAndroid Build Coastguard Worker	movq	24(%rsp),%r12
307*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	32(%rsp),%ymm1
308*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	64-192(%rbx),%ymm2
309*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-192(%rbx),%ymm3
310*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	128-192(%rbx),%ymm4
311*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-192(%rbx),%ymm5
312*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-192(%rbx),%ymm6
313*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	224-192(%rbx),%ymm7
314*8fb009dcSAndroid Build Coastguard Worker
315*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%r9
316*8fb009dcSAndroid Build Coastguard Worker	imull	%ecx,%eax
317*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
318*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm12
319*8fb009dcSAndroid Build Coastguard Worker
320*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
321*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%r13),%rax
322*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm12,%ymm12
323*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r9
324*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
325*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%r13),%rax
326*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r9
327*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r10
328*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
329*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%r13),%rax
330*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%r10
331*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
332*8fb009dcSAndroid Build Coastguard Worker	imulq	24-128(%r13),%rdx
333*8fb009dcSAndroid Build Coastguard Worker	addq	%rdx,%r12
334*8fb009dcSAndroid Build Coastguard Worker
335*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%rax
336*8fb009dcSAndroid Build Coastguard Worker	imull	%ecx,%eax
337*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
338*8fb009dcSAndroid Build Coastguard Worker
339*8fb009dcSAndroid Build Coastguard Worker	movl	$9,%r14d
340*8fb009dcSAndroid Build Coastguard Worker	jmp	.LOOP_REDUCE_1024
341*8fb009dcSAndroid Build Coastguard Worker
342*8fb009dcSAndroid Build Coastguard Worker.align	32
343*8fb009dcSAndroid Build Coastguard Worker.LOOP_REDUCE_1024:
344*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm13
345*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm13,%ymm13
346*8fb009dcSAndroid Build Coastguard Worker
347*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-128(%r13),%ymm12,%ymm10
348*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
349*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%r13),%rax
350*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm1,%ymm1
351*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r10
352*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%r13),%ymm12,%ymm14
353*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
354*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%r13),%rax
355*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm2,%ymm2
356*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%r13),%ymm12,%ymm11
357*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
358*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
359*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
360*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
361*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%r13),%rax
362*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r10
363*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm3,%ymm3
364*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%r13),%ymm12,%ymm10
365*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r12
366*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%r11
367*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm4,%ymm4
368*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%r13),%ymm12,%ymm14
369*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%rax
370*8fb009dcSAndroid Build Coastguard Worker	imull	%ecx,%eax
371*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm5,%ymm5
372*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%r13),%ymm12,%ymm11
373*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
374*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm6,%ymm6
375*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%r13),%ymm12,%ymm10
376*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm7,%ymm7
377*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	256-128(%r13),%ymm12,%ymm14
378*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm12
379*8fb009dcSAndroid Build Coastguard Worker
380*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm8,%ymm8
381*8fb009dcSAndroid Build Coastguard Worker
382*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm12,%ymm12
383*8fb009dcSAndroid Build Coastguard Worker
384*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-8-128(%r13),%ymm13,%ymm11
385*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-8-128(%r13),%ymm14
386*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
387*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%r13),%rax
388*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm1,%ymm1
389*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-8-128(%r13),%ymm13,%ymm10
390*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	128-8-128(%r13),%ymm11
391*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
392*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
393*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%r13),%rax
394*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm2,%ymm2
395*8fb009dcSAndroid Build Coastguard Worker	addq	%r12,%rax
396*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r11
397*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm14,%ymm14
398*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-8-128(%r13),%ymm10
399*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
400*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm3,%ymm3
401*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm11,%ymm11
402*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-8-128(%r13),%ymm14
403*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
404*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%r12
405*8fb009dcSAndroid Build Coastguard Worker	imull	%ecx,%eax
406*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm4,%ymm4
407*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm10,%ymm10
408*8fb009dcSAndroid Build Coastguard Worker.byte	0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00
409*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
410*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm5,%ymm5
411*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm14,%ymm14
412*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256-8-128(%r13),%ymm10
413*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm6,%ymm6
414*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm11,%ymm11
415*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	288-8-128(%r13),%ymm9
416*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm0
417*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%r13),%rax
418*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm7,%ymm7
419*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm10,%ymm10
420*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	32-16-128(%r13),%ymm14
421*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm0,%ymm0
422*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm8,%ymm8
423*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm13,%ymm9,%ymm9
424*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	64-16-128(%r13),%ymm11
425*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r12
426*8fb009dcSAndroid Build Coastguard Worker
427*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	32-24-128(%r13),%ymm13
428*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm14,%ymm14
429*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-16-128(%r13),%ymm10
430*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm1,%ymm1
431*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm13,%ymm13
432*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm11,%ymm11
433*8fb009dcSAndroid Build Coastguard Worker.byte	0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff
434*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm1,%ymm13,%ymm13
435*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm2,%ymm2
436*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm10,%ymm10
437*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-16-128(%r13),%ymm11
438*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
439*8fb009dcSAndroid Build Coastguard Worker	vmovq	%xmm13,%rax
440*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm13,(%rsp)
441*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm3,%ymm3
442*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm14,%ymm14
443*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-16-128(%r13),%ymm10
444*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm4,%ymm4
445*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm11,%ymm11
446*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	224-16-128(%r13),%ymm14
447*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm5,%ymm5
448*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm10,%ymm10
449*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256-16-128(%r13),%ymm11
450*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm6,%ymm6
451*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm14,%ymm14
452*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r12
453*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	288-16-128(%r13),%ymm10
454*8fb009dcSAndroid Build Coastguard Worker	addq	%r12,%rax
455*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm7,%ymm7
456*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm11,%ymm11
457*8fb009dcSAndroid Build Coastguard Worker
458*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%r9
459*8fb009dcSAndroid Build Coastguard Worker	imull	%ecx,%eax
460*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm8,%ymm8
461*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm12,%ymm10,%ymm10
462*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
463*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm12
464*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-24-128(%r13),%ymm11
465*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
466*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm9,%ymm9
467*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm12,%ymm12
468*8fb009dcSAndroid Build Coastguard Worker
469*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-24-128(%r13),%ymm0,%ymm14
470*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	128-24-128(%r13),%ymm10
471*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
472*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%r13),%rax
473*8fb009dcSAndroid Build Coastguard Worker	movq	8(%rsp),%r10
474*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm2,%ymm1
475*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm11,%ymm11
476*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-24-128(%r13),%ymm14
477*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r9
478*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
479*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%r13),%rax
480*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
481*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r9
482*8fb009dcSAndroid Build Coastguard Worker	movq	16(%rsp),%r11
483*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm3,%ymm2
484*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm10,%ymm10
485*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-24-128(%r13),%ymm11
486*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r10
487*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
488*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%r13),%rax
489*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm4,%ymm3
490*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm14,%ymm14
491*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	224-24-128(%r13),%ymm10
492*8fb009dcSAndroid Build Coastguard Worker	imulq	24-128(%r13),%rdx
493*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
494*8fb009dcSAndroid Build Coastguard Worker	leaq	(%r9,%r10,1),%rax
495*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm5,%ymm4
496*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm11,%ymm11
497*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256-24-128(%r13),%ymm14
498*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%r10
499*8fb009dcSAndroid Build Coastguard Worker	imull	%ecx,%eax
500*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm10,%ymm10
501*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm6,%ymm5
502*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	288-24-128(%r13),%ymm11
503*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
504*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm7,%ymm6
505*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm14,%ymm14
506*8fb009dcSAndroid Build Coastguard Worker	addq	24(%rsp),%rdx
507*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm8,%ymm7
508*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm0,%ymm11,%ymm11
509*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm9,%ymm8
510*8fb009dcSAndroid Build Coastguard Worker	vmovq	%r12,%xmm9
511*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%r12
512*8fb009dcSAndroid Build Coastguard Worker
513*8fb009dcSAndroid Build Coastguard Worker	decl	%r14d
514*8fb009dcSAndroid Build Coastguard Worker	jnz	.LOOP_REDUCE_1024
515*8fb009dcSAndroid Build Coastguard Worker	leaq	448(%rsp),%r12
516*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm9,%ymm13,%ymm0
517*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm9,%ymm9,%ymm9
518*8fb009dcSAndroid Build Coastguard Worker
519*8fb009dcSAndroid Build Coastguard Worker	vpaddq	288-192(%rbx),%ymm0,%ymm0
520*8fb009dcSAndroid Build Coastguard Worker	vpaddq	320-448(%r12),%ymm1,%ymm1
521*8fb009dcSAndroid Build Coastguard Worker	vpaddq	352-448(%r12),%ymm2,%ymm2
522*8fb009dcSAndroid Build Coastguard Worker	vpaddq	384-448(%r12),%ymm3,%ymm3
523*8fb009dcSAndroid Build Coastguard Worker	vpaddq	416-448(%r12),%ymm4,%ymm4
524*8fb009dcSAndroid Build Coastguard Worker	vpaddq	448-448(%r12),%ymm5,%ymm5
525*8fb009dcSAndroid Build Coastguard Worker	vpaddq	480-448(%r12),%ymm6,%ymm6
526*8fb009dcSAndroid Build Coastguard Worker	vpaddq	512-448(%r12),%ymm7,%ymm7
527*8fb009dcSAndroid Build Coastguard Worker	vpaddq	544-448(%r12),%ymm8,%ymm8
528*8fb009dcSAndroid Build Coastguard Worker
529*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm0,%ymm14
530*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm0,%ymm0
531*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm1,%ymm11
532*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm1,%ymm1
533*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm2,%ymm12
534*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm14,%ymm14
535*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm2,%ymm2
536*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm3,%ymm13
537*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
538*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm3,%ymm3
539*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
540*8fb009dcSAndroid Build Coastguard Worker
541*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm9,%ymm14,%ymm10
542*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
543*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm11,%ymm14
544*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm0,%ymm0
545*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm12,%ymm11
546*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm1,%ymm1
547*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
548*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm2,%ymm2
549*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm9,%ymm13
550*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm3,%ymm3
551*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm4,%ymm4
552*8fb009dcSAndroid Build Coastguard Worker
553*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm0,%ymm14
554*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm0,%ymm0
555*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm1,%ymm11
556*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm1,%ymm1
557*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm2,%ymm12
558*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm14,%ymm14
559*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm2,%ymm2
560*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm3,%ymm13
561*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
562*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm3,%ymm3
563*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
564*8fb009dcSAndroid Build Coastguard Worker
565*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm9,%ymm14,%ymm10
566*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
567*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm11,%ymm14
568*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm0,%ymm0
569*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm12,%ymm11
570*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm1,%ymm1
571*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,0-128(%rdi)
572*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
573*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm2,%ymm2
574*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,32-128(%rdi)
575*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm9,%ymm13
576*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm3,%ymm3
577*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,64-128(%rdi)
578*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm4,%ymm4
579*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm3,96-128(%rdi)
580*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm4,%ymm14
581*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm4,%ymm4
582*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm5,%ymm11
583*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm5,%ymm5
584*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm6,%ymm12
585*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm14,%ymm14
586*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm6,%ymm6
587*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm7,%ymm13
588*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
589*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm7,%ymm7
590*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm8,%ymm0
591*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
592*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm8,%ymm8
593*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
594*8fb009dcSAndroid Build Coastguard Worker
595*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm9,%ymm14,%ymm10
596*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm0,%ymm0
597*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm11,%ymm14
598*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm4,%ymm4
599*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm12,%ymm11
600*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm5,%ymm5
601*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
602*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm6,%ymm6
603*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm0,%ymm13
604*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm7,%ymm7
605*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm8,%ymm8
606*8fb009dcSAndroid Build Coastguard Worker
607*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm4,%ymm14
608*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm4,%ymm4
609*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm5,%ymm11
610*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm5,%ymm5
611*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm6,%ymm12
612*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm14,%ymm14
613*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm6,%ymm6
614*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm7,%ymm13
615*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
616*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm7,%ymm7
617*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm8,%ymm0
618*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
619*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm8,%ymm8
620*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
621*8fb009dcSAndroid Build Coastguard Worker
622*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm9,%ymm14,%ymm10
623*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm0,%ymm0
624*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm11,%ymm14
625*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm4,%ymm4
626*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm12,%ymm11
627*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm14,%ymm5,%ymm5
628*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm4,128-128(%rdi)
629*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
630*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm6,%ymm6
631*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,160-128(%rdi)
632*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm0,%ymm13
633*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm7,%ymm7
634*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm6,192-128(%rdi)
635*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm8,%ymm8
636*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm7,224-128(%rdi)
637*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm8,256-128(%rdi)
638*8fb009dcSAndroid Build Coastguard Worker
639*8fb009dcSAndroid Build Coastguard Worker	movq	%rdi,%rsi
640*8fb009dcSAndroid Build Coastguard Worker	decl	%r8d
641*8fb009dcSAndroid Build Coastguard Worker	jne	.LOOP_GRANDE_SQR_1024
642*8fb009dcSAndroid Build Coastguard Worker
643*8fb009dcSAndroid Build Coastguard Worker	vzeroall
644*8fb009dcSAndroid Build Coastguard Worker	movq	%rbp,%rax
645*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rax
646*8fb009dcSAndroid Build Coastguard Worker	movq	-48(%rax),%r15
647*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r15
648*8fb009dcSAndroid Build Coastguard Worker	movq	-40(%rax),%r14
649*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r14
650*8fb009dcSAndroid Build Coastguard Worker	movq	-32(%rax),%r13
651*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r13
652*8fb009dcSAndroid Build Coastguard Worker	movq	-24(%rax),%r12
653*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r12
654*8fb009dcSAndroid Build Coastguard Worker	movq	-16(%rax),%rbp
655*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%rbp
656*8fb009dcSAndroid Build Coastguard Worker	movq	-8(%rax),%rbx
657*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%rbx
658*8fb009dcSAndroid Build Coastguard Worker	leaq	(%rax),%rsp
659*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rsp
660*8fb009dcSAndroid Build Coastguard Worker.Lsqr_1024_epilogue:
661*8fb009dcSAndroid Build Coastguard Worker	ret
662*8fb009dcSAndroid Build Coastguard Worker.cfi_endproc
663*8fb009dcSAndroid Build Coastguard Worker.size	rsaz_1024_sqr_avx2,.-rsaz_1024_sqr_avx2
664*8fb009dcSAndroid Build Coastguard Worker.globl	rsaz_1024_mul_avx2
665*8fb009dcSAndroid Build Coastguard Worker.hidden rsaz_1024_mul_avx2
666*8fb009dcSAndroid Build Coastguard Worker.type	rsaz_1024_mul_avx2,@function
667*8fb009dcSAndroid Build Coastguard Worker.align	64
668*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_mul_avx2:
669*8fb009dcSAndroid Build Coastguard Worker.cfi_startproc
670*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
671*8fb009dcSAndroid Build Coastguard Worker	leaq	(%rsp),%rax
672*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rax
673*8fb009dcSAndroid Build Coastguard Worker	pushq	%rbx
674*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%rbx,-16
675*8fb009dcSAndroid Build Coastguard Worker	pushq	%rbp
676*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%rbp,-24
677*8fb009dcSAndroid Build Coastguard Worker	pushq	%r12
678*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r12,-32
679*8fb009dcSAndroid Build Coastguard Worker	pushq	%r13
680*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r13,-40
681*8fb009dcSAndroid Build Coastguard Worker	pushq	%r14
682*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r14,-48
683*8fb009dcSAndroid Build Coastguard Worker	pushq	%r15
684*8fb009dcSAndroid Build Coastguard Worker.cfi_offset	%r15,-56
685*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rbp
686*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rbp
687*8fb009dcSAndroid Build Coastguard Worker	vzeroall
688*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%r13
689*8fb009dcSAndroid Build Coastguard Worker	subq	$64,%rsp
690*8fb009dcSAndroid Build Coastguard Worker
691*8fb009dcSAndroid Build Coastguard Worker
692*8fb009dcSAndroid Build Coastguard Worker
693*8fb009dcSAndroid Build Coastguard Worker
694*8fb009dcSAndroid Build Coastguard Worker
695*8fb009dcSAndroid Build Coastguard Worker
696*8fb009dcSAndroid Build Coastguard Worker.byte	0x67,0x67
697*8fb009dcSAndroid Build Coastguard Worker	movq	%rsi,%r15
698*8fb009dcSAndroid Build Coastguard Worker	andq	$4095,%r15
699*8fb009dcSAndroid Build Coastguard Worker	addq	$320,%r15
700*8fb009dcSAndroid Build Coastguard Worker	shrq	$12,%r15
701*8fb009dcSAndroid Build Coastguard Worker	movq	%rsi,%r15
702*8fb009dcSAndroid Build Coastguard Worker	cmovnzq	%r13,%rsi
703*8fb009dcSAndroid Build Coastguard Worker	cmovnzq	%r15,%r13
704*8fb009dcSAndroid Build Coastguard Worker
705*8fb009dcSAndroid Build Coastguard Worker	movq	%rcx,%r15
706*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rsi
707*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rcx
708*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rdi
709*8fb009dcSAndroid Build Coastguard Worker
710*8fb009dcSAndroid Build Coastguard Worker	andq	$4095,%r15
711*8fb009dcSAndroid Build Coastguard Worker	addq	$320,%r15
712*8fb009dcSAndroid Build Coastguard Worker.byte	0x67,0x67
713*8fb009dcSAndroid Build Coastguard Worker	shrq	$12,%r15
714*8fb009dcSAndroid Build Coastguard Worker	jz	.Lmul_1024_no_n_copy
715*8fb009dcSAndroid Build Coastguard Worker
716*8fb009dcSAndroid Build Coastguard Worker
717*8fb009dcSAndroid Build Coastguard Worker
718*8fb009dcSAndroid Build Coastguard Worker
719*8fb009dcSAndroid Build Coastguard Worker
720*8fb009dcSAndroid Build Coastguard Worker	subq	$320,%rsp
721*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	0-128(%rcx),%ymm0
722*8fb009dcSAndroid Build Coastguard Worker	andq	$-512,%rsp
723*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	32-128(%rcx),%ymm1
724*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	64-128(%rcx),%ymm2
725*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	96-128(%rcx),%ymm3
726*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	128-128(%rcx),%ymm4
727*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	160-128(%rcx),%ymm5
728*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	192-128(%rcx),%ymm6
729*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	224-128(%rcx),%ymm7
730*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	256-128(%rcx),%ymm8
731*8fb009dcSAndroid Build Coastguard Worker	leaq	64+128(%rsp),%rcx
732*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,0-128(%rcx)
733*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm0,%ymm0,%ymm0
734*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,32-128(%rcx)
735*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm1,%ymm1,%ymm1
736*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,64-128(%rcx)
737*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm2,%ymm2,%ymm2
738*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm3,96-128(%rcx)
739*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm3,%ymm3,%ymm3
740*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm4,128-128(%rcx)
741*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm4,%ymm4,%ymm4
742*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,160-128(%rcx)
743*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm5,%ymm5,%ymm5
744*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm6,192-128(%rcx)
745*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm6,%ymm6,%ymm6
746*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm7,224-128(%rcx)
747*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm7,%ymm7,%ymm7
748*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm8,256-128(%rcx)
749*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm0,%ymm8
750*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,288-128(%rcx)
751*8fb009dcSAndroid Build Coastguard Worker.Lmul_1024_no_n_copy:
752*8fb009dcSAndroid Build Coastguard Worker	andq	$-64,%rsp
753*8fb009dcSAndroid Build Coastguard Worker
754*8fb009dcSAndroid Build Coastguard Worker	movq	(%r13),%rbx
755*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	(%r13),%ymm10
756*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,(%rsp)
757*8fb009dcSAndroid Build Coastguard Worker	xorq	%r9,%r9
758*8fb009dcSAndroid Build Coastguard Worker.byte	0x67
759*8fb009dcSAndroid Build Coastguard Worker	xorq	%r10,%r10
760*8fb009dcSAndroid Build Coastguard Worker	xorq	%r11,%r11
761*8fb009dcSAndroid Build Coastguard Worker	xorq	%r12,%r12
762*8fb009dcSAndroid Build Coastguard Worker
763*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	.Land_mask(%rip),%ymm15
764*8fb009dcSAndroid Build Coastguard Worker	movl	$9,%r14d
765*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm9,288-128(%rdi)
766*8fb009dcSAndroid Build Coastguard Worker	jmp	.Loop_mul_1024
767*8fb009dcSAndroid Build Coastguard Worker
768*8fb009dcSAndroid Build Coastguard Worker.align	32
769*8fb009dcSAndroid Build Coastguard Worker.Loop_mul_1024:
770*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm3,%ymm9
771*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%rax
772*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rsi),%rax
773*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
774*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%r10
775*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%rsi),%r10
776*8fb009dcSAndroid Build Coastguard Worker	addq	8(%rsp),%r10
777*8fb009dcSAndroid Build Coastguard Worker
778*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%r9
779*8fb009dcSAndroid Build Coastguard Worker	imull	%r8d,%eax
780*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
781*8fb009dcSAndroid Build Coastguard Worker
782*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%r11
783*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%rsi),%r11
784*8fb009dcSAndroid Build Coastguard Worker	addq	16(%rsp),%r11
785*8fb009dcSAndroid Build Coastguard Worker
786*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%r12
787*8fb009dcSAndroid Build Coastguard Worker	imulq	24-128(%rsi),%r12
788*8fb009dcSAndroid Build Coastguard Worker	addq	24(%rsp),%r12
789*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-128(%rsi),%ymm10,%ymm0
790*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm11
791*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm1,%ymm1
792*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%rsi),%ymm10,%ymm12
793*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm11,%ymm11
794*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
795*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%rsi),%ymm10,%ymm13
796*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm3,%ymm3
797*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm3,%ymm3
798*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%rsi),%ymm10,%ymm0
799*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm4,%ymm4
800*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%rsi),%ymm10,%ymm12
801*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
802*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%rsi),%ymm10,%ymm13
803*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
804*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%rsi),%ymm10,%ymm0
805*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm9,%ymm9
806*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm7,%ymm7
807*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	256-128(%rsi),%ymm10,%ymm12
808*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	8(%r13),%ymm10
809*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
810*8fb009dcSAndroid Build Coastguard Worker
811*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
812*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rcx),%rax
813*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r9
814*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
815*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%rcx),%rax
816*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r10
817*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
818*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%rcx),%rax
819*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
820*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r9
821*8fb009dcSAndroid Build Coastguard Worker	imulq	24-128(%rcx),%rdx
822*8fb009dcSAndroid Build Coastguard Worker	addq	%rdx,%r12
823*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%r10
824*8fb009dcSAndroid Build Coastguard Worker
825*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	32-128(%rcx),%ymm11,%ymm13
826*8fb009dcSAndroid Build Coastguard Worker	vmovq	%xmm10,%rbx
827*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm1,%ymm1
828*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	64-128(%rcx),%ymm11,%ymm0
829*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm2,%ymm2
830*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	96-128(%rcx),%ymm11,%ymm12
831*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm3,%ymm3
832*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	128-128(%rcx),%ymm11,%ymm13
833*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm4,%ymm4
834*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	160-128(%rcx),%ymm11,%ymm0
835*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm5,%ymm5
836*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	192-128(%rcx),%ymm11,%ymm12
837*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm6,%ymm6
838*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	224-128(%rcx),%ymm11,%ymm13
839*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm9,%ymm12
840*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm7,%ymm7
841*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	256-128(%rcx),%ymm11,%ymm0
842*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm3,%ymm3
843*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm8,%ymm8
844*8fb009dcSAndroid Build Coastguard Worker
845*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%rax
846*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rsi),%rax
847*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r10
848*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+32-128(%rsi),%ymm12
849*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%rax
850*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%rsi),%rax
851*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
852*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+64-128(%rsi),%ymm13
853*8fb009dcSAndroid Build Coastguard Worker
854*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%rax
855*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$0xfc,%ymm14,%ymm9,%ymm9
856*8fb009dcSAndroid Build Coastguard Worker	imull	%r8d,%eax
857*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm9,%ymm4,%ymm4
858*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
859*8fb009dcSAndroid Build Coastguard Worker
860*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%rsi),%rbx
861*8fb009dcSAndroid Build Coastguard Worker	addq	%rbx,%r12
862*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
863*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm11
864*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+96-128(%rsi),%ymm0
865*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm1,%ymm1
866*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
867*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm11,%ymm11
868*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+128-128(%rsi),%ymm12
869*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm2,%ymm2
870*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
871*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+160-128(%rsi),%ymm13
872*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm3,%ymm3
873*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
874*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+192-128(%rsi),%ymm0
875*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm4,%ymm4
876*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
877*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+224-128(%rsi),%ymm12
878*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm5,%ymm5
879*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
880*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+256-128(%rsi),%ymm13
881*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm6,%ymm6
882*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
883*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+288-128(%rsi),%ymm9
884*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm7,%ymm7
885*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
886*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm8,%ymm8
887*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm9,%ymm9
888*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	16(%r13),%ymm10
889*8fb009dcSAndroid Build Coastguard Worker
890*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
891*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rcx),%rax
892*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r10
893*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+32-128(%rcx),%ymm0
894*8fb009dcSAndroid Build Coastguard Worker	movq	%rdx,%rax
895*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%rcx),%rax
896*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
897*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+64-128(%rcx),%ymm12
898*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r10
899*8fb009dcSAndroid Build Coastguard Worker	imulq	16-128(%rcx),%rdx
900*8fb009dcSAndroid Build Coastguard Worker	addq	%rdx,%r12
901*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%r11
902*8fb009dcSAndroid Build Coastguard Worker
903*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
904*8fb009dcSAndroid Build Coastguard Worker	vmovq	%xmm10,%rbx
905*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+96-128(%rcx),%ymm13
906*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm1,%ymm1
907*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
908*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+128-128(%rcx),%ymm0
909*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
910*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
911*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+160-128(%rcx),%ymm12
912*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm3,%ymm3
913*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
914*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+192-128(%rcx),%ymm13
915*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm4,%ymm4
916*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
917*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+224-128(%rcx),%ymm0
918*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
919*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
920*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+256-128(%rcx),%ymm12
921*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
922*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
923*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-8+288-128(%rcx),%ymm13
924*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm7,%ymm7
925*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
926*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
927*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
928*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm9,%ymm9
929*8fb009dcSAndroid Build Coastguard Worker
930*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+32-128(%rsi),%ymm0
931*8fb009dcSAndroid Build Coastguard Worker	movq	%rbx,%rax
932*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rsi),%rax
933*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
934*8fb009dcSAndroid Build Coastguard Worker
935*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+64-128(%rsi),%ymm12
936*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%r11
937*8fb009dcSAndroid Build Coastguard Worker	imull	%r8d,%eax
938*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
939*8fb009dcSAndroid Build Coastguard Worker
940*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%rsi),%rbx
941*8fb009dcSAndroid Build Coastguard Worker	addq	%rbx,%r12
942*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
943*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm11
944*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+96-128(%rsi),%ymm13
945*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm1,%ymm1
946*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
947*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm11,%ymm11
948*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+128-128(%rsi),%ymm0
949*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
950*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
951*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+160-128(%rsi),%ymm12
952*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm3,%ymm3
953*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
954*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+192-128(%rsi),%ymm13
955*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm4,%ymm4
956*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
957*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+224-128(%rsi),%ymm0
958*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
959*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
960*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+256-128(%rsi),%ymm12
961*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
962*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
963*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+288-128(%rsi),%ymm13
964*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm7,%ymm7
965*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
966*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
967*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
968*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	24(%r13),%ymm10
969*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm9,%ymm9
970*8fb009dcSAndroid Build Coastguard Worker
971*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+32-128(%rcx),%ymm0
972*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,%rdx
973*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rcx),%rax
974*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r11
975*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+64-128(%rcx),%ymm12
976*8fb009dcSAndroid Build Coastguard Worker	imulq	8-128(%rcx),%rdx
977*8fb009dcSAndroid Build Coastguard Worker	addq	%rdx,%r12
978*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r11
979*8fb009dcSAndroid Build Coastguard Worker
980*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
981*8fb009dcSAndroid Build Coastguard Worker	vmovq	%xmm10,%rbx
982*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+96-128(%rcx),%ymm13
983*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm1,%ymm1
984*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
985*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+128-128(%rcx),%ymm0
986*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
987*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
988*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+160-128(%rcx),%ymm12
989*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm3,%ymm3
990*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
991*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+192-128(%rcx),%ymm13
992*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm4,%ymm4
993*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
994*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+224-128(%rcx),%ymm0
995*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
996*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
997*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+256-128(%rcx),%ymm12
998*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
999*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
1000*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-16+288-128(%rcx),%ymm13
1001*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm7,%ymm7
1002*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
1003*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+32-128(%rsi),%ymm0
1004*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
1005*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
1006*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+64-128(%rsi),%ymm12
1007*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm9,%ymm9
1008*8fb009dcSAndroid Build Coastguard Worker
1009*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%r12
1010*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rsi),%rbx
1011*8fb009dcSAndroid Build Coastguard Worker	addq	%rbx,%r12
1012*8fb009dcSAndroid Build Coastguard Worker
1013*8fb009dcSAndroid Build Coastguard Worker	movq	%r12,%rax
1014*8fb009dcSAndroid Build Coastguard Worker	imull	%r8d,%eax
1015*8fb009dcSAndroid Build Coastguard Worker	andl	$0x1fffffff,%eax
1016*8fb009dcSAndroid Build Coastguard Worker
1017*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
1018*8fb009dcSAndroid Build Coastguard Worker	vmovd	%eax,%xmm11
1019*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+96-128(%rsi),%ymm13
1020*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm1,%ymm1
1021*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
1022*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	%xmm11,%ymm11
1023*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+128-128(%rsi),%ymm0
1024*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm2
1025*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
1026*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+160-128(%rsi),%ymm12
1027*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm3,%ymm3
1028*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
1029*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+192-128(%rsi),%ymm13
1030*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm4,%ymm4
1031*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
1032*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+224-128(%rsi),%ymm0
1033*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
1034*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
1035*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+256-128(%rsi),%ymm12
1036*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
1037*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm0,%ymm0
1038*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+288-128(%rsi),%ymm13
1039*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm7,%ymm7
1040*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm12,%ymm12
1041*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm8
1042*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm10,%ymm13,%ymm13
1043*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	32(%r13),%ymm10
1044*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm9,%ymm9
1045*8fb009dcSAndroid Build Coastguard Worker	addq	$32,%r13
1046*8fb009dcSAndroid Build Coastguard Worker
1047*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+32-128(%rcx),%ymm0
1048*8fb009dcSAndroid Build Coastguard Worker	imulq	-128(%rcx),%rax
1049*8fb009dcSAndroid Build Coastguard Worker	addq	%rax,%r12
1050*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r12
1051*8fb009dcSAndroid Build Coastguard Worker
1052*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+64-128(%rcx),%ymm12
1053*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
1054*8fb009dcSAndroid Build Coastguard Worker	vmovq	%xmm10,%rbx
1055*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+96-128(%rcx),%ymm13
1056*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm1,%ymm0
1057*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
1058*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,(%rsp)
1059*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm2,%ymm1
1060*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+128-128(%rcx),%ymm0
1061*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
1062*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+160-128(%rcx),%ymm12
1063*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm3,%ymm2
1064*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
1065*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+192-128(%rcx),%ymm13
1066*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm4,%ymm3
1067*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
1068*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+224-128(%rcx),%ymm0
1069*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm4
1070*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
1071*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+256-128(%rcx),%ymm12
1072*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm5
1073*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm0,%ymm0
1074*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	-24+288-128(%rcx),%ymm13
1075*8fb009dcSAndroid Build Coastguard Worker	movq	%r12,%r9
1076*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm0,%ymm7,%ymm6
1077*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm12,%ymm12
1078*8fb009dcSAndroid Build Coastguard Worker	addq	(%rsp),%r9
1079*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm8,%ymm7
1080*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	%ymm11,%ymm13,%ymm13
1081*8fb009dcSAndroid Build Coastguard Worker	vmovq	%r12,%xmm12
1082*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm9,%ymm8
1083*8fb009dcSAndroid Build Coastguard Worker
1084*8fb009dcSAndroid Build Coastguard Worker	decl	%r14d
1085*8fb009dcSAndroid Build Coastguard Worker	jnz	.Loop_mul_1024
1086*8fb009dcSAndroid Build Coastguard Worker	vpaddq	(%rsp),%ymm12,%ymm0
1087*8fb009dcSAndroid Build Coastguard Worker
1088*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm0,%ymm12
1089*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm0,%ymm0
1090*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm1,%ymm13
1091*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm1,%ymm1
1092*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm2,%ymm10
1093*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
1094*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm2,%ymm2
1095*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm3,%ymm11
1096*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
1097*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm3,%ymm3
1098*8fb009dcSAndroid Build Coastguard Worker
1099*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm12,%ymm9
1100*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm10,%ymm10
1101*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
1102*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
1103*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm9,%ymm0,%ymm0
1104*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm10,%ymm13
1105*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm1,%ymm1
1106*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm10,%ymm11,%ymm10
1107*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm2,%ymm2
1108*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm14,%ymm11
1109*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm3,%ymm3
1110*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm4,%ymm4
1111*8fb009dcSAndroid Build Coastguard Worker
1112*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm0,%ymm12
1113*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm0,%ymm0
1114*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm1,%ymm13
1115*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm1,%ymm1
1116*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm2,%ymm10
1117*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
1118*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm2,%ymm2
1119*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm3,%ymm11
1120*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
1121*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm3,%ymm3
1122*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm10,%ymm10
1123*8fb009dcSAndroid Build Coastguard Worker
1124*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm12,%ymm9
1125*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
1126*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
1127*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm9,%ymm0,%ymm0
1128*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm10,%ymm13
1129*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm1,%ymm1
1130*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm10,%ymm11,%ymm10
1131*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm2,%ymm2
1132*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm14,%ymm11
1133*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm3,%ymm3
1134*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm4,%ymm4
1135*8fb009dcSAndroid Build Coastguard Worker
1136*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,0-128(%rdi)
1137*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm1,32-128(%rdi)
1138*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm2,64-128(%rdi)
1139*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm3,96-128(%rdi)
1140*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm4,%ymm12
1141*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm4,%ymm4
1142*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm5,%ymm13
1143*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm5,%ymm5
1144*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm6,%ymm10
1145*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
1146*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm6,%ymm6
1147*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm7,%ymm11
1148*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
1149*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm7,%ymm7
1150*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm8,%ymm0
1151*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm10,%ymm10
1152*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm8,%ymm8
1153*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
1154*8fb009dcSAndroid Build Coastguard Worker
1155*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm12,%ymm9
1156*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm0,%ymm0
1157*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
1158*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm9,%ymm4,%ymm4
1159*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm10,%ymm13
1160*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
1161*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm10,%ymm11,%ymm10
1162*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
1163*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm0,%ymm11
1164*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm7,%ymm7
1165*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm8,%ymm8
1166*8fb009dcSAndroid Build Coastguard Worker
1167*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm4,%ymm12
1168*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm4,%ymm4
1169*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm5,%ymm13
1170*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm5,%ymm5
1171*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm6,%ymm10
1172*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm12,%ymm12
1173*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm6,%ymm6
1174*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm7,%ymm11
1175*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm13,%ymm13
1176*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm7,%ymm7
1177*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	$29,%ymm8,%ymm0
1178*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm10,%ymm10
1179*8fb009dcSAndroid Build Coastguard Worker	vpand	%ymm15,%ymm8,%ymm8
1180*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm11,%ymm11
1181*8fb009dcSAndroid Build Coastguard Worker
1182*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm14,%ymm12,%ymm9
1183*8fb009dcSAndroid Build Coastguard Worker	vpermq	$0x93,%ymm0,%ymm0
1184*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm12,%ymm13,%ymm12
1185*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm9,%ymm4,%ymm4
1186*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm13,%ymm10,%ymm13
1187*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm12,%ymm5,%ymm5
1188*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm10,%ymm11,%ymm10
1189*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm13,%ymm6,%ymm6
1190*8fb009dcSAndroid Build Coastguard Worker	vpblendd	$3,%ymm11,%ymm0,%ymm11
1191*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm10,%ymm7,%ymm7
1192*8fb009dcSAndroid Build Coastguard Worker	vpaddq	%ymm11,%ymm8,%ymm8
1193*8fb009dcSAndroid Build Coastguard Worker
1194*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm4,128-128(%rdi)
1195*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,160-128(%rdi)
1196*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm6,192-128(%rdi)
1197*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm7,224-128(%rdi)
1198*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm8,256-128(%rdi)
1199*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1200*8fb009dcSAndroid Build Coastguard Worker
1201*8fb009dcSAndroid Build Coastguard Worker	movq	%rbp,%rax
1202*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rax
1203*8fb009dcSAndroid Build Coastguard Worker	movq	-48(%rax),%r15
1204*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r15
1205*8fb009dcSAndroid Build Coastguard Worker	movq	-40(%rax),%r14
1206*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r14
1207*8fb009dcSAndroid Build Coastguard Worker	movq	-32(%rax),%r13
1208*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r13
1209*8fb009dcSAndroid Build Coastguard Worker	movq	-24(%rax),%r12
1210*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%r12
1211*8fb009dcSAndroid Build Coastguard Worker	movq	-16(%rax),%rbp
1212*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%rbp
1213*8fb009dcSAndroid Build Coastguard Worker	movq	-8(%rax),%rbx
1214*8fb009dcSAndroid Build Coastguard Worker.cfi_restore	%rbx
1215*8fb009dcSAndroid Build Coastguard Worker	leaq	(%rax),%rsp
1216*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rsp
1217*8fb009dcSAndroid Build Coastguard Worker.Lmul_1024_epilogue:
1218*8fb009dcSAndroid Build Coastguard Worker	ret
1219*8fb009dcSAndroid Build Coastguard Worker.cfi_endproc
1220*8fb009dcSAndroid Build Coastguard Worker.size	rsaz_1024_mul_avx2,.-rsaz_1024_mul_avx2
1221*8fb009dcSAndroid Build Coastguard Worker.globl	rsaz_1024_red2norm_avx2
1222*8fb009dcSAndroid Build Coastguard Worker.hidden rsaz_1024_red2norm_avx2
1223*8fb009dcSAndroid Build Coastguard Worker.type	rsaz_1024_red2norm_avx2,@function
1224*8fb009dcSAndroid Build Coastguard Worker.align	32
1225*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_red2norm_avx2:
1226*8fb009dcSAndroid Build Coastguard Worker.cfi_startproc
1227*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1228*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rsi
1229*8fb009dcSAndroid Build Coastguard Worker	xorq	%rax,%rax
1230*8fb009dcSAndroid Build Coastguard Worker	movq	-128(%rsi),%r8
1231*8fb009dcSAndroid Build Coastguard Worker	movq	-120(%rsi),%r9
1232*8fb009dcSAndroid Build Coastguard Worker	movq	-112(%rsi),%r10
1233*8fb009dcSAndroid Build Coastguard Worker	shlq	$0,%r8
1234*8fb009dcSAndroid Build Coastguard Worker	shlq	$29,%r9
1235*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r11
1236*8fb009dcSAndroid Build Coastguard Worker	shlq	$58,%r10
1237*8fb009dcSAndroid Build Coastguard Worker	shrq	$6,%r11
1238*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1239*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1240*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1241*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r11
1242*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,0(%rdi)
1243*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%rax
1244*8fb009dcSAndroid Build Coastguard Worker	movq	-104(%rsi),%r8
1245*8fb009dcSAndroid Build Coastguard Worker	movq	-96(%rsi),%r9
1246*8fb009dcSAndroid Build Coastguard Worker	shlq	$23,%r8
1247*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r10
1248*8fb009dcSAndroid Build Coastguard Worker	shlq	$52,%r9
1249*8fb009dcSAndroid Build Coastguard Worker	shrq	$12,%r10
1250*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1251*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1252*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r10
1253*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,8(%rdi)
1254*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%rax
1255*8fb009dcSAndroid Build Coastguard Worker	movq	-88(%rsi),%r11
1256*8fb009dcSAndroid Build Coastguard Worker	movq	-80(%rsi),%r8
1257*8fb009dcSAndroid Build Coastguard Worker	shlq	$17,%r11
1258*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r9
1259*8fb009dcSAndroid Build Coastguard Worker	shlq	$46,%r8
1260*8fb009dcSAndroid Build Coastguard Worker	shrq	$18,%r9
1261*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1262*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1263*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r9
1264*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,16(%rdi)
1265*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%rax
1266*8fb009dcSAndroid Build Coastguard Worker	movq	-72(%rsi),%r10
1267*8fb009dcSAndroid Build Coastguard Worker	movq	-64(%rsi),%r11
1268*8fb009dcSAndroid Build Coastguard Worker	shlq	$11,%r10
1269*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r8
1270*8fb009dcSAndroid Build Coastguard Worker	shlq	$40,%r11
1271*8fb009dcSAndroid Build Coastguard Worker	shrq	$24,%r8
1272*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1273*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1274*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r8
1275*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,24(%rdi)
1276*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%rax
1277*8fb009dcSAndroid Build Coastguard Worker	movq	-56(%rsi),%r9
1278*8fb009dcSAndroid Build Coastguard Worker	movq	-48(%rsi),%r10
1279*8fb009dcSAndroid Build Coastguard Worker	movq	-40(%rsi),%r11
1280*8fb009dcSAndroid Build Coastguard Worker	shlq	$5,%r9
1281*8fb009dcSAndroid Build Coastguard Worker	shlq	$34,%r10
1282*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r8
1283*8fb009dcSAndroid Build Coastguard Worker	shlq	$63,%r11
1284*8fb009dcSAndroid Build Coastguard Worker	shrq	$1,%r8
1285*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1286*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1287*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1288*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r8
1289*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,32(%rdi)
1290*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%rax
1291*8fb009dcSAndroid Build Coastguard Worker	movq	-32(%rsi),%r9
1292*8fb009dcSAndroid Build Coastguard Worker	movq	-24(%rsi),%r10
1293*8fb009dcSAndroid Build Coastguard Worker	shlq	$28,%r9
1294*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r11
1295*8fb009dcSAndroid Build Coastguard Worker	shlq	$57,%r10
1296*8fb009dcSAndroid Build Coastguard Worker	shrq	$7,%r11
1297*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1298*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1299*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r11
1300*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,40(%rdi)
1301*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%rax
1302*8fb009dcSAndroid Build Coastguard Worker	movq	-16(%rsi),%r8
1303*8fb009dcSAndroid Build Coastguard Worker	movq	-8(%rsi),%r9
1304*8fb009dcSAndroid Build Coastguard Worker	shlq	$22,%r8
1305*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r10
1306*8fb009dcSAndroid Build Coastguard Worker	shlq	$51,%r9
1307*8fb009dcSAndroid Build Coastguard Worker	shrq	$13,%r10
1308*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1309*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1310*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r10
1311*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,48(%rdi)
1312*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%rax
1313*8fb009dcSAndroid Build Coastguard Worker	movq	0(%rsi),%r11
1314*8fb009dcSAndroid Build Coastguard Worker	movq	8(%rsi),%r8
1315*8fb009dcSAndroid Build Coastguard Worker	shlq	$16,%r11
1316*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r9
1317*8fb009dcSAndroid Build Coastguard Worker	shlq	$45,%r8
1318*8fb009dcSAndroid Build Coastguard Worker	shrq	$19,%r9
1319*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1320*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1321*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r9
1322*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,56(%rdi)
1323*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%rax
1324*8fb009dcSAndroid Build Coastguard Worker	movq	16(%rsi),%r10
1325*8fb009dcSAndroid Build Coastguard Worker	movq	24(%rsi),%r11
1326*8fb009dcSAndroid Build Coastguard Worker	shlq	$10,%r10
1327*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r8
1328*8fb009dcSAndroid Build Coastguard Worker	shlq	$39,%r11
1329*8fb009dcSAndroid Build Coastguard Worker	shrq	$25,%r8
1330*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1331*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1332*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r8
1333*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,64(%rdi)
1334*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%rax
1335*8fb009dcSAndroid Build Coastguard Worker	movq	32(%rsi),%r9
1336*8fb009dcSAndroid Build Coastguard Worker	movq	40(%rsi),%r10
1337*8fb009dcSAndroid Build Coastguard Worker	movq	48(%rsi),%r11
1338*8fb009dcSAndroid Build Coastguard Worker	shlq	$4,%r9
1339*8fb009dcSAndroid Build Coastguard Worker	shlq	$33,%r10
1340*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r8
1341*8fb009dcSAndroid Build Coastguard Worker	shlq	$62,%r11
1342*8fb009dcSAndroid Build Coastguard Worker	shrq	$2,%r8
1343*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1344*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1345*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1346*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r8
1347*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,72(%rdi)
1348*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%rax
1349*8fb009dcSAndroid Build Coastguard Worker	movq	56(%rsi),%r9
1350*8fb009dcSAndroid Build Coastguard Worker	movq	64(%rsi),%r10
1351*8fb009dcSAndroid Build Coastguard Worker	shlq	$27,%r9
1352*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r11
1353*8fb009dcSAndroid Build Coastguard Worker	shlq	$56,%r10
1354*8fb009dcSAndroid Build Coastguard Worker	shrq	$8,%r11
1355*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1356*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1357*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r11
1358*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,80(%rdi)
1359*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%rax
1360*8fb009dcSAndroid Build Coastguard Worker	movq	72(%rsi),%r8
1361*8fb009dcSAndroid Build Coastguard Worker	movq	80(%rsi),%r9
1362*8fb009dcSAndroid Build Coastguard Worker	shlq	$21,%r8
1363*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r10
1364*8fb009dcSAndroid Build Coastguard Worker	shlq	$50,%r9
1365*8fb009dcSAndroid Build Coastguard Worker	shrq	$14,%r10
1366*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1367*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1368*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r10
1369*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,88(%rdi)
1370*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%rax
1371*8fb009dcSAndroid Build Coastguard Worker	movq	88(%rsi),%r11
1372*8fb009dcSAndroid Build Coastguard Worker	movq	96(%rsi),%r8
1373*8fb009dcSAndroid Build Coastguard Worker	shlq	$15,%r11
1374*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r9
1375*8fb009dcSAndroid Build Coastguard Worker	shlq	$44,%r8
1376*8fb009dcSAndroid Build Coastguard Worker	shrq	$20,%r9
1377*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1378*8fb009dcSAndroid Build Coastguard Worker	addq	%r8,%rax
1379*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r9
1380*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,96(%rdi)
1381*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%rax
1382*8fb009dcSAndroid Build Coastguard Worker	movq	104(%rsi),%r10
1383*8fb009dcSAndroid Build Coastguard Worker	movq	112(%rsi),%r11
1384*8fb009dcSAndroid Build Coastguard Worker	shlq	$9,%r10
1385*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r8
1386*8fb009dcSAndroid Build Coastguard Worker	shlq	$38,%r11
1387*8fb009dcSAndroid Build Coastguard Worker	shrq	$26,%r8
1388*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1389*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1390*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r8
1391*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,104(%rdi)
1392*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%rax
1393*8fb009dcSAndroid Build Coastguard Worker	movq	120(%rsi),%r9
1394*8fb009dcSAndroid Build Coastguard Worker	movq	128(%rsi),%r10
1395*8fb009dcSAndroid Build Coastguard Worker	movq	136(%rsi),%r11
1396*8fb009dcSAndroid Build Coastguard Worker	shlq	$3,%r9
1397*8fb009dcSAndroid Build Coastguard Worker	shlq	$32,%r10
1398*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r8
1399*8fb009dcSAndroid Build Coastguard Worker	shlq	$61,%r11
1400*8fb009dcSAndroid Build Coastguard Worker	shrq	$3,%r8
1401*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1402*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1403*8fb009dcSAndroid Build Coastguard Worker	addq	%r11,%rax
1404*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r8
1405*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,112(%rdi)
1406*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%rax
1407*8fb009dcSAndroid Build Coastguard Worker	movq	144(%rsi),%r9
1408*8fb009dcSAndroid Build Coastguard Worker	movq	152(%rsi),%r10
1409*8fb009dcSAndroid Build Coastguard Worker	shlq	$26,%r9
1410*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r11
1411*8fb009dcSAndroid Build Coastguard Worker	shlq	$55,%r10
1412*8fb009dcSAndroid Build Coastguard Worker	shrq	$9,%r11
1413*8fb009dcSAndroid Build Coastguard Worker	addq	%r9,%rax
1414*8fb009dcSAndroid Build Coastguard Worker	addq	%r10,%rax
1415*8fb009dcSAndroid Build Coastguard Worker	adcq	$0,%r11
1416*8fb009dcSAndroid Build Coastguard Worker	movq	%rax,120(%rdi)
1417*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%rax
1418*8fb009dcSAndroid Build Coastguard Worker	ret
1419*8fb009dcSAndroid Build Coastguard Worker.cfi_endproc
1420*8fb009dcSAndroid Build Coastguard Worker.size	rsaz_1024_red2norm_avx2,.-rsaz_1024_red2norm_avx2
1421*8fb009dcSAndroid Build Coastguard Worker
1422*8fb009dcSAndroid Build Coastguard Worker.globl	rsaz_1024_norm2red_avx2
1423*8fb009dcSAndroid Build Coastguard Worker.hidden rsaz_1024_norm2red_avx2
1424*8fb009dcSAndroid Build Coastguard Worker.type	rsaz_1024_norm2red_avx2,@function
1425*8fb009dcSAndroid Build Coastguard Worker.align	32
1426*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_norm2red_avx2:
1427*8fb009dcSAndroid Build Coastguard Worker.cfi_startproc
1428*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1429*8fb009dcSAndroid Build Coastguard Worker	subq	$-128,%rdi
1430*8fb009dcSAndroid Build Coastguard Worker	movq	(%rsi),%r8
1431*8fb009dcSAndroid Build Coastguard Worker	movl	$0x1fffffff,%eax
1432*8fb009dcSAndroid Build Coastguard Worker	movq	8(%rsi),%r9
1433*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r11
1434*8fb009dcSAndroid Build Coastguard Worker	shrq	$0,%r11
1435*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1436*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,-128(%rdi)
1437*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r10
1438*8fb009dcSAndroid Build Coastguard Worker	shrq	$29,%r10
1439*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1440*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,-120(%rdi)
1441*8fb009dcSAndroid Build Coastguard Worker	shrdq	$58,%r9,%r8
1442*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1443*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,-112(%rdi)
1444*8fb009dcSAndroid Build Coastguard Worker	movq	16(%rsi),%r10
1445*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r8
1446*8fb009dcSAndroid Build Coastguard Worker	shrq	$23,%r8
1447*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1448*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,-104(%rdi)
1449*8fb009dcSAndroid Build Coastguard Worker	shrdq	$52,%r10,%r9
1450*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1451*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,-96(%rdi)
1452*8fb009dcSAndroid Build Coastguard Worker	movq	24(%rsi),%r11
1453*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r9
1454*8fb009dcSAndroid Build Coastguard Worker	shrq	$17,%r9
1455*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1456*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,-88(%rdi)
1457*8fb009dcSAndroid Build Coastguard Worker	shrdq	$46,%r11,%r10
1458*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1459*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,-80(%rdi)
1460*8fb009dcSAndroid Build Coastguard Worker	movq	32(%rsi),%r8
1461*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r10
1462*8fb009dcSAndroid Build Coastguard Worker	shrq	$11,%r10
1463*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1464*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,-72(%rdi)
1465*8fb009dcSAndroid Build Coastguard Worker	shrdq	$40,%r8,%r11
1466*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1467*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,-64(%rdi)
1468*8fb009dcSAndroid Build Coastguard Worker	movq	40(%rsi),%r9
1469*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r11
1470*8fb009dcSAndroid Build Coastguard Worker	shrq	$5,%r11
1471*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1472*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,-56(%rdi)
1473*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r10
1474*8fb009dcSAndroid Build Coastguard Worker	shrq	$34,%r10
1475*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1476*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,-48(%rdi)
1477*8fb009dcSAndroid Build Coastguard Worker	shrdq	$63,%r9,%r8
1478*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1479*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,-40(%rdi)
1480*8fb009dcSAndroid Build Coastguard Worker	movq	48(%rsi),%r10
1481*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r8
1482*8fb009dcSAndroid Build Coastguard Worker	shrq	$28,%r8
1483*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1484*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,-32(%rdi)
1485*8fb009dcSAndroid Build Coastguard Worker	shrdq	$57,%r10,%r9
1486*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1487*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,-24(%rdi)
1488*8fb009dcSAndroid Build Coastguard Worker	movq	56(%rsi),%r11
1489*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r9
1490*8fb009dcSAndroid Build Coastguard Worker	shrq	$22,%r9
1491*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1492*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,-16(%rdi)
1493*8fb009dcSAndroid Build Coastguard Worker	shrdq	$51,%r11,%r10
1494*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1495*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,-8(%rdi)
1496*8fb009dcSAndroid Build Coastguard Worker	movq	64(%rsi),%r8
1497*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r10
1498*8fb009dcSAndroid Build Coastguard Worker	shrq	$16,%r10
1499*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1500*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,0(%rdi)
1501*8fb009dcSAndroid Build Coastguard Worker	shrdq	$45,%r8,%r11
1502*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1503*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,8(%rdi)
1504*8fb009dcSAndroid Build Coastguard Worker	movq	72(%rsi),%r9
1505*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r11
1506*8fb009dcSAndroid Build Coastguard Worker	shrq	$10,%r11
1507*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1508*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,16(%rdi)
1509*8fb009dcSAndroid Build Coastguard Worker	shrdq	$39,%r9,%r8
1510*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1511*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,24(%rdi)
1512*8fb009dcSAndroid Build Coastguard Worker	movq	80(%rsi),%r10
1513*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r8
1514*8fb009dcSAndroid Build Coastguard Worker	shrq	$4,%r8
1515*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1516*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,32(%rdi)
1517*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r11
1518*8fb009dcSAndroid Build Coastguard Worker	shrq	$33,%r11
1519*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1520*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,40(%rdi)
1521*8fb009dcSAndroid Build Coastguard Worker	shrdq	$62,%r10,%r9
1522*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1523*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,48(%rdi)
1524*8fb009dcSAndroid Build Coastguard Worker	movq	88(%rsi),%r11
1525*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r9
1526*8fb009dcSAndroid Build Coastguard Worker	shrq	$27,%r9
1527*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1528*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,56(%rdi)
1529*8fb009dcSAndroid Build Coastguard Worker	shrdq	$56,%r11,%r10
1530*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1531*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,64(%rdi)
1532*8fb009dcSAndroid Build Coastguard Worker	movq	96(%rsi),%r8
1533*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r10
1534*8fb009dcSAndroid Build Coastguard Worker	shrq	$21,%r10
1535*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1536*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,72(%rdi)
1537*8fb009dcSAndroid Build Coastguard Worker	shrdq	$50,%r8,%r11
1538*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1539*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,80(%rdi)
1540*8fb009dcSAndroid Build Coastguard Worker	movq	104(%rsi),%r9
1541*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,%r11
1542*8fb009dcSAndroid Build Coastguard Worker	shrq	$15,%r11
1543*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1544*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,88(%rdi)
1545*8fb009dcSAndroid Build Coastguard Worker	shrdq	$44,%r9,%r8
1546*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1547*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,96(%rdi)
1548*8fb009dcSAndroid Build Coastguard Worker	movq	112(%rsi),%r10
1549*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,%r8
1550*8fb009dcSAndroid Build Coastguard Worker	shrq	$9,%r8
1551*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1552*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,104(%rdi)
1553*8fb009dcSAndroid Build Coastguard Worker	shrdq	$38,%r10,%r9
1554*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1555*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,112(%rdi)
1556*8fb009dcSAndroid Build Coastguard Worker	movq	120(%rsi),%r11
1557*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r9
1558*8fb009dcSAndroid Build Coastguard Worker	shrq	$3,%r9
1559*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r9
1560*8fb009dcSAndroid Build Coastguard Worker	movq	%r9,120(%rdi)
1561*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,%r8
1562*8fb009dcSAndroid Build Coastguard Worker	shrq	$32,%r8
1563*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r8
1564*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,128(%rdi)
1565*8fb009dcSAndroid Build Coastguard Worker	shrdq	$61,%r11,%r10
1566*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1567*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,136(%rdi)
1568*8fb009dcSAndroid Build Coastguard Worker	xorq	%r8,%r8
1569*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,%r10
1570*8fb009dcSAndroid Build Coastguard Worker	shrq	$26,%r10
1571*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r10
1572*8fb009dcSAndroid Build Coastguard Worker	movq	%r10,144(%rdi)
1573*8fb009dcSAndroid Build Coastguard Worker	shrdq	$55,%r8,%r11
1574*8fb009dcSAndroid Build Coastguard Worker	andq	%rax,%r11
1575*8fb009dcSAndroid Build Coastguard Worker	movq	%r11,152(%rdi)
1576*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,160(%rdi)
1577*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,168(%rdi)
1578*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,176(%rdi)
1579*8fb009dcSAndroid Build Coastguard Worker	movq	%r8,184(%rdi)
1580*8fb009dcSAndroid Build Coastguard Worker	ret
1581*8fb009dcSAndroid Build Coastguard Worker.cfi_endproc
1582*8fb009dcSAndroid Build Coastguard Worker.size	rsaz_1024_norm2red_avx2,.-rsaz_1024_norm2red_avx2
1583*8fb009dcSAndroid Build Coastguard Worker.globl	rsaz_1024_scatter5_avx2
1584*8fb009dcSAndroid Build Coastguard Worker.hidden rsaz_1024_scatter5_avx2
1585*8fb009dcSAndroid Build Coastguard Worker.type	rsaz_1024_scatter5_avx2,@function
1586*8fb009dcSAndroid Build Coastguard Worker.align	32
1587*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_scatter5_avx2:
1588*8fb009dcSAndroid Build Coastguard Worker.cfi_startproc
1589*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1590*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1591*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	.Lscatter_permd(%rip),%ymm5
1592*8fb009dcSAndroid Build Coastguard Worker	shll	$4,%edx
1593*8fb009dcSAndroid Build Coastguard Worker	leaq	(%rdi,%rdx,1),%rdi
1594*8fb009dcSAndroid Build Coastguard Worker	movl	$9,%eax
1595*8fb009dcSAndroid Build Coastguard Worker	jmp	.Loop_scatter_1024
1596*8fb009dcSAndroid Build Coastguard Worker
1597*8fb009dcSAndroid Build Coastguard Worker.align	32
1598*8fb009dcSAndroid Build Coastguard Worker.Loop_scatter_1024:
1599*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	(%rsi),%ymm0
1600*8fb009dcSAndroid Build Coastguard Worker	leaq	32(%rsi),%rsi
1601*8fb009dcSAndroid Build Coastguard Worker	vpermd	%ymm0,%ymm5,%ymm0
1602*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%xmm0,(%rdi)
1603*8fb009dcSAndroid Build Coastguard Worker	leaq	512(%rdi),%rdi
1604*8fb009dcSAndroid Build Coastguard Worker	decl	%eax
1605*8fb009dcSAndroid Build Coastguard Worker	jnz	.Loop_scatter_1024
1606*8fb009dcSAndroid Build Coastguard Worker
1607*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1608*8fb009dcSAndroid Build Coastguard Worker	ret
1609*8fb009dcSAndroid Build Coastguard Worker.cfi_endproc
1610*8fb009dcSAndroid Build Coastguard Worker.size	rsaz_1024_scatter5_avx2,.-rsaz_1024_scatter5_avx2
1611*8fb009dcSAndroid Build Coastguard Worker
1612*8fb009dcSAndroid Build Coastguard Worker.globl	rsaz_1024_gather5_avx2
1613*8fb009dcSAndroid Build Coastguard Worker.hidden rsaz_1024_gather5_avx2
1614*8fb009dcSAndroid Build Coastguard Worker.type	rsaz_1024_gather5_avx2,@function
1615*8fb009dcSAndroid Build Coastguard Worker.align	32
1616*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_gather5_avx2:
1617*8fb009dcSAndroid Build Coastguard Worker.cfi_startproc
1618*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1619*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1620*8fb009dcSAndroid Build Coastguard Worker	movq	%rsp,%r11
1621*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%r11
1622*8fb009dcSAndroid Build Coastguard Worker	leaq	-256(%rsp),%rsp
1623*8fb009dcSAndroid Build Coastguard Worker	andq	$-32,%rsp
1624*8fb009dcSAndroid Build Coastguard Worker	leaq	.Linc(%rip),%r10
1625*8fb009dcSAndroid Build Coastguard Worker	leaq	-128(%rsp),%rax
1626*8fb009dcSAndroid Build Coastguard Worker
1627*8fb009dcSAndroid Build Coastguard Worker	vmovd	%edx,%xmm4
1628*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	(%r10),%ymm0
1629*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	32(%r10),%ymm1
1630*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	64(%r10),%ymm5
1631*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastd	%xmm4,%ymm4
1632*8fb009dcSAndroid Build Coastguard Worker
1633*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm0,%ymm2
1634*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm0,%ymm0
1635*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm1,%ymm3
1636*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm1,%ymm1
1637*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm0,0+128(%rax)
1638*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm2,%ymm0
1639*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm2,%ymm2
1640*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm1,32+128(%rax)
1641*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm3,%ymm1
1642*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm3,%ymm3
1643*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm2,64+128(%rax)
1644*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm0,%ymm2
1645*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm0,%ymm0
1646*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm3,96+128(%rax)
1647*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm1,%ymm3
1648*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm1,%ymm1
1649*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm0,128+128(%rax)
1650*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm2,%ymm8
1651*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm2,%ymm2
1652*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm1,160+128(%rax)
1653*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm3,%ymm9
1654*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm3,%ymm3
1655*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm2,192+128(%rax)
1656*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm8,%ymm10
1657*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm8,%ymm8
1658*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	%ymm3,224+128(%rax)
1659*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm9,%ymm11
1660*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm9,%ymm9
1661*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm10,%ymm12
1662*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm10,%ymm10
1663*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm11,%ymm13
1664*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm11,%ymm11
1665*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm12,%ymm14
1666*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm12,%ymm12
1667*8fb009dcSAndroid Build Coastguard Worker	vpaddd	%ymm5,%ymm13,%ymm15
1668*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm13,%ymm13
1669*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm14,%ymm14
1670*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	%ymm4,%ymm15,%ymm15
1671*8fb009dcSAndroid Build Coastguard Worker
1672*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	-32(%r10),%ymm7
1673*8fb009dcSAndroid Build Coastguard Worker	leaq	128(%rsi),%rsi
1674*8fb009dcSAndroid Build Coastguard Worker	movl	$9,%edx
1675*8fb009dcSAndroid Build Coastguard Worker
1676*8fb009dcSAndroid Build Coastguard Worker.Loop_gather_1024:
1677*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	0-128(%rsi),%ymm0
1678*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	32-128(%rsi),%ymm1
1679*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	64-128(%rsi),%ymm2
1680*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	96-128(%rsi),%ymm3
1681*8fb009dcSAndroid Build Coastguard Worker	vpand	0+128(%rax),%ymm0,%ymm0
1682*8fb009dcSAndroid Build Coastguard Worker	vpand	32+128(%rax),%ymm1,%ymm1
1683*8fb009dcSAndroid Build Coastguard Worker	vpand	64+128(%rax),%ymm2,%ymm2
1684*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm0,%ymm1,%ymm4
1685*8fb009dcSAndroid Build Coastguard Worker	vpand	96+128(%rax),%ymm3,%ymm3
1686*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	128-128(%rsi),%ymm0
1687*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	160-128(%rsi),%ymm1
1688*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm2,%ymm3,%ymm5
1689*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	192-128(%rsi),%ymm2
1690*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	224-128(%rsi),%ymm3
1691*8fb009dcSAndroid Build Coastguard Worker	vpand	128+128(%rax),%ymm0,%ymm0
1692*8fb009dcSAndroid Build Coastguard Worker	vpand	160+128(%rax),%ymm1,%ymm1
1693*8fb009dcSAndroid Build Coastguard Worker	vpand	192+128(%rax),%ymm2,%ymm2
1694*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm0,%ymm4,%ymm4
1695*8fb009dcSAndroid Build Coastguard Worker	vpand	224+128(%rax),%ymm3,%ymm3
1696*8fb009dcSAndroid Build Coastguard Worker	vpand	256-128(%rsi),%ymm8,%ymm0
1697*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm1,%ymm5,%ymm5
1698*8fb009dcSAndroid Build Coastguard Worker	vpand	288-128(%rsi),%ymm9,%ymm1
1699*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm2,%ymm4,%ymm4
1700*8fb009dcSAndroid Build Coastguard Worker	vpand	320-128(%rsi),%ymm10,%ymm2
1701*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm3,%ymm5,%ymm5
1702*8fb009dcSAndroid Build Coastguard Worker	vpand	352-128(%rsi),%ymm11,%ymm3
1703*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm0,%ymm4,%ymm4
1704*8fb009dcSAndroid Build Coastguard Worker	vpand	384-128(%rsi),%ymm12,%ymm0
1705*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm1,%ymm5,%ymm5
1706*8fb009dcSAndroid Build Coastguard Worker	vpand	416-128(%rsi),%ymm13,%ymm1
1707*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm2,%ymm4,%ymm4
1708*8fb009dcSAndroid Build Coastguard Worker	vpand	448-128(%rsi),%ymm14,%ymm2
1709*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm3,%ymm5,%ymm5
1710*8fb009dcSAndroid Build Coastguard Worker	vpand	480-128(%rsi),%ymm15,%ymm3
1711*8fb009dcSAndroid Build Coastguard Worker	leaq	512(%rsi),%rsi
1712*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm0,%ymm4,%ymm4
1713*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm1,%ymm5,%ymm5
1714*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm2,%ymm4,%ymm4
1715*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm3,%ymm5,%ymm5
1716*8fb009dcSAndroid Build Coastguard Worker
1717*8fb009dcSAndroid Build Coastguard Worker	vpor	%ymm5,%ymm4,%ymm4
1718*8fb009dcSAndroid Build Coastguard Worker	vextracti128	$1,%ymm4,%xmm5
1719*8fb009dcSAndroid Build Coastguard Worker	vpor	%xmm4,%xmm5,%xmm5
1720*8fb009dcSAndroid Build Coastguard Worker	vpermd	%ymm5,%ymm7,%ymm5
1721*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm5,(%rdi)
1722*8fb009dcSAndroid Build Coastguard Worker	leaq	32(%rdi),%rdi
1723*8fb009dcSAndroid Build Coastguard Worker	decl	%edx
1724*8fb009dcSAndroid Build Coastguard Worker	jnz	.Loop_gather_1024
1725*8fb009dcSAndroid Build Coastguard Worker
1726*8fb009dcSAndroid Build Coastguard Worker	vpxor	%ymm0,%ymm0,%ymm0
1727*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	%ymm0,(%rdi)
1728*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1729*8fb009dcSAndroid Build Coastguard Worker	leaq	(%r11),%rsp
1730*8fb009dcSAndroid Build Coastguard Worker.cfi_def_cfa_register	%rsp
1731*8fb009dcSAndroid Build Coastguard Worker	ret
1732*8fb009dcSAndroid Build Coastguard Worker.cfi_endproc
1733*8fb009dcSAndroid Build Coastguard Worker.LSEH_end_rsaz_1024_gather5:
1734*8fb009dcSAndroid Build Coastguard Worker.size	rsaz_1024_gather5_avx2,.-rsaz_1024_gather5_avx2
1735*8fb009dcSAndroid Build Coastguard Worker.section	.rodata
1736*8fb009dcSAndroid Build Coastguard Worker.align	64
1737*8fb009dcSAndroid Build Coastguard Worker.Land_mask:
1738*8fb009dcSAndroid Build Coastguard Worker.quad	0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff
1739*8fb009dcSAndroid Build Coastguard Worker.Lscatter_permd:
1740*8fb009dcSAndroid Build Coastguard Worker.long	0,2,4,6,7,7,7,7
1741*8fb009dcSAndroid Build Coastguard Worker.Lgather_permd:
1742*8fb009dcSAndroid Build Coastguard Worker.long	0,7,1,7,2,7,3,7
1743*8fb009dcSAndroid Build Coastguard Worker.Linc:
1744*8fb009dcSAndroid Build Coastguard Worker.long	0,0,0,0, 1,1,1,1
1745*8fb009dcSAndroid Build Coastguard Worker.long	2,2,2,2, 3,3,3,3
1746*8fb009dcSAndroid Build Coastguard Worker.long	4,4,4,4, 4,4,4,4
1747*8fb009dcSAndroid Build Coastguard Worker.align	64
1748*8fb009dcSAndroid Build Coastguard Worker.text
1749*8fb009dcSAndroid Build Coastguard Worker#endif
1750