xref: /aosp_15_r20/external/boringssl/src/gen/bcm/rsaz-avx2-win.asm (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%ifidn __OUTPUT_FORMAT__, win64
5*8fb009dcSAndroid Build Coastguard Workerdefault	rel
6*8fb009dcSAndroid Build Coastguard Worker%define XMMWORD
7*8fb009dcSAndroid Build Coastguard Worker%define YMMWORD
8*8fb009dcSAndroid Build Coastguard Worker%define ZMMWORD
9*8fb009dcSAndroid Build Coastguard Worker%define _CET_ENDBR
10*8fb009dcSAndroid Build Coastguard Worker
11*8fb009dcSAndroid Build Coastguard Worker%ifdef BORINGSSL_PREFIX
12*8fb009dcSAndroid Build Coastguard Worker%include "boringssl_prefix_symbols_nasm.inc"
13*8fb009dcSAndroid Build Coastguard Worker%endif
14*8fb009dcSAndroid Build Coastguard Workersection	.text code align=64
15*8fb009dcSAndroid Build Coastguard Worker
16*8fb009dcSAndroid Build Coastguard Worker
17*8fb009dcSAndroid Build Coastguard Workerglobal	rsaz_1024_sqr_avx2
18*8fb009dcSAndroid Build Coastguard Worker
19*8fb009dcSAndroid Build Coastguard WorkerALIGN	64
20*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_sqr_avx2:
21*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[8+rsp],rdi	;WIN64 prologue
22*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[16+rsp],rsi
23*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rsp
24*8fb009dcSAndroid Build Coastguard Worker$L$SEH_begin_rsaz_1024_sqr_avx2:
25*8fb009dcSAndroid Build Coastguard Worker	mov	rdi,rcx
26*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,rdx
27*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,r8
28*8fb009dcSAndroid Build Coastguard Worker	mov	rcx,r9
29*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[40+rsp]
30*8fb009dcSAndroid Build Coastguard Worker
31*8fb009dcSAndroid Build Coastguard Worker
32*8fb009dcSAndroid Build Coastguard Worker
33*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
34*8fb009dcSAndroid Build Coastguard Worker	lea	rax,[rsp]
35*8fb009dcSAndroid Build Coastguard Worker
36*8fb009dcSAndroid Build Coastguard Worker	push	rbx
37*8fb009dcSAndroid Build Coastguard Worker
38*8fb009dcSAndroid Build Coastguard Worker	push	rbp
39*8fb009dcSAndroid Build Coastguard Worker
40*8fb009dcSAndroid Build Coastguard Worker	push	r12
41*8fb009dcSAndroid Build Coastguard Worker
42*8fb009dcSAndroid Build Coastguard Worker	push	r13
43*8fb009dcSAndroid Build Coastguard Worker
44*8fb009dcSAndroid Build Coastguard Worker	push	r14
45*8fb009dcSAndroid Build Coastguard Worker
46*8fb009dcSAndroid Build Coastguard Worker	push	r15
47*8fb009dcSAndroid Build Coastguard Worker
48*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
49*8fb009dcSAndroid Build Coastguard Worker	lea	rsp,[((-168))+rsp]
50*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-216)+rax],xmm6
51*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-200)+rax],xmm7
52*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-184)+rax],xmm8
53*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-168)+rax],xmm9
54*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-152)+rax],xmm10
55*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-136)+rax],xmm11
56*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-120)+rax],xmm12
57*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-104)+rax],xmm13
58*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-88)+rax],xmm14
59*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-72)+rax],xmm15
60*8fb009dcSAndroid Build Coastguard Worker$L$sqr_1024_body:
61*8fb009dcSAndroid Build Coastguard Worker	mov	rbp,rax
62*8fb009dcSAndroid Build Coastguard Worker
63*8fb009dcSAndroid Build Coastguard Worker	mov	r13,rdx
64*8fb009dcSAndroid Build Coastguard Worker	sub	rsp,832
65*8fb009dcSAndroid Build Coastguard Worker	mov	r15,r13
66*8fb009dcSAndroid Build Coastguard Worker	sub	rdi,-128
67*8fb009dcSAndroid Build Coastguard Worker	sub	rsi,-128
68*8fb009dcSAndroid Build Coastguard Worker	sub	r13,-128
69*8fb009dcSAndroid Build Coastguard Worker
70*8fb009dcSAndroid Build Coastguard Worker	and	r15,4095
71*8fb009dcSAndroid Build Coastguard Worker	add	r15,32*10
72*8fb009dcSAndroid Build Coastguard Worker	shr	r15,12
73*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm9,ymm9,ymm9
74*8fb009dcSAndroid Build Coastguard Worker	jz	NEAR $L$sqr_1024_no_n_copy
75*8fb009dcSAndroid Build Coastguard Worker
76*8fb009dcSAndroid Build Coastguard Worker
77*8fb009dcSAndroid Build Coastguard Worker
78*8fb009dcSAndroid Build Coastguard Worker
79*8fb009dcSAndroid Build Coastguard Worker
80*8fb009dcSAndroid Build Coastguard Worker	sub	rsp,32*10
81*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((0-128))+r13]
82*8fb009dcSAndroid Build Coastguard Worker	and	rsp,-2048
83*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm1,YMMWORD[((32-128))+r13]
84*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm2,YMMWORD[((64-128))+r13]
85*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm3,YMMWORD[((96-128))+r13]
86*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm4,YMMWORD[((128-128))+r13]
87*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm5,YMMWORD[((160-128))+r13]
88*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm6,YMMWORD[((192-128))+r13]
89*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm7,YMMWORD[((224-128))+r13]
90*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm8,YMMWORD[((256-128))+r13]
91*8fb009dcSAndroid Build Coastguard Worker	lea	r13,[((832+128))+rsp]
92*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(0-128)+r13],ymm0
93*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(32-128)+r13],ymm1
94*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(64-128)+r13],ymm2
95*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(96-128)+r13],ymm3
96*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(128-128)+r13],ymm4
97*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(160-128)+r13],ymm5
98*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(192-128)+r13],ymm6
99*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(224-128)+r13],ymm7
100*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(256-128)+r13],ymm8
101*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(288-128)+r13],ymm9
102*8fb009dcSAndroid Build Coastguard Worker
103*8fb009dcSAndroid Build Coastguard Worker$L$sqr_1024_no_n_copy:
104*8fb009dcSAndroid Build Coastguard Worker	and	rsp,-1024
105*8fb009dcSAndroid Build Coastguard Worker
106*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm1,YMMWORD[((32-128))+rsi]
107*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm2,YMMWORD[((64-128))+rsi]
108*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm3,YMMWORD[((96-128))+rsi]
109*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm4,YMMWORD[((128-128))+rsi]
110*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm5,YMMWORD[((160-128))+rsi]
111*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm6,YMMWORD[((192-128))+rsi]
112*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm7,YMMWORD[((224-128))+rsi]
113*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm8,YMMWORD[((256-128))+rsi]
114*8fb009dcSAndroid Build Coastguard Worker
115*8fb009dcSAndroid Build Coastguard Worker	lea	rbx,[192+rsp]
116*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm15,YMMWORD[$L$and_mask]
117*8fb009dcSAndroid Build Coastguard Worker	jmp	NEAR $L$OOP_GRANDE_SQR_1024
118*8fb009dcSAndroid Build Coastguard Worker
119*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
120*8fb009dcSAndroid Build Coastguard Worker$L$OOP_GRANDE_SQR_1024:
121*8fb009dcSAndroid Build Coastguard Worker	lea	r9,[((576+128))+rsp]
122*8fb009dcSAndroid Build Coastguard Worker	lea	r12,[448+rsp]
123*8fb009dcSAndroid Build Coastguard Worker
124*8fb009dcSAndroid Build Coastguard Worker
125*8fb009dcSAndroid Build Coastguard Worker
126*8fb009dcSAndroid Build Coastguard Worker
127*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm1
128*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[((0-128))+rsi]
129*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm2
130*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(0-128)+r9],ymm1
131*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm3
132*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(32-128)+r9],ymm2
133*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm4
134*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(64-128)+r9],ymm3
135*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm5
136*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(96-128)+r9],ymm4
137*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm6
138*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(128-128)+r9],ymm5
139*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm7
140*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(160-128)+r9],ymm6
141*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm8
142*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(192-128)+r9],ymm7
143*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm9,ymm9,ymm9
144*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(224-128)+r9],ymm8
145*8fb009dcSAndroid Build Coastguard Worker
146*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm10,YMMWORD[((0-128))+rsi]
147*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,QWORD[((32-128))+rsi]
148*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(288-192)+rbx],ymm9
149*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm1,ymm1,ymm10
150*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(320-448)+r12],ymm9
151*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm2,ymm2,ymm10
152*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(352-448)+r12],ymm9
153*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm3,ymm3,ymm10
154*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(384-448)+r12],ymm9
155*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm4,ymm4,ymm10
156*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(416-448)+r12],ymm9
157*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm5,ymm5,ymm10
158*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(448-448)+r12],ymm9
159*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm6,ymm6,ymm10
160*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(480-448)+r12],ymm9
161*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm7,ymm7,ymm10
162*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(512-448)+r12],ymm9
163*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm8,ymm8,ymm10
164*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[((64-128))+rsi]
165*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(544-448)+r12],ymm9
166*8fb009dcSAndroid Build Coastguard Worker
167*8fb009dcSAndroid Build Coastguard Worker	mov	r15,rsi
168*8fb009dcSAndroid Build Coastguard Worker	mov	r14d,4
169*8fb009dcSAndroid Build Coastguard Worker	jmp	NEAR $L$sqr_entry_1024
170*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
171*8fb009dcSAndroid Build Coastguard Worker$L$OOP_SQR_1024:
172*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,QWORD[((32-128))+r15]
173*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm10,YMMWORD[((0-128))+rsi]
174*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,YMMWORD[((0-192))+rbx]
175*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm1,ymm10,YMMWORD[((0-128))+r9]
176*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,YMMWORD[((32-192))+rbx]
177*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm2,ymm10,YMMWORD[((32-128))+r9]
178*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,YMMWORD[((64-192))+rbx]
179*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm3,ymm10,YMMWORD[((64-128))+r9]
180*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,YMMWORD[((96-192))+rbx]
181*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm4,ymm10,YMMWORD[((96-128))+r9]
182*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,YMMWORD[((128-192))+rbx]
183*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm5,ymm10,YMMWORD[((128-128))+r9]
184*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,YMMWORD[((160-192))+rbx]
185*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm6,ymm10,YMMWORD[((160-128))+r9]
186*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,YMMWORD[((192-192))+rbx]
187*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm7,ymm10,YMMWORD[((192-128))+r9]
188*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,YMMWORD[((224-192))+rbx]
189*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm8,ymm10,YMMWORD[((224-128))+r9]
190*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[((64-128))+r15]
191*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,YMMWORD[((256-192))+rbx]
192*8fb009dcSAndroid Build Coastguard Worker$L$sqr_entry_1024:
193*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(0-192)+rbx],ymm0
194*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(32-192)+rbx],ymm1
195*8fb009dcSAndroid Build Coastguard Worker
196*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((32-128))+rsi]
197*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
198*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm11,YMMWORD[((32-128))+r9]
199*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm14
200*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((64-128))+r9]
201*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm13
202*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((96-128))+r9]
203*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
204*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm11,YMMWORD[((128-128))+r9]
205*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm14
206*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((160-128))+r9]
207*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm13
208*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((192-128))+r9]
209*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
210*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm11,YMMWORD[((224-128))+r9]
211*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,QWORD[((96-128))+r15]
212*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,YMMWORD[((288-192))+rbx]
213*8fb009dcSAndroid Build Coastguard Worker
214*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(64-192)+rbx],ymm2
215*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(96-192)+rbx],ymm3
216*8fb009dcSAndroid Build Coastguard Worker
217*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm10,YMMWORD[((64-128))+rsi]
218*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm13
219*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((64-128))+r9]
220*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
221*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm10,YMMWORD[((96-128))+r9]
222*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm14
223*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm10,YMMWORD[((128-128))+r9]
224*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm13
225*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((160-128))+r9]
226*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
227*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm10,YMMWORD[((192-128))+r9]
228*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm14
229*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm1,ymm10,YMMWORD[((224-128))+r9]
230*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[((128-128))+r15]
231*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,YMMWORD[((320-448))+r12]
232*8fb009dcSAndroid Build Coastguard Worker
233*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(128-192)+rbx],ymm4
234*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(160-192)+rbx],ymm5
235*8fb009dcSAndroid Build Coastguard Worker
236*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((96-128))+rsi]
237*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm12
238*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm11,YMMWORD[((96-128))+r9]
239*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm14
240*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((128-128))+r9]
241*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm13
242*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((160-128))+r9]
243*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm12
244*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm11,YMMWORD[((192-128))+r9]
245*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm14
246*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm2,ymm11,YMMWORD[((224-128))+r9]
247*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,QWORD[((160-128))+r15]
248*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,YMMWORD[((352-448))+r12]
249*8fb009dcSAndroid Build Coastguard Worker
250*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(192-192)+rbx],ymm6
251*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(224-192)+rbx],ymm7
252*8fb009dcSAndroid Build Coastguard Worker
253*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((128-128))+rsi]
254*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
255*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm10,YMMWORD[((128-128))+r9]
256*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm14
257*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm10,YMMWORD[((160-128))+r9]
258*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm13
259*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((192-128))+r9]
260*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
261*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm3,ymm10,YMMWORD[((224-128))+r9]
262*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[((192-128))+r15]
263*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,YMMWORD[((384-448))+r12]
264*8fb009dcSAndroid Build Coastguard Worker
265*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(256-192)+rbx],ymm8
266*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(288-192)+rbx],ymm0
267*8fb009dcSAndroid Build Coastguard Worker	lea	rbx,[8+rbx]
268*8fb009dcSAndroid Build Coastguard Worker
269*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((160-128))+rsi]
270*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm13
271*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((160-128))+r9]
272*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
273*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm11,YMMWORD[((192-128))+r9]
274*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm14
275*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm4,ymm11,YMMWORD[((224-128))+r9]
276*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,QWORD[((224-128))+r15]
277*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,YMMWORD[((416-448))+r12]
278*8fb009dcSAndroid Build Coastguard Worker
279*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(320-448)+r12],ymm1
280*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(352-448)+r12],ymm2
281*8fb009dcSAndroid Build Coastguard Worker
282*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((192-128))+rsi]
283*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm12
284*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm10,YMMWORD[((192-128))+r9]
285*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm0,QWORD[((256-128))+r15]
286*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm14
287*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm5,ymm10,YMMWORD[((224-128))+r9]
288*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[((0+8-128))+r15]
289*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,YMMWORD[((448-448))+r12]
290*8fb009dcSAndroid Build Coastguard Worker
291*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(384-448)+r12],ymm3
292*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(416-448)+r12],ymm4
293*8fb009dcSAndroid Build Coastguard Worker	lea	r15,[8+r15]
294*8fb009dcSAndroid Build Coastguard Worker
295*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((224-128))+rsi]
296*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
297*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm6,ymm11,YMMWORD[((224-128))+r9]
298*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,YMMWORD[((480-448))+r12]
299*8fb009dcSAndroid Build Coastguard Worker
300*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm7,ymm0,YMMWORD[((256-128))+rsi]
301*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(448-448)+r12],ymm5
302*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,YMMWORD[((512-448))+r12]
303*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(480-448)+r12],ymm6
304*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(512-448)+r12],ymm7
305*8fb009dcSAndroid Build Coastguard Worker	lea	r12,[8+r12]
306*8fb009dcSAndroid Build Coastguard Worker
307*8fb009dcSAndroid Build Coastguard Worker	dec	r14d
308*8fb009dcSAndroid Build Coastguard Worker	jnz	NEAR $L$OOP_SQR_1024
309*8fb009dcSAndroid Build Coastguard Worker
310*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm8,YMMWORD[256+rsp]
311*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm1,YMMWORD[288+rsp]
312*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm2,YMMWORD[320+rsp]
313*8fb009dcSAndroid Build Coastguard Worker	lea	rbx,[192+rsp]
314*8fb009dcSAndroid Build Coastguard Worker
315*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm14,ymm8,29
316*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm8,ymm8,ymm15
317*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm1,29
318*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,ymm15
319*8fb009dcSAndroid Build Coastguard Worker
320*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm14,ymm14,0x93
321*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm9,ymm9,ymm9
322*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
323*8fb009dcSAndroid Build Coastguard Worker
324*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm14,ymm9,3
325*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm14,ymm11,ymm14,3
326*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm10
327*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm9,ymm11,3
328*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm14
329*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm11
330*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(288-192)+rbx],ymm1
331*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(320-192)+rbx],ymm2
332*8fb009dcSAndroid Build Coastguard Worker
333*8fb009dcSAndroid Build Coastguard Worker	mov	rax,QWORD[rsp]
334*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[8+rsp]
335*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[16+rsp]
336*8fb009dcSAndroid Build Coastguard Worker	mov	r12,QWORD[24+rsp]
337*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm1,YMMWORD[32+rsp]
338*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm2,YMMWORD[((64-192))+rbx]
339*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm3,YMMWORD[((96-192))+rbx]
340*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm4,YMMWORD[((128-192))+rbx]
341*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm5,YMMWORD[((160-192))+rbx]
342*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm6,YMMWORD[((192-192))+rbx]
343*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm7,YMMWORD[((224-192))+rbx]
344*8fb009dcSAndroid Build Coastguard Worker
345*8fb009dcSAndroid Build Coastguard Worker	mov	r9,rax
346*8fb009dcSAndroid Build Coastguard Worker	imul	eax,ecx
347*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
348*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm12,eax
349*8fb009dcSAndroid Build Coastguard Worker
350*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
351*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+r13]
352*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm12,xmm12
353*8fb009dcSAndroid Build Coastguard Worker	add	r9,rax
354*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
355*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+r13]
356*8fb009dcSAndroid Build Coastguard Worker	shr	r9,29
357*8fb009dcSAndroid Build Coastguard Worker	add	r10,rax
358*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
359*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((16-128))+r13]
360*8fb009dcSAndroid Build Coastguard Worker	add	r10,r9
361*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
362*8fb009dcSAndroid Build Coastguard Worker	imul	rdx,QWORD[((24-128))+r13]
363*8fb009dcSAndroid Build Coastguard Worker	add	r12,rdx
364*8fb009dcSAndroid Build Coastguard Worker
365*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r10
366*8fb009dcSAndroid Build Coastguard Worker	imul	eax,ecx
367*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
368*8fb009dcSAndroid Build Coastguard Worker
369*8fb009dcSAndroid Build Coastguard Worker	mov	r14d,9
370*8fb009dcSAndroid Build Coastguard Worker	jmp	NEAR $L$OOP_REDUCE_1024
371*8fb009dcSAndroid Build Coastguard Worker
372*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
373*8fb009dcSAndroid Build Coastguard Worker$L$OOP_REDUCE_1024:
374*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm13,eax
375*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm13,xmm13
376*8fb009dcSAndroid Build Coastguard Worker
377*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm12,YMMWORD[((32-128))+r13]
378*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
379*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+r13]
380*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm10
381*8fb009dcSAndroid Build Coastguard Worker	add	r10,rax
382*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm12,YMMWORD[((64-128))+r13]
383*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
384*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+r13]
385*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm14
386*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm12,YMMWORD[((96-128))+r13]
387*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
388*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
389*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
390*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
391*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((16-128))+r13]
392*8fb009dcSAndroid Build Coastguard Worker	shr	r10,29
393*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm11
394*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm12,YMMWORD[((128-128))+r13]
395*8fb009dcSAndroid Build Coastguard Worker	add	r12,rax
396*8fb009dcSAndroid Build Coastguard Worker	add	r11,r10
397*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm10
398*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm12,YMMWORD[((160-128))+r13]
399*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r11
400*8fb009dcSAndroid Build Coastguard Worker	imul	eax,ecx
401*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm14
402*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm12,YMMWORD[((192-128))+r13]
403*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
404*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm11
405*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm12,YMMWORD[((224-128))+r13]
406*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm10
407*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm12,YMMWORD[((256-128))+r13]
408*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm12,eax
409*8fb009dcSAndroid Build Coastguard Worker
410*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm14
411*8fb009dcSAndroid Build Coastguard Worker
412*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm12,xmm12
413*8fb009dcSAndroid Build Coastguard Worker
414*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm13,YMMWORD[((32-8-128))+r13]
415*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm14,YMMWORD[((96-8-128))+r13]
416*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
417*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+r13]
418*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm11
419*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm13,YMMWORD[((64-8-128))+r13]
420*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((128-8-128))+r13]
421*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
422*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
423*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+r13]
424*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm10
425*8fb009dcSAndroid Build Coastguard Worker	add	rax,r12
426*8fb009dcSAndroid Build Coastguard Worker	shr	r11,29
427*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm13
428*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((160-8-128))+r13]
429*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
430*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm14
431*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm13
432*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm14,YMMWORD[((192-8-128))+r13]
433*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
434*8fb009dcSAndroid Build Coastguard Worker	mov	r12,rax
435*8fb009dcSAndroid Build Coastguard Worker	imul	eax,ecx
436*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm11
437*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm13
438*8fb009dcSAndroid Build Coastguard Worker	DB	0xc4,0x41,0x7e,0x6f,0x9d,0x58,0x00,0x00,0x00
439*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
440*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm10
441*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm13
442*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((256-8-128))+r13]
443*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm14
444*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm13
445*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm9,YMMWORD[((288-8-128))+r13]
446*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm0,eax
447*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+r13]
448*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm11
449*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm13
450*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm14,YMMWORD[((32-16-128))+r13]
451*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm0,xmm0
452*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm10
453*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm9,ymm9,ymm13
454*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((64-16-128))+r13]
455*8fb009dcSAndroid Build Coastguard Worker	add	r12,rax
456*8fb009dcSAndroid Build Coastguard Worker
457*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((32-24-128))+r13]
458*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm12
459*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((96-16-128))+r13]
460*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm14
461*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm0
462*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm12
463*8fb009dcSAndroid Build Coastguard Worker	DB	0xc4,0x41,0x7e,0x6f,0xb5,0xf0,0xff,0xff,0xff
464*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm13,ymm13,ymm1
465*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm11
466*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm12
467*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((160-16-128))+r13]
468*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
469*8fb009dcSAndroid Build Coastguard Worker	vmovq	rax,xmm13
470*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[rsp],ymm13
471*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm10
472*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm12
473*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((192-16-128))+r13]
474*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm14
475*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm12
476*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm14,YMMWORD[((224-16-128))+r13]
477*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm11
478*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm12
479*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((256-16-128))+r13]
480*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm10
481*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm12
482*8fb009dcSAndroid Build Coastguard Worker	shr	r12,29
483*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((288-16-128))+r13]
484*8fb009dcSAndroid Build Coastguard Worker	add	rax,r12
485*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm14
486*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm12
487*8fb009dcSAndroid Build Coastguard Worker
488*8fb009dcSAndroid Build Coastguard Worker	mov	r9,rax
489*8fb009dcSAndroid Build Coastguard Worker	imul	eax,ecx
490*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm11
491*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm12
492*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
493*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm12,eax
494*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((96-24-128))+r13]
495*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
496*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm9,ymm9,ymm10
497*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm12,xmm12
498*8fb009dcSAndroid Build Coastguard Worker
499*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm0,YMMWORD[((64-24-128))+r13]
500*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((128-24-128))+r13]
501*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
502*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+r13]
503*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[8+rsp]
504*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm2,ymm14
505*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm0
506*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm14,YMMWORD[((160-24-128))+r13]
507*8fb009dcSAndroid Build Coastguard Worker	add	r9,rax
508*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
509*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+r13]
510*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
511*8fb009dcSAndroid Build Coastguard Worker	shr	r9,29
512*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[16+rsp]
513*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm3,ymm11
514*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm0
515*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((192-24-128))+r13]
516*8fb009dcSAndroid Build Coastguard Worker	add	r10,rax
517*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
518*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((16-128))+r13]
519*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm4,ymm10
520*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm0
521*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm10,YMMWORD[((224-24-128))+r13]
522*8fb009dcSAndroid Build Coastguard Worker	imul	rdx,QWORD[((24-128))+r13]
523*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
524*8fb009dcSAndroid Build Coastguard Worker	lea	rax,[r10*1+r9]
525*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm5,ymm14
526*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm0
527*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm14,YMMWORD[((256-24-128))+r13]
528*8fb009dcSAndroid Build Coastguard Worker	mov	r10,rax
529*8fb009dcSAndroid Build Coastguard Worker	imul	eax,ecx
530*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm10,ymm10,ymm0
531*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm6,ymm11
532*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm11,YMMWORD[((288-24-128))+r13]
533*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
534*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm7,ymm10
535*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm14,ymm14,ymm0
536*8fb009dcSAndroid Build Coastguard Worker	add	rdx,QWORD[24+rsp]
537*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm8,ymm14
538*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm11,ymm11,ymm0
539*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm9,ymm11
540*8fb009dcSAndroid Build Coastguard Worker	vmovq	xmm9,r12
541*8fb009dcSAndroid Build Coastguard Worker	mov	r12,rdx
542*8fb009dcSAndroid Build Coastguard Worker
543*8fb009dcSAndroid Build Coastguard Worker	dec	r14d
544*8fb009dcSAndroid Build Coastguard Worker	jnz	NEAR $L$OOP_REDUCE_1024
545*8fb009dcSAndroid Build Coastguard Worker	lea	r12,[448+rsp]
546*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm13,ymm9
547*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm9,ymm9,ymm9
548*8fb009dcSAndroid Build Coastguard Worker
549*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,YMMWORD[((288-192))+rbx]
550*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,YMMWORD[((320-448))+r12]
551*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,YMMWORD[((352-448))+r12]
552*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,YMMWORD[((384-448))+r12]
553*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,YMMWORD[((416-448))+r12]
554*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,YMMWORD[((448-448))+r12]
555*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,YMMWORD[((480-448))+r12]
556*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,YMMWORD[((512-448))+r12]
557*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,YMMWORD[((544-448))+r12]
558*8fb009dcSAndroid Build Coastguard Worker
559*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm14,ymm0,29
560*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm0,ymm15
561*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm1,29
562*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,ymm15
563*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm2,29
564*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm14,ymm14,0x93
565*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm2,ymm15
566*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm3,29
567*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
568*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,ymm15
569*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
570*8fb009dcSAndroid Build Coastguard Worker
571*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm14,ymm9,3
572*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
573*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm14,ymm11,ymm14,3
574*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm10
575*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm12,ymm11,3
576*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm14
577*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
578*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm11
579*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm9,ymm13,3
580*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm12
581*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm13
582*8fb009dcSAndroid Build Coastguard Worker
583*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm14,ymm0,29
584*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm0,ymm15
585*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm1,29
586*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,ymm15
587*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm2,29
588*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm14,ymm14,0x93
589*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm2,ymm15
590*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm3,29
591*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
592*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,ymm15
593*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
594*8fb009dcSAndroid Build Coastguard Worker
595*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm14,ymm9,3
596*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
597*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm14,ymm11,ymm14,3
598*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm10
599*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm12,ymm11,3
600*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm14
601*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(0-128)+rdi],ymm0
602*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
603*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm11
604*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(32-128)+rdi],ymm1
605*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm9,ymm13,3
606*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm12
607*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(64-128)+rdi],ymm2
608*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm13
609*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(96-128)+rdi],ymm3
610*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm14,ymm4,29
611*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm4,ymm4,ymm15
612*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm5,29
613*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm5,ymm5,ymm15
614*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm6,29
615*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm14,ymm14,0x93
616*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm6,ymm6,ymm15
617*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm7,29
618*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
619*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm7,ymm7,ymm15
620*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm0,ymm8,29
621*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
622*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm8,ymm8,ymm15
623*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
624*8fb009dcSAndroid Build Coastguard Worker
625*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm14,ymm9,3
626*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm0,ymm0,0x93
627*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm14,ymm11,ymm14,3
628*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm10
629*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm12,ymm11,3
630*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm14
631*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
632*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm11
633*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm0,ymm13,3
634*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm12
635*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm13
636*8fb009dcSAndroid Build Coastguard Worker
637*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm14,ymm4,29
638*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm4,ymm4,ymm15
639*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm5,29
640*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm5,ymm5,ymm15
641*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm6,29
642*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm14,ymm14,0x93
643*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm6,ymm6,ymm15
644*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm7,29
645*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
646*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm7,ymm7,ymm15
647*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm0,ymm8,29
648*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
649*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm8,ymm8,ymm15
650*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
651*8fb009dcSAndroid Build Coastguard Worker
652*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm14,ymm9,3
653*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm0,ymm0,0x93
654*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm14,ymm11,ymm14,3
655*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm10
656*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm12,ymm11,3
657*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm14
658*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(128-128)+rdi],ymm4
659*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
660*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm11
661*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(160-128)+rdi],ymm5
662*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm0,ymm13,3
663*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm12
664*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(192-128)+rdi],ymm6
665*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm13
666*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(224-128)+rdi],ymm7
667*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(256-128)+rdi],ymm8
668*8fb009dcSAndroid Build Coastguard Worker
669*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,rdi
670*8fb009dcSAndroid Build Coastguard Worker	dec	r8d
671*8fb009dcSAndroid Build Coastguard Worker	jne	NEAR $L$OOP_GRANDE_SQR_1024
672*8fb009dcSAndroid Build Coastguard Worker
673*8fb009dcSAndroid Build Coastguard Worker	vzeroall
674*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rbp
675*8fb009dcSAndroid Build Coastguard Worker
676*8fb009dcSAndroid Build Coastguard Worker$L$sqr_1024_in_tail:
677*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm6,XMMWORD[((-216))+rax]
678*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm7,XMMWORD[((-200))+rax]
679*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm8,XMMWORD[((-184))+rax]
680*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm9,XMMWORD[((-168))+rax]
681*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm10,XMMWORD[((-152))+rax]
682*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm11,XMMWORD[((-136))+rax]
683*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm12,XMMWORD[((-120))+rax]
684*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm13,XMMWORD[((-104))+rax]
685*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm14,XMMWORD[((-88))+rax]
686*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm15,XMMWORD[((-72))+rax]
687*8fb009dcSAndroid Build Coastguard Worker	mov	r15,QWORD[((-48))+rax]
688*8fb009dcSAndroid Build Coastguard Worker
689*8fb009dcSAndroid Build Coastguard Worker	mov	r14,QWORD[((-40))+rax]
690*8fb009dcSAndroid Build Coastguard Worker
691*8fb009dcSAndroid Build Coastguard Worker	mov	r13,QWORD[((-32))+rax]
692*8fb009dcSAndroid Build Coastguard Worker
693*8fb009dcSAndroid Build Coastguard Worker	mov	r12,QWORD[((-24))+rax]
694*8fb009dcSAndroid Build Coastguard Worker
695*8fb009dcSAndroid Build Coastguard Worker	mov	rbp,QWORD[((-16))+rax]
696*8fb009dcSAndroid Build Coastguard Worker
697*8fb009dcSAndroid Build Coastguard Worker	mov	rbx,QWORD[((-8))+rax]
698*8fb009dcSAndroid Build Coastguard Worker
699*8fb009dcSAndroid Build Coastguard Worker	lea	rsp,[rax]
700*8fb009dcSAndroid Build Coastguard Worker
701*8fb009dcSAndroid Build Coastguard Worker$L$sqr_1024_epilogue:
702*8fb009dcSAndroid Build Coastguard Worker	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
703*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,QWORD[16+rsp]
704*8fb009dcSAndroid Build Coastguard Worker	ret
705*8fb009dcSAndroid Build Coastguard Worker
706*8fb009dcSAndroid Build Coastguard Worker$L$SEH_end_rsaz_1024_sqr_avx2:
707*8fb009dcSAndroid Build Coastguard Workerglobal	rsaz_1024_mul_avx2
708*8fb009dcSAndroid Build Coastguard Worker
709*8fb009dcSAndroid Build Coastguard WorkerALIGN	64
710*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_mul_avx2:
711*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[8+rsp],rdi	;WIN64 prologue
712*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[16+rsp],rsi
713*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rsp
714*8fb009dcSAndroid Build Coastguard Worker$L$SEH_begin_rsaz_1024_mul_avx2:
715*8fb009dcSAndroid Build Coastguard Worker	mov	rdi,rcx
716*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,rdx
717*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,r8
718*8fb009dcSAndroid Build Coastguard Worker	mov	rcx,r9
719*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[40+rsp]
720*8fb009dcSAndroid Build Coastguard Worker
721*8fb009dcSAndroid Build Coastguard Worker
722*8fb009dcSAndroid Build Coastguard Worker
723*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
724*8fb009dcSAndroid Build Coastguard Worker	lea	rax,[rsp]
725*8fb009dcSAndroid Build Coastguard Worker
726*8fb009dcSAndroid Build Coastguard Worker	push	rbx
727*8fb009dcSAndroid Build Coastguard Worker
728*8fb009dcSAndroid Build Coastguard Worker	push	rbp
729*8fb009dcSAndroid Build Coastguard Worker
730*8fb009dcSAndroid Build Coastguard Worker	push	r12
731*8fb009dcSAndroid Build Coastguard Worker
732*8fb009dcSAndroid Build Coastguard Worker	push	r13
733*8fb009dcSAndroid Build Coastguard Worker
734*8fb009dcSAndroid Build Coastguard Worker	push	r14
735*8fb009dcSAndroid Build Coastguard Worker
736*8fb009dcSAndroid Build Coastguard Worker	push	r15
737*8fb009dcSAndroid Build Coastguard Worker
738*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
739*8fb009dcSAndroid Build Coastguard Worker	lea	rsp,[((-168))+rsp]
740*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-216)+rax],xmm6
741*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-200)+rax],xmm7
742*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-184)+rax],xmm8
743*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-168)+rax],xmm9
744*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-152)+rax],xmm10
745*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-136)+rax],xmm11
746*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-120)+rax],xmm12
747*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-104)+rax],xmm13
748*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-88)+rax],xmm14
749*8fb009dcSAndroid Build Coastguard Worker	vmovaps	XMMWORD[(-72)+rax],xmm15
750*8fb009dcSAndroid Build Coastguard Worker$L$mul_1024_body:
751*8fb009dcSAndroid Build Coastguard Worker	mov	rbp,rax
752*8fb009dcSAndroid Build Coastguard Worker
753*8fb009dcSAndroid Build Coastguard Worker	vzeroall
754*8fb009dcSAndroid Build Coastguard Worker	mov	r13,rdx
755*8fb009dcSAndroid Build Coastguard Worker	sub	rsp,64
756*8fb009dcSAndroid Build Coastguard Worker
757*8fb009dcSAndroid Build Coastguard Worker
758*8fb009dcSAndroid Build Coastguard Worker
759*8fb009dcSAndroid Build Coastguard Worker
760*8fb009dcSAndroid Build Coastguard Worker
761*8fb009dcSAndroid Build Coastguard Worker
762*8fb009dcSAndroid Build Coastguard Worker	DB	0x67,0x67
763*8fb009dcSAndroid Build Coastguard Worker	mov	r15,rsi
764*8fb009dcSAndroid Build Coastguard Worker	and	r15,4095
765*8fb009dcSAndroid Build Coastguard Worker	add	r15,32*10
766*8fb009dcSAndroid Build Coastguard Worker	shr	r15,12
767*8fb009dcSAndroid Build Coastguard Worker	mov	r15,rsi
768*8fb009dcSAndroid Build Coastguard Worker	cmovnz	rsi,r13
769*8fb009dcSAndroid Build Coastguard Worker	cmovnz	r13,r15
770*8fb009dcSAndroid Build Coastguard Worker
771*8fb009dcSAndroid Build Coastguard Worker	mov	r15,rcx
772*8fb009dcSAndroid Build Coastguard Worker	sub	rsi,-128
773*8fb009dcSAndroid Build Coastguard Worker	sub	rcx,-128
774*8fb009dcSAndroid Build Coastguard Worker	sub	rdi,-128
775*8fb009dcSAndroid Build Coastguard Worker
776*8fb009dcSAndroid Build Coastguard Worker	and	r15,4095
777*8fb009dcSAndroid Build Coastguard Worker	add	r15,32*10
778*8fb009dcSAndroid Build Coastguard Worker	DB	0x67,0x67
779*8fb009dcSAndroid Build Coastguard Worker	shr	r15,12
780*8fb009dcSAndroid Build Coastguard Worker	jz	NEAR $L$mul_1024_no_n_copy
781*8fb009dcSAndroid Build Coastguard Worker
782*8fb009dcSAndroid Build Coastguard Worker
783*8fb009dcSAndroid Build Coastguard Worker
784*8fb009dcSAndroid Build Coastguard Worker
785*8fb009dcSAndroid Build Coastguard Worker
786*8fb009dcSAndroid Build Coastguard Worker	sub	rsp,32*10
787*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((0-128))+rcx]
788*8fb009dcSAndroid Build Coastguard Worker	and	rsp,-512
789*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm1,YMMWORD[((32-128))+rcx]
790*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm2,YMMWORD[((64-128))+rcx]
791*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm3,YMMWORD[((96-128))+rcx]
792*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm4,YMMWORD[((128-128))+rcx]
793*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm5,YMMWORD[((160-128))+rcx]
794*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm6,YMMWORD[((192-128))+rcx]
795*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm7,YMMWORD[((224-128))+rcx]
796*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm8,YMMWORD[((256-128))+rcx]
797*8fb009dcSAndroid Build Coastguard Worker	lea	rcx,[((64+128))+rsp]
798*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(0-128)+rcx],ymm0
799*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm0,ymm0,ymm0
800*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(32-128)+rcx],ymm1
801*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm1,ymm1,ymm1
802*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(64-128)+rcx],ymm2
803*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm2,ymm2,ymm2
804*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(96-128)+rcx],ymm3
805*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm3,ymm3,ymm3
806*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(128-128)+rcx],ymm4
807*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm4,ymm4,ymm4
808*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(160-128)+rcx],ymm5
809*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm5,ymm5,ymm5
810*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(192-128)+rcx],ymm6
811*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm6,ymm6,ymm6
812*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(224-128)+rcx],ymm7
813*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm7,ymm7,ymm7
814*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(256-128)+rcx],ymm8
815*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm8,ymm0
816*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(288-128)+rcx],ymm9
817*8fb009dcSAndroid Build Coastguard Worker$L$mul_1024_no_n_copy:
818*8fb009dcSAndroid Build Coastguard Worker	and	rsp,-64
819*8fb009dcSAndroid Build Coastguard Worker
820*8fb009dcSAndroid Build Coastguard Worker	mov	rbx,QWORD[r13]
821*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[r13]
822*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[rsp],ymm0
823*8fb009dcSAndroid Build Coastguard Worker	xor	r9,r9
824*8fb009dcSAndroid Build Coastguard Worker	DB	0x67
825*8fb009dcSAndroid Build Coastguard Worker	xor	r10,r10
826*8fb009dcSAndroid Build Coastguard Worker	xor	r11,r11
827*8fb009dcSAndroid Build Coastguard Worker	xor	r12,r12
828*8fb009dcSAndroid Build Coastguard Worker
829*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm15,YMMWORD[$L$and_mask]
830*8fb009dcSAndroid Build Coastguard Worker	mov	r14d,9
831*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(288-128)+rdi],ymm9
832*8fb009dcSAndroid Build Coastguard Worker	jmp	NEAR $L$oop_mul_1024
833*8fb009dcSAndroid Build Coastguard Worker
834*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
835*8fb009dcSAndroid Build Coastguard Worker$L$oop_mul_1024:
836*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm9,ymm3,29
837*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rbx
838*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rsi]
839*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
840*8fb009dcSAndroid Build Coastguard Worker	mov	r10,rbx
841*8fb009dcSAndroid Build Coastguard Worker	imul	r10,QWORD[((8-128))+rsi]
842*8fb009dcSAndroid Build Coastguard Worker	add	r10,QWORD[8+rsp]
843*8fb009dcSAndroid Build Coastguard Worker
844*8fb009dcSAndroid Build Coastguard Worker	mov	r9,rax
845*8fb009dcSAndroid Build Coastguard Worker	imul	eax,r8d
846*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
847*8fb009dcSAndroid Build Coastguard Worker
848*8fb009dcSAndroid Build Coastguard Worker	mov	r11,rbx
849*8fb009dcSAndroid Build Coastguard Worker	imul	r11,QWORD[((16-128))+rsi]
850*8fb009dcSAndroid Build Coastguard Worker	add	r11,QWORD[16+rsp]
851*8fb009dcSAndroid Build Coastguard Worker
852*8fb009dcSAndroid Build Coastguard Worker	mov	r12,rbx
853*8fb009dcSAndroid Build Coastguard Worker	imul	r12,QWORD[((24-128))+rsi]
854*8fb009dcSAndroid Build Coastguard Worker	add	r12,QWORD[24+rsp]
855*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm10,YMMWORD[((32-128))+rsi]
856*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm11,eax
857*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm0
858*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((64-128))+rsi]
859*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,xmm11
860*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
861*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm10,YMMWORD[((96-128))+rsi]
862*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,ymm15
863*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm13
864*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm10,YMMWORD[((128-128))+rsi]
865*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm0
866*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((160-128))+rsi]
867*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
868*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm10,YMMWORD[((192-128))+rsi]
869*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
870*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm10,YMMWORD[((224-128))+rsi]
871*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm9,ymm9,0x93
872*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm0
873*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm10,YMMWORD[((256-128))+rsi]
874*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[8+r13]
875*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
876*8fb009dcSAndroid Build Coastguard Worker
877*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
878*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rcx]
879*8fb009dcSAndroid Build Coastguard Worker	add	r9,rax
880*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
881*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+rcx]
882*8fb009dcSAndroid Build Coastguard Worker	add	r10,rax
883*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
884*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((16-128))+rcx]
885*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
886*8fb009dcSAndroid Build Coastguard Worker	shr	r9,29
887*8fb009dcSAndroid Build Coastguard Worker	imul	rdx,QWORD[((24-128))+rcx]
888*8fb009dcSAndroid Build Coastguard Worker	add	r12,rdx
889*8fb009dcSAndroid Build Coastguard Worker	add	r10,r9
890*8fb009dcSAndroid Build Coastguard Worker
891*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((32-128))+rcx]
892*8fb009dcSAndroid Build Coastguard Worker	vmovq	rbx,xmm10
893*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm13
894*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm11,YMMWORD[((64-128))+rcx]
895*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm0
896*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((96-128))+rcx]
897*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm12
898*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((128-128))+rcx]
899*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm13
900*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm11,YMMWORD[((160-128))+rcx]
901*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm0
902*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm11,YMMWORD[((192-128))+rcx]
903*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm12
904*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm11,YMMWORD[((224-128))+rcx]
905*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm9,ymm14,3
906*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm13
907*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm11,YMMWORD[((256-128))+rcx]
908*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm12
909*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm0
910*8fb009dcSAndroid Build Coastguard Worker
911*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rbx
912*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rsi]
913*8fb009dcSAndroid Build Coastguard Worker	add	r10,rax
914*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-8+32-128))+rsi]
915*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rbx
916*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+rsi]
917*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
918*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-8+64-128))+rsi]
919*8fb009dcSAndroid Build Coastguard Worker
920*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r10
921*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm9,ymm9,ymm14,0xfc
922*8fb009dcSAndroid Build Coastguard Worker	imul	eax,r8d
923*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm9
924*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
925*8fb009dcSAndroid Build Coastguard Worker
926*8fb009dcSAndroid Build Coastguard Worker	imul	rbx,QWORD[((16-128))+rsi]
927*8fb009dcSAndroid Build Coastguard Worker	add	r12,rbx
928*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
929*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm11,eax
930*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-8+96-128))+rsi]
931*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm12
932*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
933*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,xmm11
934*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-8+128-128))+rsi]
935*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm13
936*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
937*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-8+160-128))+rsi]
938*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm0
939*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
940*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-8+192-128))+rsi]
941*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm12
942*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
943*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-8+224-128))+rsi]
944*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm13
945*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
946*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-8+256-128))+rsi]
947*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm0
948*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
949*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm9,YMMWORD[((-8+288-128))+rsi]
950*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm12
951*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
952*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm13
953*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm9,ymm9,ymm10
954*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[16+r13]
955*8fb009dcSAndroid Build Coastguard Worker
956*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
957*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rcx]
958*8fb009dcSAndroid Build Coastguard Worker	add	r10,rax
959*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-8+32-128))+rcx]
960*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rdx
961*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((8-128))+rcx]
962*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
963*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-8+64-128))+rcx]
964*8fb009dcSAndroid Build Coastguard Worker	shr	r10,29
965*8fb009dcSAndroid Build Coastguard Worker	imul	rdx,QWORD[((16-128))+rcx]
966*8fb009dcSAndroid Build Coastguard Worker	add	r12,rdx
967*8fb009dcSAndroid Build Coastguard Worker	add	r11,r10
968*8fb009dcSAndroid Build Coastguard Worker
969*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
970*8fb009dcSAndroid Build Coastguard Worker	vmovq	rbx,xmm10
971*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-8+96-128))+rcx]
972*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm0
973*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
974*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-8+128-128))+rcx]
975*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
976*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
977*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-8+160-128))+rcx]
978*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm13
979*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
980*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-8+192-128))+rcx]
981*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm0
982*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
983*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-8+224-128))+rcx]
984*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
985*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
986*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-8+256-128))+rcx]
987*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
988*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
989*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-8+288-128))+rcx]
990*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm0
991*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
992*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
993*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
994*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm9,ymm9,ymm13
995*8fb009dcSAndroid Build Coastguard Worker
996*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-16+32-128))+rsi]
997*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rbx
998*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rsi]
999*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1000*8fb009dcSAndroid Build Coastguard Worker
1001*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-16+64-128))+rsi]
1002*8fb009dcSAndroid Build Coastguard Worker	mov	r11,rax
1003*8fb009dcSAndroid Build Coastguard Worker	imul	eax,r8d
1004*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
1005*8fb009dcSAndroid Build Coastguard Worker
1006*8fb009dcSAndroid Build Coastguard Worker	imul	rbx,QWORD[((8-128))+rsi]
1007*8fb009dcSAndroid Build Coastguard Worker	add	r12,rbx
1008*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
1009*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm11,eax
1010*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-16+96-128))+rsi]
1011*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm0
1012*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
1013*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,xmm11
1014*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-16+128-128))+rsi]
1015*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
1016*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
1017*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-16+160-128))+rsi]
1018*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm13
1019*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
1020*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-16+192-128))+rsi]
1021*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm0
1022*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
1023*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-16+224-128))+rsi]
1024*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
1025*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
1026*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-16+256-128))+rsi]
1027*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
1028*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
1029*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-16+288-128))+rsi]
1030*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm0
1031*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
1032*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
1033*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
1034*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[24+r13]
1035*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm9,ymm9,ymm13
1036*8fb009dcSAndroid Build Coastguard Worker
1037*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-16+32-128))+rcx]
1038*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,rax
1039*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rcx]
1040*8fb009dcSAndroid Build Coastguard Worker	add	r11,rax
1041*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-16+64-128))+rcx]
1042*8fb009dcSAndroid Build Coastguard Worker	imul	rdx,QWORD[((8-128))+rcx]
1043*8fb009dcSAndroid Build Coastguard Worker	add	r12,rdx
1044*8fb009dcSAndroid Build Coastguard Worker	shr	r11,29
1045*8fb009dcSAndroid Build Coastguard Worker
1046*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
1047*8fb009dcSAndroid Build Coastguard Worker	vmovq	rbx,xmm10
1048*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-16+96-128))+rcx]
1049*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm0
1050*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
1051*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-16+128-128))+rcx]
1052*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
1053*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
1054*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-16+160-128))+rcx]
1055*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm13
1056*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
1057*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-16+192-128))+rcx]
1058*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm0
1059*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
1060*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-16+224-128))+rcx]
1061*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
1062*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
1063*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-16+256-128))+rcx]
1064*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
1065*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
1066*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-16+288-128))+rcx]
1067*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm0
1068*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
1069*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-24+32-128))+rsi]
1070*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
1071*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
1072*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-24+64-128))+rsi]
1073*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm9,ymm9,ymm13
1074*8fb009dcSAndroid Build Coastguard Worker
1075*8fb009dcSAndroid Build Coastguard Worker	add	r12,r11
1076*8fb009dcSAndroid Build Coastguard Worker	imul	rbx,QWORD[((-128))+rsi]
1077*8fb009dcSAndroid Build Coastguard Worker	add	r12,rbx
1078*8fb009dcSAndroid Build Coastguard Worker
1079*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r12
1080*8fb009dcSAndroid Build Coastguard Worker	imul	eax,r8d
1081*8fb009dcSAndroid Build Coastguard Worker	and	eax,0x1fffffff
1082*8fb009dcSAndroid Build Coastguard Worker
1083*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
1084*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm11,eax
1085*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-24+96-128))+rsi]
1086*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm0
1087*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
1088*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm11,xmm11
1089*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-24+128-128))+rsi]
1090*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm12
1091*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
1092*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-24+160-128))+rsi]
1093*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm13
1094*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
1095*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-24+192-128))+rsi]
1096*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm0
1097*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
1098*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-24+224-128))+rsi]
1099*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
1100*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
1101*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-24+256-128))+rsi]
1102*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
1103*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm10
1104*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-24+288-128))+rsi]
1105*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm0
1106*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm10
1107*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm12
1108*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm10
1109*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastq	ymm10,QWORD[32+r13]
1110*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm9,ymm9,ymm13
1111*8fb009dcSAndroid Build Coastguard Worker	add	r13,32
1112*8fb009dcSAndroid Build Coastguard Worker
1113*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-24+32-128))+rcx]
1114*8fb009dcSAndroid Build Coastguard Worker	imul	rax,QWORD[((-128))+rcx]
1115*8fb009dcSAndroid Build Coastguard Worker	add	r12,rax
1116*8fb009dcSAndroid Build Coastguard Worker	shr	r12,29
1117*8fb009dcSAndroid Build Coastguard Worker
1118*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-24+64-128))+rcx]
1119*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
1120*8fb009dcSAndroid Build Coastguard Worker	vmovq	rbx,xmm10
1121*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-24+96-128))+rcx]
1122*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm1,ymm0
1123*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
1124*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[rsp],ymm0
1125*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm2,ymm12
1126*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-24+128-128))+rcx]
1127*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
1128*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-24+160-128))+rcx]
1129*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm3,ymm13
1130*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
1131*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-24+192-128))+rcx]
1132*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm4,ymm0
1133*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
1134*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[((-24+224-128))+rcx]
1135*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm5,ymm12
1136*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
1137*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm12,YMMWORD[((-24+256-128))+rcx]
1138*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm6,ymm13
1139*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm0,ymm0,ymm11
1140*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm13,YMMWORD[((-24+288-128))+rcx]
1141*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r12
1142*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm7,ymm0
1143*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm12,ymm12,ymm11
1144*8fb009dcSAndroid Build Coastguard Worker	add	r9,QWORD[rsp]
1145*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm8,ymm12
1146*8fb009dcSAndroid Build Coastguard Worker	vpmuludq	ymm13,ymm13,ymm11
1147*8fb009dcSAndroid Build Coastguard Worker	vmovq	xmm12,r12
1148*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm9,ymm13
1149*8fb009dcSAndroid Build Coastguard Worker
1150*8fb009dcSAndroid Build Coastguard Worker	dec	r14d
1151*8fb009dcSAndroid Build Coastguard Worker	jnz	NEAR $L$oop_mul_1024
1152*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm12,YMMWORD[rsp]
1153*8fb009dcSAndroid Build Coastguard Worker
1154*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm0,29
1155*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm0,ymm15
1156*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm1,29
1157*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,ymm15
1158*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm10,ymm2,29
1159*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
1160*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm2,ymm15
1161*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm3,29
1162*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
1163*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,ymm15
1164*8fb009dcSAndroid Build Coastguard Worker
1165*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm9,ymm12,ymm14,3
1166*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm10,ymm10,0x93
1167*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
1168*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
1169*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm9
1170*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm10,ymm13,3
1171*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm12
1172*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm11,ymm10,3
1173*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm13
1174*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm14,ymm11,3
1175*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm10
1176*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm11
1177*8fb009dcSAndroid Build Coastguard Worker
1178*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm0,29
1179*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm0,ymm15
1180*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm1,29
1181*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,ymm15
1182*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm10,ymm2,29
1183*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
1184*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm2,ymm15
1185*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm3,29
1186*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
1187*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,ymm15
1188*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm10,ymm10,0x93
1189*8fb009dcSAndroid Build Coastguard Worker
1190*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm9,ymm12,ymm14,3
1191*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
1192*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
1193*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm0,ymm0,ymm9
1194*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm10,ymm13,3
1195*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm1,ymm1,ymm12
1196*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm11,ymm10,3
1197*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm2,ymm2,ymm13
1198*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm14,ymm11,3
1199*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm3,ymm3,ymm10
1200*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm11
1201*8fb009dcSAndroid Build Coastguard Worker
1202*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(0-128)+rdi],ymm0
1203*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(32-128)+rdi],ymm1
1204*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(64-128)+rdi],ymm2
1205*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(96-128)+rdi],ymm3
1206*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm4,29
1207*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm4,ymm4,ymm15
1208*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm5,29
1209*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm5,ymm5,ymm15
1210*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm10,ymm6,29
1211*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
1212*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm6,ymm6,ymm15
1213*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm7,29
1214*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
1215*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm7,ymm7,ymm15
1216*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm0,ymm8,29
1217*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm10,ymm10,0x93
1218*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm8,ymm8,ymm15
1219*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
1220*8fb009dcSAndroid Build Coastguard Worker
1221*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm9,ymm12,ymm14,3
1222*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm0,ymm0,0x93
1223*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
1224*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm9
1225*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm10,ymm13,3
1226*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
1227*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm11,ymm10,3
1228*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
1229*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm0,ymm11,3
1230*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm10
1231*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm11
1232*8fb009dcSAndroid Build Coastguard Worker
1233*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm12,ymm4,29
1234*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm4,ymm4,ymm15
1235*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm13,ymm5,29
1236*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm5,ymm5,ymm15
1237*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm10,ymm6,29
1238*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm12,ymm12,0x93
1239*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm6,ymm6,ymm15
1240*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm11,ymm7,29
1241*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm13,ymm13,0x93
1242*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm7,ymm7,ymm15
1243*8fb009dcSAndroid Build Coastguard Worker	vpsrlq	ymm0,ymm8,29
1244*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm10,ymm10,0x93
1245*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm8,ymm8,ymm15
1246*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm11,ymm11,0x93
1247*8fb009dcSAndroid Build Coastguard Worker
1248*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm9,ymm12,ymm14,3
1249*8fb009dcSAndroid Build Coastguard Worker	vpermq	ymm0,ymm0,0x93
1250*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm12,ymm13,ymm12,3
1251*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm4,ymm4,ymm9
1252*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm13,ymm10,ymm13,3
1253*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm5,ymm5,ymm12
1254*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm10,ymm11,ymm10,3
1255*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm6,ymm6,ymm13
1256*8fb009dcSAndroid Build Coastguard Worker	vpblendd	ymm11,ymm0,ymm11,3
1257*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm7,ymm7,ymm10
1258*8fb009dcSAndroid Build Coastguard Worker	vpaddq	ymm8,ymm8,ymm11
1259*8fb009dcSAndroid Build Coastguard Worker
1260*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(128-128)+rdi],ymm4
1261*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(160-128)+rdi],ymm5
1262*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(192-128)+rdi],ymm6
1263*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(224-128)+rdi],ymm7
1264*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[(256-128)+rdi],ymm8
1265*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1266*8fb009dcSAndroid Build Coastguard Worker
1267*8fb009dcSAndroid Build Coastguard Worker	mov	rax,rbp
1268*8fb009dcSAndroid Build Coastguard Worker
1269*8fb009dcSAndroid Build Coastguard Worker$L$mul_1024_in_tail:
1270*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm6,XMMWORD[((-216))+rax]
1271*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm7,XMMWORD[((-200))+rax]
1272*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm8,XMMWORD[((-184))+rax]
1273*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm9,XMMWORD[((-168))+rax]
1274*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm10,XMMWORD[((-152))+rax]
1275*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm11,XMMWORD[((-136))+rax]
1276*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm12,XMMWORD[((-120))+rax]
1277*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm13,XMMWORD[((-104))+rax]
1278*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm14,XMMWORD[((-88))+rax]
1279*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm15,XMMWORD[((-72))+rax]
1280*8fb009dcSAndroid Build Coastguard Worker	mov	r15,QWORD[((-48))+rax]
1281*8fb009dcSAndroid Build Coastguard Worker
1282*8fb009dcSAndroid Build Coastguard Worker	mov	r14,QWORD[((-40))+rax]
1283*8fb009dcSAndroid Build Coastguard Worker
1284*8fb009dcSAndroid Build Coastguard Worker	mov	r13,QWORD[((-32))+rax]
1285*8fb009dcSAndroid Build Coastguard Worker
1286*8fb009dcSAndroid Build Coastguard Worker	mov	r12,QWORD[((-24))+rax]
1287*8fb009dcSAndroid Build Coastguard Worker
1288*8fb009dcSAndroid Build Coastguard Worker	mov	rbp,QWORD[((-16))+rax]
1289*8fb009dcSAndroid Build Coastguard Worker
1290*8fb009dcSAndroid Build Coastguard Worker	mov	rbx,QWORD[((-8))+rax]
1291*8fb009dcSAndroid Build Coastguard Worker
1292*8fb009dcSAndroid Build Coastguard Worker	lea	rsp,[rax]
1293*8fb009dcSAndroid Build Coastguard Worker
1294*8fb009dcSAndroid Build Coastguard Worker$L$mul_1024_epilogue:
1295*8fb009dcSAndroid Build Coastguard Worker	mov	rdi,QWORD[8+rsp]	;WIN64 epilogue
1296*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,QWORD[16+rsp]
1297*8fb009dcSAndroid Build Coastguard Worker	ret
1298*8fb009dcSAndroid Build Coastguard Worker
1299*8fb009dcSAndroid Build Coastguard Worker$L$SEH_end_rsaz_1024_mul_avx2:
1300*8fb009dcSAndroid Build Coastguard Workerglobal	rsaz_1024_red2norm_avx2
1301*8fb009dcSAndroid Build Coastguard Worker
1302*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
1303*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_red2norm_avx2:
1304*8fb009dcSAndroid Build Coastguard Worker
1305*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1306*8fb009dcSAndroid Build Coastguard Worker	sub	rdx,-128
1307*8fb009dcSAndroid Build Coastguard Worker	xor	rax,rax
1308*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[((-128))+rdx]
1309*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[((-120))+rdx]
1310*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[((-112))+rdx]
1311*8fb009dcSAndroid Build Coastguard Worker	shl	r8,0
1312*8fb009dcSAndroid Build Coastguard Worker	shl	r9,29
1313*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r10
1314*8fb009dcSAndroid Build Coastguard Worker	shl	r10,58
1315*8fb009dcSAndroid Build Coastguard Worker	shr	r11,6
1316*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1317*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1318*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1319*8fb009dcSAndroid Build Coastguard Worker	adc	r11,0
1320*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[rcx],rax
1321*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r11
1322*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[((-104))+rdx]
1323*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[((-96))+rdx]
1324*8fb009dcSAndroid Build Coastguard Worker	shl	r8,23
1325*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r9
1326*8fb009dcSAndroid Build Coastguard Worker	shl	r9,52
1327*8fb009dcSAndroid Build Coastguard Worker	shr	r10,12
1328*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1329*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1330*8fb009dcSAndroid Build Coastguard Worker	adc	r10,0
1331*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[8+rcx],rax
1332*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r10
1333*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[((-88))+rdx]
1334*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[((-80))+rdx]
1335*8fb009dcSAndroid Build Coastguard Worker	shl	r11,17
1336*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r8
1337*8fb009dcSAndroid Build Coastguard Worker	shl	r8,46
1338*8fb009dcSAndroid Build Coastguard Worker	shr	r9,18
1339*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1340*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1341*8fb009dcSAndroid Build Coastguard Worker	adc	r9,0
1342*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[16+rcx],rax
1343*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r9
1344*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[((-72))+rdx]
1345*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[((-64))+rdx]
1346*8fb009dcSAndroid Build Coastguard Worker	shl	r10,11
1347*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r11
1348*8fb009dcSAndroid Build Coastguard Worker	shl	r11,40
1349*8fb009dcSAndroid Build Coastguard Worker	shr	r8,24
1350*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1351*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1352*8fb009dcSAndroid Build Coastguard Worker	adc	r8,0
1353*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[24+rcx],rax
1354*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r8
1355*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[((-56))+rdx]
1356*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[((-48))+rdx]
1357*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[((-40))+rdx]
1358*8fb009dcSAndroid Build Coastguard Worker	shl	r9,5
1359*8fb009dcSAndroid Build Coastguard Worker	shl	r10,34
1360*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r11
1361*8fb009dcSAndroid Build Coastguard Worker	shl	r11,63
1362*8fb009dcSAndroid Build Coastguard Worker	shr	r8,1
1363*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1364*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1365*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1366*8fb009dcSAndroid Build Coastguard Worker	adc	r8,0
1367*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[32+rcx],rax
1368*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r8
1369*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[((-32))+rdx]
1370*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[((-24))+rdx]
1371*8fb009dcSAndroid Build Coastguard Worker	shl	r9,28
1372*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r10
1373*8fb009dcSAndroid Build Coastguard Worker	shl	r10,57
1374*8fb009dcSAndroid Build Coastguard Worker	shr	r11,7
1375*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1376*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1377*8fb009dcSAndroid Build Coastguard Worker	adc	r11,0
1378*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[40+rcx],rax
1379*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r11
1380*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[((-16))+rdx]
1381*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[((-8))+rdx]
1382*8fb009dcSAndroid Build Coastguard Worker	shl	r8,22
1383*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r9
1384*8fb009dcSAndroid Build Coastguard Worker	shl	r9,51
1385*8fb009dcSAndroid Build Coastguard Worker	shr	r10,13
1386*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1387*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1388*8fb009dcSAndroid Build Coastguard Worker	adc	r10,0
1389*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[48+rcx],rax
1390*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r10
1391*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[rdx]
1392*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[8+rdx]
1393*8fb009dcSAndroid Build Coastguard Worker	shl	r11,16
1394*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r8
1395*8fb009dcSAndroid Build Coastguard Worker	shl	r8,45
1396*8fb009dcSAndroid Build Coastguard Worker	shr	r9,19
1397*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1398*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1399*8fb009dcSAndroid Build Coastguard Worker	adc	r9,0
1400*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[56+rcx],rax
1401*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r9
1402*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[16+rdx]
1403*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[24+rdx]
1404*8fb009dcSAndroid Build Coastguard Worker	shl	r10,10
1405*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r11
1406*8fb009dcSAndroid Build Coastguard Worker	shl	r11,39
1407*8fb009dcSAndroid Build Coastguard Worker	shr	r8,25
1408*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1409*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1410*8fb009dcSAndroid Build Coastguard Worker	adc	r8,0
1411*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[64+rcx],rax
1412*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r8
1413*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[32+rdx]
1414*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[40+rdx]
1415*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[48+rdx]
1416*8fb009dcSAndroid Build Coastguard Worker	shl	r9,4
1417*8fb009dcSAndroid Build Coastguard Worker	shl	r10,33
1418*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r11
1419*8fb009dcSAndroid Build Coastguard Worker	shl	r11,62
1420*8fb009dcSAndroid Build Coastguard Worker	shr	r8,2
1421*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1422*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1423*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1424*8fb009dcSAndroid Build Coastguard Worker	adc	r8,0
1425*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[72+rcx],rax
1426*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r8
1427*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[56+rdx]
1428*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[64+rdx]
1429*8fb009dcSAndroid Build Coastguard Worker	shl	r9,27
1430*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r10
1431*8fb009dcSAndroid Build Coastguard Worker	shl	r10,56
1432*8fb009dcSAndroid Build Coastguard Worker	shr	r11,8
1433*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1434*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1435*8fb009dcSAndroid Build Coastguard Worker	adc	r11,0
1436*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[80+rcx],rax
1437*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r11
1438*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[72+rdx]
1439*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[80+rdx]
1440*8fb009dcSAndroid Build Coastguard Worker	shl	r8,21
1441*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r9
1442*8fb009dcSAndroid Build Coastguard Worker	shl	r9,50
1443*8fb009dcSAndroid Build Coastguard Worker	shr	r10,14
1444*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1445*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1446*8fb009dcSAndroid Build Coastguard Worker	adc	r10,0
1447*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[88+rcx],rax
1448*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r10
1449*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[88+rdx]
1450*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[96+rdx]
1451*8fb009dcSAndroid Build Coastguard Worker	shl	r11,15
1452*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r8
1453*8fb009dcSAndroid Build Coastguard Worker	shl	r8,44
1454*8fb009dcSAndroid Build Coastguard Worker	shr	r9,20
1455*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1456*8fb009dcSAndroid Build Coastguard Worker	add	rax,r8
1457*8fb009dcSAndroid Build Coastguard Worker	adc	r9,0
1458*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[96+rcx],rax
1459*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r9
1460*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[104+rdx]
1461*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[112+rdx]
1462*8fb009dcSAndroid Build Coastguard Worker	shl	r10,9
1463*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r11
1464*8fb009dcSAndroid Build Coastguard Worker	shl	r11,38
1465*8fb009dcSAndroid Build Coastguard Worker	shr	r8,26
1466*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1467*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1468*8fb009dcSAndroid Build Coastguard Worker	adc	r8,0
1469*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[104+rcx],rax
1470*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r8
1471*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[120+rdx]
1472*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[128+rdx]
1473*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[136+rdx]
1474*8fb009dcSAndroid Build Coastguard Worker	shl	r9,3
1475*8fb009dcSAndroid Build Coastguard Worker	shl	r10,32
1476*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r11
1477*8fb009dcSAndroid Build Coastguard Worker	shl	r11,61
1478*8fb009dcSAndroid Build Coastguard Worker	shr	r8,3
1479*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1480*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1481*8fb009dcSAndroid Build Coastguard Worker	add	rax,r11
1482*8fb009dcSAndroid Build Coastguard Worker	adc	r8,0
1483*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[112+rcx],rax
1484*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r8
1485*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[144+rdx]
1486*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[152+rdx]
1487*8fb009dcSAndroid Build Coastguard Worker	shl	r9,26
1488*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r10
1489*8fb009dcSAndroid Build Coastguard Worker	shl	r10,55
1490*8fb009dcSAndroid Build Coastguard Worker	shr	r11,9
1491*8fb009dcSAndroid Build Coastguard Worker	add	rax,r9
1492*8fb009dcSAndroid Build Coastguard Worker	add	rax,r10
1493*8fb009dcSAndroid Build Coastguard Worker	adc	r11,0
1494*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[120+rcx],rax
1495*8fb009dcSAndroid Build Coastguard Worker	mov	rax,r11
1496*8fb009dcSAndroid Build Coastguard Worker	ret
1497*8fb009dcSAndroid Build Coastguard Worker
1498*8fb009dcSAndroid Build Coastguard Worker
1499*8fb009dcSAndroid Build Coastguard Worker
1500*8fb009dcSAndroid Build Coastguard Workerglobal	rsaz_1024_norm2red_avx2
1501*8fb009dcSAndroid Build Coastguard Worker
1502*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
1503*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_norm2red_avx2:
1504*8fb009dcSAndroid Build Coastguard Worker
1505*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1506*8fb009dcSAndroid Build Coastguard Worker	sub	rcx,-128
1507*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[rdx]
1508*8fb009dcSAndroid Build Coastguard Worker	mov	eax,0x1fffffff
1509*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[8+rdx]
1510*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r8
1511*8fb009dcSAndroid Build Coastguard Worker	shr	r11,0
1512*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1513*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-128))+rcx],r11
1514*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r8
1515*8fb009dcSAndroid Build Coastguard Worker	shr	r10,29
1516*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1517*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-120))+rcx],r10
1518*8fb009dcSAndroid Build Coastguard Worker	shrd	r8,r9,58
1519*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1520*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-112))+rcx],r8
1521*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[16+rdx]
1522*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r9
1523*8fb009dcSAndroid Build Coastguard Worker	shr	r8,23
1524*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1525*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-104))+rcx],r8
1526*8fb009dcSAndroid Build Coastguard Worker	shrd	r9,r10,52
1527*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1528*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-96))+rcx],r9
1529*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[24+rdx]
1530*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r10
1531*8fb009dcSAndroid Build Coastguard Worker	shr	r9,17
1532*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1533*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-88))+rcx],r9
1534*8fb009dcSAndroid Build Coastguard Worker	shrd	r10,r11,46
1535*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1536*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-80))+rcx],r10
1537*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[32+rdx]
1538*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r11
1539*8fb009dcSAndroid Build Coastguard Worker	shr	r10,11
1540*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1541*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-72))+rcx],r10
1542*8fb009dcSAndroid Build Coastguard Worker	shrd	r11,r8,40
1543*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1544*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-64))+rcx],r11
1545*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[40+rdx]
1546*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r8
1547*8fb009dcSAndroid Build Coastguard Worker	shr	r11,5
1548*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1549*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-56))+rcx],r11
1550*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r8
1551*8fb009dcSAndroid Build Coastguard Worker	shr	r10,34
1552*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1553*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-48))+rcx],r10
1554*8fb009dcSAndroid Build Coastguard Worker	shrd	r8,r9,63
1555*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1556*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-40))+rcx],r8
1557*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[48+rdx]
1558*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r9
1559*8fb009dcSAndroid Build Coastguard Worker	shr	r8,28
1560*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1561*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-32))+rcx],r8
1562*8fb009dcSAndroid Build Coastguard Worker	shrd	r9,r10,57
1563*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1564*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-24))+rcx],r9
1565*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[56+rdx]
1566*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r10
1567*8fb009dcSAndroid Build Coastguard Worker	shr	r9,22
1568*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1569*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-16))+rcx],r9
1570*8fb009dcSAndroid Build Coastguard Worker	shrd	r10,r11,51
1571*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1572*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[((-8))+rcx],r10
1573*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[64+rdx]
1574*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r11
1575*8fb009dcSAndroid Build Coastguard Worker	shr	r10,16
1576*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1577*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[rcx],r10
1578*8fb009dcSAndroid Build Coastguard Worker	shrd	r11,r8,45
1579*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1580*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[8+rcx],r11
1581*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[72+rdx]
1582*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r8
1583*8fb009dcSAndroid Build Coastguard Worker	shr	r11,10
1584*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1585*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[16+rcx],r11
1586*8fb009dcSAndroid Build Coastguard Worker	shrd	r8,r9,39
1587*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1588*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[24+rcx],r8
1589*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[80+rdx]
1590*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r9
1591*8fb009dcSAndroid Build Coastguard Worker	shr	r8,4
1592*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1593*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[32+rcx],r8
1594*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r9
1595*8fb009dcSAndroid Build Coastguard Worker	shr	r11,33
1596*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1597*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[40+rcx],r11
1598*8fb009dcSAndroid Build Coastguard Worker	shrd	r9,r10,62
1599*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1600*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[48+rcx],r9
1601*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[88+rdx]
1602*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r10
1603*8fb009dcSAndroid Build Coastguard Worker	shr	r9,27
1604*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1605*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[56+rcx],r9
1606*8fb009dcSAndroid Build Coastguard Worker	shrd	r10,r11,56
1607*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1608*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[64+rcx],r10
1609*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[96+rdx]
1610*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r11
1611*8fb009dcSAndroid Build Coastguard Worker	shr	r10,21
1612*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1613*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[72+rcx],r10
1614*8fb009dcSAndroid Build Coastguard Worker	shrd	r11,r8,50
1615*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1616*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[80+rcx],r11
1617*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[104+rdx]
1618*8fb009dcSAndroid Build Coastguard Worker	mov	r11,r8
1619*8fb009dcSAndroid Build Coastguard Worker	shr	r11,15
1620*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1621*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[88+rcx],r11
1622*8fb009dcSAndroid Build Coastguard Worker	shrd	r8,r9,44
1623*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1624*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[96+rcx],r8
1625*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[112+rdx]
1626*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r9
1627*8fb009dcSAndroid Build Coastguard Worker	shr	r8,9
1628*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1629*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[104+rcx],r8
1630*8fb009dcSAndroid Build Coastguard Worker	shrd	r9,r10,38
1631*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1632*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[112+rcx],r9
1633*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[120+rdx]
1634*8fb009dcSAndroid Build Coastguard Worker	mov	r9,r10
1635*8fb009dcSAndroid Build Coastguard Worker	shr	r9,3
1636*8fb009dcSAndroid Build Coastguard Worker	and	r9,rax
1637*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[120+rcx],r9
1638*8fb009dcSAndroid Build Coastguard Worker	mov	r8,r10
1639*8fb009dcSAndroid Build Coastguard Worker	shr	r8,32
1640*8fb009dcSAndroid Build Coastguard Worker	and	r8,rax
1641*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[128+rcx],r8
1642*8fb009dcSAndroid Build Coastguard Worker	shrd	r10,r11,61
1643*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1644*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[136+rcx],r10
1645*8fb009dcSAndroid Build Coastguard Worker	xor	r8,r8
1646*8fb009dcSAndroid Build Coastguard Worker	mov	r10,r11
1647*8fb009dcSAndroid Build Coastguard Worker	shr	r10,26
1648*8fb009dcSAndroid Build Coastguard Worker	and	r10,rax
1649*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[144+rcx],r10
1650*8fb009dcSAndroid Build Coastguard Worker	shrd	r11,r8,55
1651*8fb009dcSAndroid Build Coastguard Worker	and	r11,rax
1652*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[152+rcx],r11
1653*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[160+rcx],r8
1654*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[168+rcx],r8
1655*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[176+rcx],r8
1656*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[184+rcx],r8
1657*8fb009dcSAndroid Build Coastguard Worker	ret
1658*8fb009dcSAndroid Build Coastguard Worker
1659*8fb009dcSAndroid Build Coastguard Worker
1660*8fb009dcSAndroid Build Coastguard Workerglobal	rsaz_1024_scatter5_avx2
1661*8fb009dcSAndroid Build Coastguard Worker
1662*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
1663*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_scatter5_avx2:
1664*8fb009dcSAndroid Build Coastguard Worker
1665*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1666*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1667*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm5,YMMWORD[$L$scatter_permd]
1668*8fb009dcSAndroid Build Coastguard Worker	shl	r8d,4
1669*8fb009dcSAndroid Build Coastguard Worker	lea	rcx,[r8*1+rcx]
1670*8fb009dcSAndroid Build Coastguard Worker	mov	eax,9
1671*8fb009dcSAndroid Build Coastguard Worker	jmp	NEAR $L$oop_scatter_1024
1672*8fb009dcSAndroid Build Coastguard Worker
1673*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
1674*8fb009dcSAndroid Build Coastguard Worker$L$oop_scatter_1024:
1675*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	ymm0,YMMWORD[rdx]
1676*8fb009dcSAndroid Build Coastguard Worker	lea	rdx,[32+rdx]
1677*8fb009dcSAndroid Build Coastguard Worker	vpermd	ymm0,ymm5,ymm0
1678*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	XMMWORD[rcx],xmm0
1679*8fb009dcSAndroid Build Coastguard Worker	lea	rcx,[512+rcx]
1680*8fb009dcSAndroid Build Coastguard Worker	dec	eax
1681*8fb009dcSAndroid Build Coastguard Worker	jnz	NEAR $L$oop_scatter_1024
1682*8fb009dcSAndroid Build Coastguard Worker
1683*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1684*8fb009dcSAndroid Build Coastguard Worker	ret
1685*8fb009dcSAndroid Build Coastguard Worker
1686*8fb009dcSAndroid Build Coastguard Worker
1687*8fb009dcSAndroid Build Coastguard Worker
1688*8fb009dcSAndroid Build Coastguard Workerglobal	rsaz_1024_gather5_avx2
1689*8fb009dcSAndroid Build Coastguard Worker
1690*8fb009dcSAndroid Build Coastguard WorkerALIGN	32
1691*8fb009dcSAndroid Build Coastguard Workerrsaz_1024_gather5_avx2:
1692*8fb009dcSAndroid Build Coastguard Worker
1693*8fb009dcSAndroid Build Coastguard Worker_CET_ENDBR
1694*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1695*8fb009dcSAndroid Build Coastguard Worker	mov	r11,rsp
1696*8fb009dcSAndroid Build Coastguard Worker
1697*8fb009dcSAndroid Build Coastguard Worker	lea	rax,[((-136))+rsp]
1698*8fb009dcSAndroid Build Coastguard Worker$L$SEH_begin_rsaz_1024_gather5:
1699*8fb009dcSAndroid Build Coastguard Worker
1700*8fb009dcSAndroid Build Coastguard Worker	DB	0x48,0x8d,0x60,0xe0
1701*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0xf8,0x29,0x70,0xe0
1702*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0xf8,0x29,0x78,0xf0
1703*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x40,0x00
1704*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x48,0x10
1705*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x50,0x20
1706*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x58,0x30
1707*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x60,0x40
1708*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x68,0x50
1709*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x70,0x60
1710*8fb009dcSAndroid Build Coastguard Worker	DB	0xc5,0x78,0x29,0x78,0x70
1711*8fb009dcSAndroid Build Coastguard Worker	lea	rsp,[((-256))+rsp]
1712*8fb009dcSAndroid Build Coastguard Worker	and	rsp,-32
1713*8fb009dcSAndroid Build Coastguard Worker	lea	r10,[$L$inc]
1714*8fb009dcSAndroid Build Coastguard Worker	lea	rax,[((-128))+rsp]
1715*8fb009dcSAndroid Build Coastguard Worker
1716*8fb009dcSAndroid Build Coastguard Worker	vmovd	xmm4,r8d
1717*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm0,YMMWORD[r10]
1718*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm1,YMMWORD[32+r10]
1719*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm5,YMMWORD[64+r10]
1720*8fb009dcSAndroid Build Coastguard Worker	vpbroadcastd	ymm4,xmm4
1721*8fb009dcSAndroid Build Coastguard Worker
1722*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm2,ymm0,ymm5
1723*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm0,ymm0,ymm4
1724*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm3,ymm1,ymm5
1725*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm1,ymm1,ymm4
1726*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(0+128)+rax],ymm0
1727*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm0,ymm2,ymm5
1728*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm2,ymm2,ymm4
1729*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(32+128)+rax],ymm1
1730*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm1,ymm3,ymm5
1731*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm3,ymm3,ymm4
1732*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(64+128)+rax],ymm2
1733*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm2,ymm0,ymm5
1734*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm0,ymm0,ymm4
1735*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(96+128)+rax],ymm3
1736*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm3,ymm1,ymm5
1737*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm1,ymm1,ymm4
1738*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(128+128)+rax],ymm0
1739*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm8,ymm2,ymm5
1740*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm2,ymm2,ymm4
1741*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(160+128)+rax],ymm1
1742*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm9,ymm3,ymm5
1743*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm3,ymm3,ymm4
1744*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(192+128)+rax],ymm2
1745*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm10,ymm8,ymm5
1746*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm8,ymm8,ymm4
1747*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	YMMWORD[(224+128)+rax],ymm3
1748*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm11,ymm9,ymm5
1749*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm9,ymm9,ymm4
1750*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm12,ymm10,ymm5
1751*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm10,ymm10,ymm4
1752*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm13,ymm11,ymm5
1753*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm11,ymm11,ymm4
1754*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm14,ymm12,ymm5
1755*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm12,ymm12,ymm4
1756*8fb009dcSAndroid Build Coastguard Worker	vpaddd	ymm15,ymm13,ymm5
1757*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm13,ymm13,ymm4
1758*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm14,ymm14,ymm4
1759*8fb009dcSAndroid Build Coastguard Worker	vpcmpeqd	ymm15,ymm15,ymm4
1760*8fb009dcSAndroid Build Coastguard Worker
1761*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm7,YMMWORD[((-32))+r10]
1762*8fb009dcSAndroid Build Coastguard Worker	lea	rdx,[128+rdx]
1763*8fb009dcSAndroid Build Coastguard Worker	mov	r8d,9
1764*8fb009dcSAndroid Build Coastguard Worker
1765*8fb009dcSAndroid Build Coastguard Worker$L$oop_gather_1024:
1766*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm0,YMMWORD[((0-128))+rdx]
1767*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm1,YMMWORD[((32-128))+rdx]
1768*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm2,YMMWORD[((64-128))+rdx]
1769*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm3,YMMWORD[((96-128))+rdx]
1770*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm0,YMMWORD[((0+128))+rax]
1771*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,YMMWORD[((32+128))+rax]
1772*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm2,YMMWORD[((64+128))+rax]
1773*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm1,ymm0
1774*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,YMMWORD[((96+128))+rax]
1775*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm0,YMMWORD[((128-128))+rdx]
1776*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm1,YMMWORD[((160-128))+rdx]
1777*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm3,ymm2
1778*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm2,YMMWORD[((192-128))+rdx]
1779*8fb009dcSAndroid Build Coastguard Worker	vmovdqa	ymm3,YMMWORD[((224-128))+rdx]
1780*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm0,YMMWORD[((128+128))+rax]
1781*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm1,YMMWORD[((160+128))+rax]
1782*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm2,YMMWORD[((192+128))+rax]
1783*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm0
1784*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm3,YMMWORD[((224+128))+rax]
1785*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm8,YMMWORD[((256-128))+rdx]
1786*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm5,ymm1
1787*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm9,YMMWORD[((288-128))+rdx]
1788*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm2
1789*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm10,YMMWORD[((320-128))+rdx]
1790*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm5,ymm3
1791*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm11,YMMWORD[((352-128))+rdx]
1792*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm0
1793*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm0,ymm12,YMMWORD[((384-128))+rdx]
1794*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm5,ymm1
1795*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm1,ymm13,YMMWORD[((416-128))+rdx]
1796*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm2
1797*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm2,ymm14,YMMWORD[((448-128))+rdx]
1798*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm5,ymm3
1799*8fb009dcSAndroid Build Coastguard Worker	vpand	ymm3,ymm15,YMMWORD[((480-128))+rdx]
1800*8fb009dcSAndroid Build Coastguard Worker	lea	rdx,[512+rdx]
1801*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm0
1802*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm5,ymm1
1803*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm2
1804*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm5,ymm5,ymm3
1805*8fb009dcSAndroid Build Coastguard Worker
1806*8fb009dcSAndroid Build Coastguard Worker	vpor	ymm4,ymm4,ymm5
1807*8fb009dcSAndroid Build Coastguard Worker	vextracti128	xmm5,ymm4,1
1808*8fb009dcSAndroid Build Coastguard Worker	vpor	xmm5,xmm5,xmm4
1809*8fb009dcSAndroid Build Coastguard Worker	vpermd	ymm5,ymm7,ymm5
1810*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[rcx],ymm5
1811*8fb009dcSAndroid Build Coastguard Worker	lea	rcx,[32+rcx]
1812*8fb009dcSAndroid Build Coastguard Worker	dec	r8d
1813*8fb009dcSAndroid Build Coastguard Worker	jnz	NEAR $L$oop_gather_1024
1814*8fb009dcSAndroid Build Coastguard Worker
1815*8fb009dcSAndroid Build Coastguard Worker	vpxor	ymm0,ymm0,ymm0
1816*8fb009dcSAndroid Build Coastguard Worker	vmovdqu	YMMWORD[rcx],ymm0
1817*8fb009dcSAndroid Build Coastguard Worker	vzeroupper
1818*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm6,XMMWORD[((-168))+r11]
1819*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm7,XMMWORD[((-152))+r11]
1820*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm8,XMMWORD[((-136))+r11]
1821*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm9,XMMWORD[((-120))+r11]
1822*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm10,XMMWORD[((-104))+r11]
1823*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm11,XMMWORD[((-88))+r11]
1824*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm12,XMMWORD[((-72))+r11]
1825*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm13,XMMWORD[((-56))+r11]
1826*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm14,XMMWORD[((-40))+r11]
1827*8fb009dcSAndroid Build Coastguard Worker	movaps	xmm15,XMMWORD[((-24))+r11]
1828*8fb009dcSAndroid Build Coastguard Worker	lea	rsp,[r11]
1829*8fb009dcSAndroid Build Coastguard Worker
1830*8fb009dcSAndroid Build Coastguard Worker	ret
1831*8fb009dcSAndroid Build Coastguard Worker
1832*8fb009dcSAndroid Build Coastguard Worker$L$SEH_end_rsaz_1024_gather5:
1833*8fb009dcSAndroid Build Coastguard Worker
1834*8fb009dcSAndroid Build Coastguard Workersection	.rdata rdata align=8
1835*8fb009dcSAndroid Build Coastguard WorkerALIGN	64
1836*8fb009dcSAndroid Build Coastguard Worker$L$and_mask:
1837*8fb009dcSAndroid Build Coastguard Worker	DQ	0x1fffffff,0x1fffffff,0x1fffffff,0x1fffffff
1838*8fb009dcSAndroid Build Coastguard Worker$L$scatter_permd:
1839*8fb009dcSAndroid Build Coastguard Worker	DD	0,2,4,6,7,7,7,7
1840*8fb009dcSAndroid Build Coastguard Worker$L$gather_permd:
1841*8fb009dcSAndroid Build Coastguard Worker	DD	0,7,1,7,2,7,3,7
1842*8fb009dcSAndroid Build Coastguard Worker$L$inc:
1843*8fb009dcSAndroid Build Coastguard Worker	DD	0,0,0,0,1,1,1,1
1844*8fb009dcSAndroid Build Coastguard Worker	DD	2,2,2,2,3,3,3,3
1845*8fb009dcSAndroid Build Coastguard Worker	DD	4,4,4,4,4,4,4,4
1846*8fb009dcSAndroid Build Coastguard WorkerALIGN	64
1847*8fb009dcSAndroid Build Coastguard Workersection	.text
1848*8fb009dcSAndroid Build Coastguard Worker
1849*8fb009dcSAndroid Build Coastguard WorkerEXTERN	__imp_RtlVirtualUnwind
1850*8fb009dcSAndroid Build Coastguard Worker
1851*8fb009dcSAndroid Build Coastguard WorkerALIGN	16
1852*8fb009dcSAndroid Build Coastguard Workerrsaz_se_handler:
1853*8fb009dcSAndroid Build Coastguard Worker	push	rsi
1854*8fb009dcSAndroid Build Coastguard Worker	push	rdi
1855*8fb009dcSAndroid Build Coastguard Worker	push	rbx
1856*8fb009dcSAndroid Build Coastguard Worker	push	rbp
1857*8fb009dcSAndroid Build Coastguard Worker	push	r12
1858*8fb009dcSAndroid Build Coastguard Worker	push	r13
1859*8fb009dcSAndroid Build Coastguard Worker	push	r14
1860*8fb009dcSAndroid Build Coastguard Worker	push	r15
1861*8fb009dcSAndroid Build Coastguard Worker	pushfq
1862*8fb009dcSAndroid Build Coastguard Worker	sub	rsp,64
1863*8fb009dcSAndroid Build Coastguard Worker
1864*8fb009dcSAndroid Build Coastguard Worker	mov	rax,QWORD[120+r8]
1865*8fb009dcSAndroid Build Coastguard Worker	mov	rbx,QWORD[248+r8]
1866*8fb009dcSAndroid Build Coastguard Worker
1867*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,QWORD[8+r9]
1868*8fb009dcSAndroid Build Coastguard Worker	mov	r11,QWORD[56+r9]
1869*8fb009dcSAndroid Build Coastguard Worker
1870*8fb009dcSAndroid Build Coastguard Worker	mov	r10d,DWORD[r11]
1871*8fb009dcSAndroid Build Coastguard Worker	lea	r10,[r10*1+rsi]
1872*8fb009dcSAndroid Build Coastguard Worker	cmp	rbx,r10
1873*8fb009dcSAndroid Build Coastguard Worker	jb	NEAR $L$common_seh_tail
1874*8fb009dcSAndroid Build Coastguard Worker
1875*8fb009dcSAndroid Build Coastguard Worker	mov	r10d,DWORD[4+r11]
1876*8fb009dcSAndroid Build Coastguard Worker	lea	r10,[r10*1+rsi]
1877*8fb009dcSAndroid Build Coastguard Worker	cmp	rbx,r10
1878*8fb009dcSAndroid Build Coastguard Worker	jae	NEAR $L$common_seh_tail
1879*8fb009dcSAndroid Build Coastguard Worker
1880*8fb009dcSAndroid Build Coastguard Worker	mov	rbp,QWORD[160+r8]
1881*8fb009dcSAndroid Build Coastguard Worker
1882*8fb009dcSAndroid Build Coastguard Worker	mov	r10d,DWORD[8+r11]
1883*8fb009dcSAndroid Build Coastguard Worker	lea	r10,[r10*1+rsi]
1884*8fb009dcSAndroid Build Coastguard Worker	cmp	rbx,r10
1885*8fb009dcSAndroid Build Coastguard Worker	cmovc	rax,rbp
1886*8fb009dcSAndroid Build Coastguard Worker
1887*8fb009dcSAndroid Build Coastguard Worker	mov	r15,QWORD[((-48))+rax]
1888*8fb009dcSAndroid Build Coastguard Worker	mov	r14,QWORD[((-40))+rax]
1889*8fb009dcSAndroid Build Coastguard Worker	mov	r13,QWORD[((-32))+rax]
1890*8fb009dcSAndroid Build Coastguard Worker	mov	r12,QWORD[((-24))+rax]
1891*8fb009dcSAndroid Build Coastguard Worker	mov	rbp,QWORD[((-16))+rax]
1892*8fb009dcSAndroid Build Coastguard Worker	mov	rbx,QWORD[((-8))+rax]
1893*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[240+r8],r15
1894*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[232+r8],r14
1895*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[224+r8],r13
1896*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[216+r8],r12
1897*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[160+r8],rbp
1898*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[144+r8],rbx
1899*8fb009dcSAndroid Build Coastguard Worker
1900*8fb009dcSAndroid Build Coastguard Worker	lea	rsi,[((-216))+rax]
1901*8fb009dcSAndroid Build Coastguard Worker	lea	rdi,[512+r8]
1902*8fb009dcSAndroid Build Coastguard Worker	mov	ecx,20
1903*8fb009dcSAndroid Build Coastguard Worker	DD	0xa548f3fc
1904*8fb009dcSAndroid Build Coastguard Worker
1905*8fb009dcSAndroid Build Coastguard Worker$L$common_seh_tail:
1906*8fb009dcSAndroid Build Coastguard Worker	mov	rdi,QWORD[8+rax]
1907*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,QWORD[16+rax]
1908*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[152+r8],rax
1909*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[168+r8],rsi
1910*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[176+r8],rdi
1911*8fb009dcSAndroid Build Coastguard Worker
1912*8fb009dcSAndroid Build Coastguard Worker	mov	rdi,QWORD[40+r9]
1913*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,r8
1914*8fb009dcSAndroid Build Coastguard Worker	mov	ecx,154
1915*8fb009dcSAndroid Build Coastguard Worker	DD	0xa548f3fc
1916*8fb009dcSAndroid Build Coastguard Worker
1917*8fb009dcSAndroid Build Coastguard Worker	mov	rsi,r9
1918*8fb009dcSAndroid Build Coastguard Worker	xor	rcx,rcx
1919*8fb009dcSAndroid Build Coastguard Worker	mov	rdx,QWORD[8+rsi]
1920*8fb009dcSAndroid Build Coastguard Worker	mov	r8,QWORD[rsi]
1921*8fb009dcSAndroid Build Coastguard Worker	mov	r9,QWORD[16+rsi]
1922*8fb009dcSAndroid Build Coastguard Worker	mov	r10,QWORD[40+rsi]
1923*8fb009dcSAndroid Build Coastguard Worker	lea	r11,[56+rsi]
1924*8fb009dcSAndroid Build Coastguard Worker	lea	r12,[24+rsi]
1925*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[32+rsp],r10
1926*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[40+rsp],r11
1927*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[48+rsp],r12
1928*8fb009dcSAndroid Build Coastguard Worker	mov	QWORD[56+rsp],rcx
1929*8fb009dcSAndroid Build Coastguard Worker	call	QWORD[__imp_RtlVirtualUnwind]
1930*8fb009dcSAndroid Build Coastguard Worker
1931*8fb009dcSAndroid Build Coastguard Worker	mov	eax,1
1932*8fb009dcSAndroid Build Coastguard Worker	add	rsp,64
1933*8fb009dcSAndroid Build Coastguard Worker	popfq
1934*8fb009dcSAndroid Build Coastguard Worker	pop	r15
1935*8fb009dcSAndroid Build Coastguard Worker	pop	r14
1936*8fb009dcSAndroid Build Coastguard Worker	pop	r13
1937*8fb009dcSAndroid Build Coastguard Worker	pop	r12
1938*8fb009dcSAndroid Build Coastguard Worker	pop	rbp
1939*8fb009dcSAndroid Build Coastguard Worker	pop	rbx
1940*8fb009dcSAndroid Build Coastguard Worker	pop	rdi
1941*8fb009dcSAndroid Build Coastguard Worker	pop	rsi
1942*8fb009dcSAndroid Build Coastguard Worker	ret
1943*8fb009dcSAndroid Build Coastguard Worker
1944*8fb009dcSAndroid Build Coastguard Worker
1945*8fb009dcSAndroid Build Coastguard Workersection	.pdata rdata align=4
1946*8fb009dcSAndroid Build Coastguard WorkerALIGN	4
1947*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_begin_rsaz_1024_sqr_avx2 wrt ..imagebase
1948*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_end_rsaz_1024_sqr_avx2 wrt ..imagebase
1949*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_info_rsaz_1024_sqr_avx2 wrt ..imagebase
1950*8fb009dcSAndroid Build Coastguard Worker
1951*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_begin_rsaz_1024_mul_avx2 wrt ..imagebase
1952*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_end_rsaz_1024_mul_avx2 wrt ..imagebase
1953*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_info_rsaz_1024_mul_avx2 wrt ..imagebase
1954*8fb009dcSAndroid Build Coastguard Worker
1955*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_begin_rsaz_1024_gather5 wrt ..imagebase
1956*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_end_rsaz_1024_gather5 wrt ..imagebase
1957*8fb009dcSAndroid Build Coastguard Worker	DD	$L$SEH_info_rsaz_1024_gather5 wrt ..imagebase
1958*8fb009dcSAndroid Build Coastguard Workersection	.xdata rdata align=8
1959*8fb009dcSAndroid Build Coastguard WorkerALIGN	8
1960*8fb009dcSAndroid Build Coastguard Worker$L$SEH_info_rsaz_1024_sqr_avx2:
1961*8fb009dcSAndroid Build Coastguard Worker	DB	9,0,0,0
1962*8fb009dcSAndroid Build Coastguard Worker	DD	rsaz_se_handler wrt ..imagebase
1963*8fb009dcSAndroid Build Coastguard Worker	DD	$L$sqr_1024_body wrt ..imagebase,$L$sqr_1024_epilogue wrt ..imagebase,$L$sqr_1024_in_tail wrt ..imagebase
1964*8fb009dcSAndroid Build Coastguard Worker	DD	0
1965*8fb009dcSAndroid Build Coastguard Worker$L$SEH_info_rsaz_1024_mul_avx2:
1966*8fb009dcSAndroid Build Coastguard Worker	DB	9,0,0,0
1967*8fb009dcSAndroid Build Coastguard Worker	DD	rsaz_se_handler wrt ..imagebase
1968*8fb009dcSAndroid Build Coastguard Worker	DD	$L$mul_1024_body wrt ..imagebase,$L$mul_1024_epilogue wrt ..imagebase,$L$mul_1024_in_tail wrt ..imagebase
1969*8fb009dcSAndroid Build Coastguard Worker	DD	0
1970*8fb009dcSAndroid Build Coastguard Worker$L$SEH_info_rsaz_1024_gather5:
1971*8fb009dcSAndroid Build Coastguard Worker	DB	0x01,0x36,0x17,0x0b
1972*8fb009dcSAndroid Build Coastguard Worker	DB	0x36,0xf8,0x09,0x00
1973*8fb009dcSAndroid Build Coastguard Worker	DB	0x31,0xe8,0x08,0x00
1974*8fb009dcSAndroid Build Coastguard Worker	DB	0x2c,0xd8,0x07,0x00
1975*8fb009dcSAndroid Build Coastguard Worker	DB	0x27,0xc8,0x06,0x00
1976*8fb009dcSAndroid Build Coastguard Worker	DB	0x22,0xb8,0x05,0x00
1977*8fb009dcSAndroid Build Coastguard Worker	DB	0x1d,0xa8,0x04,0x00
1978*8fb009dcSAndroid Build Coastguard Worker	DB	0x18,0x98,0x03,0x00
1979*8fb009dcSAndroid Build Coastguard Worker	DB	0x13,0x88,0x02,0x00
1980*8fb009dcSAndroid Build Coastguard Worker	DB	0x0e,0x78,0x01,0x00
1981*8fb009dcSAndroid Build Coastguard Worker	DB	0x09,0x68,0x00,0x00
1982*8fb009dcSAndroid Build Coastguard Worker	DB	0x04,0x01,0x15,0x00
1983*8fb009dcSAndroid Build Coastguard Worker	DB	0x00,0xb3,0x00,0x00
1984*8fb009dcSAndroid Build Coastguard Worker%else
1985*8fb009dcSAndroid Build Coastguard Worker; Work around https://bugzilla.nasm.us/show_bug.cgi?id=3392738
1986*8fb009dcSAndroid Build Coastguard Workerret
1987*8fb009dcSAndroid Build Coastguard Worker%endif
1988