xref: /freebsd/sys/contrib/libsodium/src/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.S (revision 3611ec604864a7d4dcc9a3ea898c80eb35eef8a0)
1#ifdef IN_SANDY2X
2
3#include "ladder_namespace.h"
4#include "consts_namespace.h"
5.p2align 5
6
7#ifdef ASM_HIDE_SYMBOL
8ASM_HIDE_SYMBOL ladder
9ASM_HIDE_SYMBOL _ladder
10#endif
11.globl ladder
12.globl _ladder
13#ifdef __ELF__
14.type  ladder, @function
15.type _ladder, @function
16#endif
17ladder:
18_ladder:
19
20mov %rsp,%r11
21and $31,%r11
22add $1856,%r11
23sub %r11,%rsp
24movq %r11,1824(%rsp)
25movq %r12,1832(%rsp)
26movq %r13,1840(%rsp)
27movq %r14,1848(%rsp)
28vmovdqa v0_0(%rip),%xmm0
29vmovdqa v1_0(%rip),%xmm1
30vmovdqu 0(%rdi),%xmm2
31vmovdqa %xmm2,0(%rsp)
32vmovdqu 16(%rdi),%xmm2
33vmovdqa %xmm2,16(%rsp)
34vmovdqu 32(%rdi),%xmm2
35vmovdqa %xmm2,32(%rsp)
36vmovdqu 48(%rdi),%xmm2
37vmovdqa %xmm2,48(%rsp)
38vmovdqu 64(%rdi),%xmm2
39vmovdqa %xmm2,64(%rsp)
40vmovdqa %xmm1,80(%rsp)
41vmovdqa %xmm0,96(%rsp)
42vmovdqa %xmm0,112(%rsp)
43vmovdqa %xmm0,128(%rsp)
44vmovdqa %xmm0,144(%rsp)
45vmovdqa %xmm1,%xmm0
46vpxor %xmm1,%xmm1,%xmm1
47vpxor %xmm2,%xmm2,%xmm2
48vpxor %xmm3,%xmm3,%xmm3
49vpxor %xmm4,%xmm4,%xmm4
50vpxor %xmm5,%xmm5,%xmm5
51vpxor %xmm6,%xmm6,%xmm6
52vpxor %xmm7,%xmm7,%xmm7
53vpxor %xmm8,%xmm8,%xmm8
54vpxor %xmm9,%xmm9,%xmm9
55vmovdqu 0(%rdi),%xmm10
56vmovdqa %xmm10,160(%rsp)
57vmovdqu 16(%rdi),%xmm10
58vmovdqa %xmm10,176(%rsp)
59vpmuludq v19_19(%rip),%xmm10,%xmm10
60vmovdqa %xmm10,192(%rsp)
61vmovdqu 32(%rdi),%xmm10
62vmovdqa %xmm10,208(%rsp)
63vpmuludq v19_19(%rip),%xmm10,%xmm10
64vmovdqa %xmm10,224(%rsp)
65vmovdqu 48(%rdi),%xmm10
66vmovdqa %xmm10,240(%rsp)
67vpmuludq v19_19(%rip),%xmm10,%xmm10
68vmovdqa %xmm10,256(%rsp)
69vmovdqu 64(%rdi),%xmm10
70vmovdqa %xmm10,272(%rsp)
71vpmuludq v19_19(%rip),%xmm10,%xmm10
72vmovdqa %xmm10,288(%rsp)
73vmovdqu 8(%rdi),%xmm10
74vpmuludq v2_1(%rip),%xmm10,%xmm10
75vmovdqa %xmm10,304(%rsp)
76vpmuludq v19_19(%rip),%xmm10,%xmm10
77vmovdqa %xmm10,320(%rsp)
78vmovdqu 24(%rdi),%xmm10
79vpmuludq v2_1(%rip),%xmm10,%xmm10
80vmovdqa %xmm10,336(%rsp)
81vpmuludq v19_19(%rip),%xmm10,%xmm10
82vmovdqa %xmm10,352(%rsp)
83vmovdqu 40(%rdi),%xmm10
84vpmuludq v2_1(%rip),%xmm10,%xmm10
85vmovdqa %xmm10,368(%rsp)
86vpmuludq v19_19(%rip),%xmm10,%xmm10
87vmovdqa %xmm10,384(%rsp)
88vmovdqu 56(%rdi),%xmm10
89vpmuludq v2_1(%rip),%xmm10,%xmm10
90vmovdqa %xmm10,400(%rsp)
91vpmuludq v19_19(%rip),%xmm10,%xmm10
92vmovdqa %xmm10,416(%rsp)
93vmovdqu 0(%rdi),%xmm10
94vmovdqu 64(%rdi),%xmm11
95vblendps $12, %xmm11, %xmm10, %xmm10
96vpshufd $2,%xmm10,%xmm10
97vpmuludq v38_1(%rip),%xmm10,%xmm10
98vmovdqa %xmm10,432(%rsp)
99movq   0(%rsi),%rdx
100movq   8(%rsi),%rcx
101movq   16(%rsi),%r8
102movq   24(%rsi),%r9
103shrd $1,%rcx,%rdx
104shrd $1,%r8,%rcx
105shrd $1,%r9,%r8
106shr  $1,%r9
107xorq 0(%rsi),%rdx
108xorq 8(%rsi),%rcx
109xorq 16(%rsi),%r8
110xorq 24(%rsi),%r9
111leaq 800(%rsp),%rsi
112mov  $64,%rax
113
114.p2align 4
115._ladder_small_loop:
116mov  %rdx,%r10
117mov  %rcx,%r11
118mov  %r8,%r12
119mov  %r9,%r13
120shr  $1,%rdx
121shr  $1,%rcx
122shr  $1,%r8
123shr  $1,%r9
124and  $1,%r10d
125and  $1,%r11d
126and  $1,%r12d
127and  $1,%r13d
128neg  %r10
129neg  %r11
130neg  %r12
131neg  %r13
132movl   %r10d,0(%rsi)
133movl   %r11d,256(%rsi)
134movl   %r12d,512(%rsi)
135movl   %r13d,768(%rsi)
136add  $4,%rsi
137sub  $1,%rax
138jne ._ladder_small_loop
139mov  $255,%rdx
140add  $760,%rsi
141
142.p2align 4
143._ladder_loop:
144sub  $1,%rdx
145vbroadcastss 0(%rsi),%xmm10
146sub  $4,%rsi
147vmovdqa 0(%rsp),%xmm11
148vmovdqa 80(%rsp),%xmm12
149vpxor %xmm11,%xmm0,%xmm13
150vpand %xmm10,%xmm13,%xmm13
151vpxor %xmm13,%xmm0,%xmm0
152vpxor %xmm13,%xmm11,%xmm11
153vpxor %xmm12,%xmm1,%xmm13
154vpand %xmm10,%xmm13,%xmm13
155vpxor %xmm13,%xmm1,%xmm1
156vpxor %xmm13,%xmm12,%xmm12
157vmovdqa 16(%rsp),%xmm13
158vmovdqa 96(%rsp),%xmm14
159vpxor %xmm13,%xmm2,%xmm15
160vpand %xmm10,%xmm15,%xmm15
161vpxor %xmm15,%xmm2,%xmm2
162vpxor %xmm15,%xmm13,%xmm13
163vpxor %xmm14,%xmm3,%xmm15
164vpand %xmm10,%xmm15,%xmm15
165vpxor %xmm15,%xmm3,%xmm3
166vpxor %xmm15,%xmm14,%xmm14
167vmovdqa %xmm13,0(%rsp)
168vmovdqa %xmm14,16(%rsp)
169vmovdqa 32(%rsp),%xmm13
170vmovdqa 112(%rsp),%xmm14
171vpxor %xmm13,%xmm4,%xmm15
172vpand %xmm10,%xmm15,%xmm15
173vpxor %xmm15,%xmm4,%xmm4
174vpxor %xmm15,%xmm13,%xmm13
175vpxor %xmm14,%xmm5,%xmm15
176vpand %xmm10,%xmm15,%xmm15
177vpxor %xmm15,%xmm5,%xmm5
178vpxor %xmm15,%xmm14,%xmm14
179vmovdqa %xmm13,32(%rsp)
180vmovdqa %xmm14,80(%rsp)
181vmovdqa 48(%rsp),%xmm13
182vmovdqa 128(%rsp),%xmm14
183vpxor %xmm13,%xmm6,%xmm15
184vpand %xmm10,%xmm15,%xmm15
185vpxor %xmm15,%xmm6,%xmm6
186vpxor %xmm15,%xmm13,%xmm13
187vpxor %xmm14,%xmm7,%xmm15
188vpand %xmm10,%xmm15,%xmm15
189vpxor %xmm15,%xmm7,%xmm7
190vpxor %xmm15,%xmm14,%xmm14
191vmovdqa %xmm13,48(%rsp)
192vmovdqa %xmm14,96(%rsp)
193vmovdqa 64(%rsp),%xmm13
194vmovdqa 144(%rsp),%xmm14
195vpxor %xmm13,%xmm8,%xmm15
196vpand %xmm10,%xmm15,%xmm15
197vpxor %xmm15,%xmm8,%xmm8
198vpxor %xmm15,%xmm13,%xmm13
199vpxor %xmm14,%xmm9,%xmm15
200vpand %xmm10,%xmm15,%xmm15
201vpxor %xmm15,%xmm9,%xmm9
202vpxor %xmm15,%xmm14,%xmm14
203vmovdqa %xmm13,64(%rsp)
204vmovdqa %xmm14,112(%rsp)
205vpaddq subc0(%rip),%xmm11,%xmm10
206vpsubq %xmm12,%xmm10,%xmm10
207vpaddq %xmm12,%xmm11,%xmm11
208vpunpckhqdq %xmm10,%xmm11,%xmm12
209vpunpcklqdq %xmm10,%xmm11,%xmm10
210vpaddq %xmm1,%xmm0,%xmm11
211vpaddq subc0(%rip),%xmm0,%xmm0
212vpsubq %xmm1,%xmm0,%xmm0
213vpunpckhqdq %xmm11,%xmm0,%xmm1
214vpunpcklqdq %xmm11,%xmm0,%xmm0
215vpmuludq %xmm0,%xmm10,%xmm11
216vpmuludq %xmm1,%xmm10,%xmm13
217vmovdqa %xmm1,128(%rsp)
218vpaddq %xmm1,%xmm1,%xmm1
219vpmuludq %xmm0,%xmm12,%xmm14
220vmovdqa %xmm0,144(%rsp)
221vpaddq %xmm14,%xmm13,%xmm13
222vpmuludq %xmm1,%xmm12,%xmm0
223vmovdqa %xmm1,448(%rsp)
224vpaddq %xmm3,%xmm2,%xmm1
225vpaddq subc2(%rip),%xmm2,%xmm2
226vpsubq %xmm3,%xmm2,%xmm2
227vpunpckhqdq %xmm1,%xmm2,%xmm3
228vpunpcklqdq %xmm1,%xmm2,%xmm1
229vpmuludq %xmm1,%xmm10,%xmm2
230vpaddq %xmm2,%xmm0,%xmm0
231vpmuludq %xmm3,%xmm10,%xmm2
232vmovdqa %xmm3,464(%rsp)
233vpaddq %xmm3,%xmm3,%xmm3
234vpmuludq %xmm1,%xmm12,%xmm14
235vmovdqa %xmm1,480(%rsp)
236vpaddq %xmm14,%xmm2,%xmm2
237vpmuludq %xmm3,%xmm12,%xmm1
238vmovdqa %xmm3,496(%rsp)
239vpaddq %xmm5,%xmm4,%xmm3
240vpaddq subc2(%rip),%xmm4,%xmm4
241vpsubq %xmm5,%xmm4,%xmm4
242vpunpckhqdq %xmm3,%xmm4,%xmm5
243vpunpcklqdq %xmm3,%xmm4,%xmm3
244vpmuludq %xmm3,%xmm10,%xmm4
245vpaddq %xmm4,%xmm1,%xmm1
246vpmuludq %xmm5,%xmm10,%xmm4
247vmovdqa %xmm5,512(%rsp)
248vpaddq %xmm5,%xmm5,%xmm5
249vpmuludq %xmm3,%xmm12,%xmm14
250vmovdqa %xmm3,528(%rsp)
251vpaddq %xmm14,%xmm4,%xmm4
252vpaddq %xmm7,%xmm6,%xmm3
253vpaddq subc2(%rip),%xmm6,%xmm6
254vpsubq %xmm7,%xmm6,%xmm6
255vpunpckhqdq %xmm3,%xmm6,%xmm7
256vpunpcklqdq %xmm3,%xmm6,%xmm3
257vpmuludq %xmm3,%xmm10,%xmm6
258vpmuludq %xmm5,%xmm12,%xmm14
259vmovdqa %xmm5,544(%rsp)
260vpmuludq v19_19(%rip),%xmm5,%xmm5
261vmovdqa %xmm5,560(%rsp)
262vpaddq %xmm14,%xmm6,%xmm6
263vpmuludq %xmm7,%xmm10,%xmm5
264vmovdqa %xmm7,576(%rsp)
265vpaddq %xmm7,%xmm7,%xmm7
266vpmuludq %xmm3,%xmm12,%xmm14
267vmovdqa %xmm3,592(%rsp)
268vpaddq %xmm14,%xmm5,%xmm5
269vpmuludq v19_19(%rip),%xmm3,%xmm3
270vmovdqa %xmm3,608(%rsp)
271vpaddq %xmm9,%xmm8,%xmm3
272vpaddq subc2(%rip),%xmm8,%xmm8
273vpsubq %xmm9,%xmm8,%xmm8
274vpunpckhqdq %xmm3,%xmm8,%xmm9
275vpunpcklqdq %xmm3,%xmm8,%xmm3
276vmovdqa %xmm3,624(%rsp)
277vpmuludq %xmm7,%xmm12,%xmm8
278vmovdqa %xmm7,640(%rsp)
279vpmuludq v19_19(%rip),%xmm7,%xmm7
280vmovdqa %xmm7,656(%rsp)
281vpmuludq %xmm3,%xmm10,%xmm7
282vpaddq %xmm7,%xmm8,%xmm8
283vpmuludq %xmm9,%xmm10,%xmm7
284vmovdqa %xmm9,672(%rsp)
285vpaddq %xmm9,%xmm9,%xmm9
286vpmuludq %xmm3,%xmm12,%xmm10
287vpaddq %xmm10,%xmm7,%xmm7
288vpmuludq v19_19(%rip),%xmm3,%xmm3
289vmovdqa %xmm3,688(%rsp)
290vpmuludq v19_19(%rip),%xmm12,%xmm12
291vpmuludq %xmm9,%xmm12,%xmm3
292vmovdqa %xmm9,704(%rsp)
293vpaddq %xmm3,%xmm11,%xmm11
294vmovdqa 0(%rsp),%xmm3
295vmovdqa 16(%rsp),%xmm9
296vpaddq subc2(%rip),%xmm3,%xmm10
297vpsubq %xmm9,%xmm10,%xmm10
298vpaddq %xmm9,%xmm3,%xmm3
299vpunpckhqdq %xmm10,%xmm3,%xmm9
300vpunpcklqdq %xmm10,%xmm3,%xmm3
301vpmuludq 144(%rsp),%xmm3,%xmm10
302vpaddq %xmm10,%xmm0,%xmm0
303vpmuludq 128(%rsp),%xmm3,%xmm10
304vpaddq %xmm10,%xmm2,%xmm2
305vpmuludq 480(%rsp),%xmm3,%xmm10
306vpaddq %xmm10,%xmm1,%xmm1
307vpmuludq 464(%rsp),%xmm3,%xmm10
308vpaddq %xmm10,%xmm4,%xmm4
309vpmuludq 528(%rsp),%xmm3,%xmm10
310vpaddq %xmm10,%xmm6,%xmm6
311vpmuludq 512(%rsp),%xmm3,%xmm10
312vpaddq %xmm10,%xmm5,%xmm5
313vpmuludq 592(%rsp),%xmm3,%xmm10
314vpaddq %xmm10,%xmm8,%xmm8
315vpmuludq 576(%rsp),%xmm3,%xmm10
316vpaddq %xmm10,%xmm7,%xmm7
317vpmuludq v19_19(%rip),%xmm3,%xmm3
318vpmuludq 624(%rsp),%xmm3,%xmm10
319vpaddq %xmm10,%xmm11,%xmm11
320vpmuludq 672(%rsp),%xmm3,%xmm3
321vpaddq %xmm3,%xmm13,%xmm13
322vpmuludq 144(%rsp),%xmm9,%xmm3
323vpaddq %xmm3,%xmm2,%xmm2
324vpmuludq 448(%rsp),%xmm9,%xmm3
325vpaddq %xmm3,%xmm1,%xmm1
326vpmuludq 480(%rsp),%xmm9,%xmm3
327vpaddq %xmm3,%xmm4,%xmm4
328vpmuludq 496(%rsp),%xmm9,%xmm3
329vpaddq %xmm3,%xmm6,%xmm6
330vpmuludq 528(%rsp),%xmm9,%xmm3
331vpaddq %xmm3,%xmm5,%xmm5
332vpmuludq 544(%rsp),%xmm9,%xmm3
333vpaddq %xmm3,%xmm8,%xmm8
334vpmuludq 592(%rsp),%xmm9,%xmm3
335vpaddq %xmm3,%xmm7,%xmm7
336vpmuludq v19_19(%rip),%xmm9,%xmm9
337vpmuludq 640(%rsp),%xmm9,%xmm3
338vpaddq %xmm3,%xmm11,%xmm11
339vpmuludq 624(%rsp),%xmm9,%xmm3
340vpaddq %xmm3,%xmm13,%xmm13
341vpmuludq 704(%rsp),%xmm9,%xmm9
342vpaddq %xmm9,%xmm0,%xmm0
343vmovdqa 32(%rsp),%xmm3
344vmovdqa 80(%rsp),%xmm9
345vpaddq subc2(%rip),%xmm3,%xmm10
346vpsubq %xmm9,%xmm10,%xmm10
347vpaddq %xmm9,%xmm3,%xmm3
348vpunpckhqdq %xmm10,%xmm3,%xmm9
349vpunpcklqdq %xmm10,%xmm3,%xmm3
350vpmuludq 144(%rsp),%xmm3,%xmm10
351vpaddq %xmm10,%xmm1,%xmm1
352vpmuludq 128(%rsp),%xmm3,%xmm10
353vpaddq %xmm10,%xmm4,%xmm4
354vpmuludq 480(%rsp),%xmm3,%xmm10
355vpaddq %xmm10,%xmm6,%xmm6
356vpmuludq 464(%rsp),%xmm3,%xmm10
357vpaddq %xmm10,%xmm5,%xmm5
358vpmuludq 528(%rsp),%xmm3,%xmm10
359vpaddq %xmm10,%xmm8,%xmm8
360vpmuludq 512(%rsp),%xmm3,%xmm10
361vpaddq %xmm10,%xmm7,%xmm7
362vpmuludq v19_19(%rip),%xmm3,%xmm3
363vpmuludq 592(%rsp),%xmm3,%xmm10
364vpaddq %xmm10,%xmm11,%xmm11
365vpmuludq 576(%rsp),%xmm3,%xmm10
366vpaddq %xmm10,%xmm13,%xmm13
367vpmuludq 624(%rsp),%xmm3,%xmm10
368vpaddq %xmm10,%xmm0,%xmm0
369vpmuludq 672(%rsp),%xmm3,%xmm3
370vpaddq %xmm3,%xmm2,%xmm2
371vpmuludq 144(%rsp),%xmm9,%xmm3
372vpaddq %xmm3,%xmm4,%xmm4
373vpmuludq 448(%rsp),%xmm9,%xmm3
374vpaddq %xmm3,%xmm6,%xmm6
375vpmuludq 480(%rsp),%xmm9,%xmm3
376vpaddq %xmm3,%xmm5,%xmm5
377vpmuludq 496(%rsp),%xmm9,%xmm3
378vpaddq %xmm3,%xmm8,%xmm8
379vpmuludq 528(%rsp),%xmm9,%xmm3
380vpaddq %xmm3,%xmm7,%xmm7
381vpmuludq v19_19(%rip),%xmm9,%xmm9
382vpmuludq 544(%rsp),%xmm9,%xmm3
383vpaddq %xmm3,%xmm11,%xmm11
384vpmuludq 592(%rsp),%xmm9,%xmm3
385vpaddq %xmm3,%xmm13,%xmm13
386vpmuludq 640(%rsp),%xmm9,%xmm3
387vpaddq %xmm3,%xmm0,%xmm0
388vpmuludq 624(%rsp),%xmm9,%xmm3
389vpaddq %xmm3,%xmm2,%xmm2
390vpmuludq 704(%rsp),%xmm9,%xmm9
391vpaddq %xmm9,%xmm1,%xmm1
392vmovdqa 48(%rsp),%xmm3
393vmovdqa 96(%rsp),%xmm9
394vpaddq subc2(%rip),%xmm3,%xmm10
395vpsubq %xmm9,%xmm10,%xmm10
396vpaddq %xmm9,%xmm3,%xmm3
397vpunpckhqdq %xmm10,%xmm3,%xmm9
398vpunpcklqdq %xmm10,%xmm3,%xmm3
399vpmuludq 144(%rsp),%xmm3,%xmm10
400vpaddq %xmm10,%xmm6,%xmm6
401vpmuludq 128(%rsp),%xmm3,%xmm10
402vpaddq %xmm10,%xmm5,%xmm5
403vpmuludq 480(%rsp),%xmm3,%xmm10
404vpaddq %xmm10,%xmm8,%xmm8
405vpmuludq 464(%rsp),%xmm3,%xmm10
406vpaddq %xmm10,%xmm7,%xmm7
407vpmuludq v19_19(%rip),%xmm3,%xmm3
408vpmuludq 528(%rsp),%xmm3,%xmm10
409vpaddq %xmm10,%xmm11,%xmm11
410vpmuludq 512(%rsp),%xmm3,%xmm10
411vpaddq %xmm10,%xmm13,%xmm13
412vpmuludq 592(%rsp),%xmm3,%xmm10
413vpaddq %xmm10,%xmm0,%xmm0
414vpmuludq 576(%rsp),%xmm3,%xmm10
415vpaddq %xmm10,%xmm2,%xmm2
416vpmuludq 624(%rsp),%xmm3,%xmm10
417vpaddq %xmm10,%xmm1,%xmm1
418vpmuludq 672(%rsp),%xmm3,%xmm3
419vpaddq %xmm3,%xmm4,%xmm4
420vpmuludq 144(%rsp),%xmm9,%xmm3
421vpaddq %xmm3,%xmm5,%xmm5
422vpmuludq 448(%rsp),%xmm9,%xmm3
423vpaddq %xmm3,%xmm8,%xmm8
424vpmuludq 480(%rsp),%xmm9,%xmm3
425vpaddq %xmm3,%xmm7,%xmm7
426vpmuludq v19_19(%rip),%xmm9,%xmm9
427vpmuludq 496(%rsp),%xmm9,%xmm3
428vpaddq %xmm3,%xmm11,%xmm11
429vpmuludq 528(%rsp),%xmm9,%xmm3
430vpaddq %xmm3,%xmm13,%xmm13
431vpmuludq 544(%rsp),%xmm9,%xmm3
432vpaddq %xmm3,%xmm0,%xmm0
433vpmuludq 592(%rsp),%xmm9,%xmm3
434vpaddq %xmm3,%xmm2,%xmm2
435vpmuludq 640(%rsp),%xmm9,%xmm3
436vpaddq %xmm3,%xmm1,%xmm1
437vpmuludq 624(%rsp),%xmm9,%xmm3
438vpaddq %xmm3,%xmm4,%xmm4
439vpmuludq 704(%rsp),%xmm9,%xmm9
440vpaddq %xmm9,%xmm6,%xmm6
441vmovdqa 64(%rsp),%xmm3
442vmovdqa 112(%rsp),%xmm9
443vpaddq subc2(%rip),%xmm3,%xmm10
444vpsubq %xmm9,%xmm10,%xmm10
445vpaddq %xmm9,%xmm3,%xmm3
446vpunpckhqdq %xmm10,%xmm3,%xmm9
447vpunpcklqdq %xmm10,%xmm3,%xmm3
448vpmuludq 144(%rsp),%xmm3,%xmm10
449vpaddq %xmm10,%xmm8,%xmm8
450vpmuludq 128(%rsp),%xmm3,%xmm10
451vpaddq %xmm10,%xmm7,%xmm7
452vpmuludq v19_19(%rip),%xmm3,%xmm3
453vpmuludq 480(%rsp),%xmm3,%xmm10
454vpaddq %xmm10,%xmm11,%xmm11
455vpmuludq 464(%rsp),%xmm3,%xmm10
456vpaddq %xmm10,%xmm13,%xmm13
457vpmuludq 528(%rsp),%xmm3,%xmm10
458vpaddq %xmm10,%xmm0,%xmm0
459vpmuludq 512(%rsp),%xmm3,%xmm10
460vpaddq %xmm10,%xmm2,%xmm2
461vpmuludq 592(%rsp),%xmm3,%xmm10
462vpaddq %xmm10,%xmm1,%xmm1
463vpmuludq 576(%rsp),%xmm3,%xmm10
464vpaddq %xmm10,%xmm4,%xmm4
465vpmuludq 624(%rsp),%xmm3,%xmm10
466vpaddq %xmm10,%xmm6,%xmm6
467vpmuludq 672(%rsp),%xmm3,%xmm3
468vpaddq %xmm3,%xmm5,%xmm5
469vpmuludq 144(%rsp),%xmm9,%xmm3
470vpaddq %xmm3,%xmm7,%xmm7
471vpmuludq v19_19(%rip),%xmm9,%xmm9
472vpmuludq 448(%rsp),%xmm9,%xmm3
473vpaddq %xmm3,%xmm11,%xmm11
474vpmuludq 480(%rsp),%xmm9,%xmm3
475vpaddq %xmm3,%xmm13,%xmm13
476vpmuludq 496(%rsp),%xmm9,%xmm3
477vpaddq %xmm3,%xmm0,%xmm0
478vpmuludq 528(%rsp),%xmm9,%xmm3
479vpaddq %xmm3,%xmm2,%xmm2
480vpmuludq 544(%rsp),%xmm9,%xmm3
481vpaddq %xmm3,%xmm1,%xmm1
482vpmuludq 592(%rsp),%xmm9,%xmm3
483vpaddq %xmm3,%xmm4,%xmm4
484vpmuludq 640(%rsp),%xmm9,%xmm3
485vpaddq %xmm3,%xmm6,%xmm6
486vpmuludq 624(%rsp),%xmm9,%xmm3
487vpaddq %xmm3,%xmm5,%xmm5
488vpmuludq 704(%rsp),%xmm9,%xmm9
489vpaddq %xmm9,%xmm8,%xmm8
490vpsrlq $25,%xmm4,%xmm3
491vpaddq %xmm3,%xmm6,%xmm6
492vpand m25(%rip),%xmm4,%xmm4
493vpsrlq $26,%xmm11,%xmm3
494vpaddq %xmm3,%xmm13,%xmm13
495vpand m26(%rip),%xmm11,%xmm11
496vpsrlq $26,%xmm6,%xmm3
497vpaddq %xmm3,%xmm5,%xmm5
498vpand m26(%rip),%xmm6,%xmm6
499vpsrlq $25,%xmm13,%xmm3
500vpaddq %xmm3,%xmm0,%xmm0
501vpand m25(%rip),%xmm13,%xmm13
502vpsrlq $25,%xmm5,%xmm3
503vpaddq %xmm3,%xmm8,%xmm8
504vpand m25(%rip),%xmm5,%xmm5
505vpsrlq $26,%xmm0,%xmm3
506vpaddq %xmm3,%xmm2,%xmm2
507vpand m26(%rip),%xmm0,%xmm0
508vpsrlq $26,%xmm8,%xmm3
509vpaddq %xmm3,%xmm7,%xmm7
510vpand m26(%rip),%xmm8,%xmm8
511vpsrlq $25,%xmm2,%xmm3
512vpaddq %xmm3,%xmm1,%xmm1
513vpand m25(%rip),%xmm2,%xmm2
514vpsrlq $25,%xmm7,%xmm3
515vpsllq $4,%xmm3,%xmm9
516vpaddq %xmm3,%xmm11,%xmm11
517vpsllq $1,%xmm3,%xmm3
518vpaddq %xmm3,%xmm9,%xmm9
519vpaddq %xmm9,%xmm11,%xmm11
520vpand m25(%rip),%xmm7,%xmm7
521vpsrlq $26,%xmm1,%xmm3
522vpaddq %xmm3,%xmm4,%xmm4
523vpand m26(%rip),%xmm1,%xmm1
524vpsrlq $26,%xmm11,%xmm3
525vpaddq %xmm3,%xmm13,%xmm13
526vpand m26(%rip),%xmm11,%xmm11
527vpsrlq $25,%xmm4,%xmm3
528vpaddq %xmm3,%xmm6,%xmm6
529vpand m25(%rip),%xmm4,%xmm4
530vpunpcklqdq %xmm13,%xmm11,%xmm3
531vpunpckhqdq %xmm13,%xmm11,%xmm9
532vpaddq subc0(%rip),%xmm9,%xmm10
533vpsubq %xmm3,%xmm10,%xmm10
534vpaddq %xmm9,%xmm3,%xmm3
535vpunpckhqdq %xmm3,%xmm10,%xmm9
536vpunpcklqdq %xmm3,%xmm10,%xmm10
537vpmuludq %xmm10,%xmm10,%xmm3
538vpaddq %xmm10,%xmm10,%xmm10
539vpmuludq %xmm9,%xmm10,%xmm11
540vpunpcklqdq %xmm2,%xmm0,%xmm12
541vpunpckhqdq %xmm2,%xmm0,%xmm0
542vpaddq subc2(%rip),%xmm0,%xmm2
543vpsubq %xmm12,%xmm2,%xmm2
544vpaddq %xmm0,%xmm12,%xmm12
545vpunpckhqdq %xmm12,%xmm2,%xmm0
546vpunpcklqdq %xmm12,%xmm2,%xmm2
547vpmuludq %xmm2,%xmm10,%xmm12
548vpaddq %xmm9,%xmm9,%xmm13
549vpmuludq %xmm13,%xmm9,%xmm9
550vpaddq %xmm9,%xmm12,%xmm12
551vpmuludq %xmm0,%xmm10,%xmm9
552vpmuludq %xmm2,%xmm13,%xmm14
553vpaddq %xmm14,%xmm9,%xmm9
554vpunpcklqdq %xmm4,%xmm1,%xmm14
555vpunpckhqdq %xmm4,%xmm1,%xmm1
556vpaddq subc2(%rip),%xmm1,%xmm4
557vpsubq %xmm14,%xmm4,%xmm4
558vpaddq %xmm1,%xmm14,%xmm14
559vpunpckhqdq %xmm14,%xmm4,%xmm1
560vpunpcklqdq %xmm14,%xmm4,%xmm4
561vmovdqa %xmm1,0(%rsp)
562vpaddq %xmm1,%xmm1,%xmm1
563vmovdqa %xmm1,16(%rsp)
564vpmuludq v19_19(%rip),%xmm1,%xmm1
565vmovdqa %xmm1,32(%rsp)
566vpmuludq %xmm4,%xmm10,%xmm1
567vpmuludq %xmm2,%xmm2,%xmm14
568vpaddq %xmm14,%xmm1,%xmm1
569vpmuludq 0(%rsp),%xmm10,%xmm14
570vpmuludq %xmm4,%xmm13,%xmm15
571vpaddq %xmm15,%xmm14,%xmm14
572vpunpcklqdq %xmm5,%xmm6,%xmm15
573vpunpckhqdq %xmm5,%xmm6,%xmm5
574vpaddq subc2(%rip),%xmm5,%xmm6
575vpsubq %xmm15,%xmm6,%xmm6
576vpaddq %xmm5,%xmm15,%xmm15
577vpunpckhqdq %xmm15,%xmm6,%xmm5
578vpunpcklqdq %xmm15,%xmm6,%xmm6
579vmovdqa %xmm6,48(%rsp)
580vpmuludq v19_19(%rip),%xmm6,%xmm6
581vmovdqa %xmm6,64(%rsp)
582vmovdqa %xmm5,80(%rsp)
583vpmuludq v38_38(%rip),%xmm5,%xmm5
584vmovdqa %xmm5,96(%rsp)
585vpmuludq 48(%rsp),%xmm10,%xmm5
586vpaddq %xmm0,%xmm0,%xmm6
587vpmuludq %xmm6,%xmm0,%xmm0
588vpaddq %xmm0,%xmm5,%xmm5
589vpmuludq 80(%rsp),%xmm10,%xmm0
590vpmuludq %xmm4,%xmm6,%xmm15
591vpaddq %xmm15,%xmm0,%xmm0
592vpmuludq %xmm6,%xmm13,%xmm15
593vpaddq %xmm15,%xmm1,%xmm1
594vpmuludq %xmm6,%xmm2,%xmm15
595vpaddq %xmm15,%xmm14,%xmm14
596vpunpcklqdq %xmm7,%xmm8,%xmm15
597vpunpckhqdq %xmm7,%xmm8,%xmm7
598vpaddq subc2(%rip),%xmm7,%xmm8
599vpsubq %xmm15,%xmm8,%xmm8
600vpaddq %xmm7,%xmm15,%xmm15
601vpunpckhqdq %xmm15,%xmm8,%xmm7
602vpunpcklqdq %xmm15,%xmm8,%xmm8
603vmovdqa %xmm8,112(%rsp)
604vpmuludq v19_19(%rip),%xmm8,%xmm8
605vmovdqa %xmm8,448(%rsp)
606vpmuludq 112(%rsp),%xmm10,%xmm8
607vpmuludq %xmm7,%xmm10,%xmm10
608vpmuludq v38_38(%rip),%xmm7,%xmm15
609vpmuludq %xmm15,%xmm7,%xmm7
610vpaddq %xmm7,%xmm8,%xmm8
611vpmuludq %xmm15,%xmm13,%xmm7
612vpaddq %xmm7,%xmm3,%xmm3
613vpmuludq %xmm15,%xmm2,%xmm7
614vpaddq %xmm7,%xmm11,%xmm11
615vpmuludq 80(%rsp),%xmm13,%xmm7
616vpaddq %xmm7,%xmm7,%xmm7
617vpaddq %xmm7,%xmm8,%xmm8
618vpmuludq 16(%rsp),%xmm13,%xmm7
619vpaddq %xmm7,%xmm5,%xmm5
620vpmuludq 48(%rsp),%xmm13,%xmm7
621vpaddq %xmm7,%xmm0,%xmm0
622vpmuludq 112(%rsp),%xmm13,%xmm7
623vpaddq %xmm7,%xmm10,%xmm10
624vpmuludq %xmm15,%xmm6,%xmm7
625vpaddq %xmm7,%xmm12,%xmm12
626vpmuludq %xmm15,%xmm4,%xmm7
627vpaddq %xmm7,%xmm9,%xmm9
628vpaddq %xmm2,%xmm2,%xmm2
629vpmuludq %xmm4,%xmm2,%xmm7
630vpaddq %xmm7,%xmm5,%xmm5
631vpmuludq 448(%rsp),%xmm2,%xmm7
632vpaddq %xmm7,%xmm3,%xmm3
633vpmuludq 448(%rsp),%xmm6,%xmm7
634vpaddq %xmm7,%xmm11,%xmm11
635vpmuludq 0(%rsp),%xmm2,%xmm7
636vpaddq %xmm7,%xmm0,%xmm0
637vpmuludq 48(%rsp),%xmm2,%xmm7
638vpaddq %xmm7,%xmm8,%xmm8
639vpmuludq 80(%rsp),%xmm2,%xmm2
640vpaddq %xmm2,%xmm10,%xmm10
641vpmuludq 96(%rsp),%xmm4,%xmm2
642vpaddq %xmm2,%xmm11,%xmm11
643vpmuludq %xmm4,%xmm4,%xmm2
644vpaddq %xmm2,%xmm8,%xmm8
645vpaddq %xmm4,%xmm4,%xmm2
646vpmuludq 448(%rsp),%xmm2,%xmm4
647vpaddq %xmm4,%xmm12,%xmm12
648vpmuludq 16(%rsp),%xmm15,%xmm4
649vpaddq %xmm4,%xmm1,%xmm1
650vpmuludq 48(%rsp),%xmm15,%xmm4
651vpaddq %xmm4,%xmm14,%xmm14
652vpmuludq 96(%rsp),%xmm6,%xmm4
653vpaddq %xmm4,%xmm3,%xmm3
654vmovdqa 16(%rsp),%xmm4
655vpmuludq 448(%rsp),%xmm4,%xmm4
656vpaddq %xmm4,%xmm9,%xmm9
657vpmuludq 16(%rsp),%xmm6,%xmm4
658vpaddq %xmm4,%xmm8,%xmm8
659vpmuludq 48(%rsp),%xmm6,%xmm4
660vpaddq %xmm4,%xmm10,%xmm10
661vpmuludq 80(%rsp),%xmm15,%xmm4
662vpaddq %xmm4,%xmm4,%xmm4
663vpaddq %xmm4,%xmm5,%xmm5
664vpmuludq 112(%rsp),%xmm15,%xmm4
665vpaddq %xmm4,%xmm0,%xmm0
666vmovdqa 48(%rsp),%xmm4
667vpaddq %xmm4,%xmm4,%xmm4
668vpmuludq 448(%rsp),%xmm4,%xmm4
669vpaddq %xmm4,%xmm1,%xmm1
670vmovdqa 80(%rsp),%xmm4
671vpaddq %xmm4,%xmm4,%xmm4
672vpmuludq 448(%rsp),%xmm4,%xmm4
673vpaddq %xmm4,%xmm14,%xmm14
674vpmuludq 64(%rsp),%xmm2,%xmm4
675vpaddq %xmm4,%xmm3,%xmm3
676vmovdqa 16(%rsp),%xmm4
677vpmuludq 64(%rsp),%xmm4,%xmm4
678vpaddq %xmm4,%xmm11,%xmm11
679vmovdqa 16(%rsp),%xmm4
680vpmuludq 96(%rsp),%xmm4,%xmm4
681vpaddq %xmm4,%xmm12,%xmm12
682vmovdqa 48(%rsp),%xmm4
683vpmuludq 96(%rsp),%xmm4,%xmm4
684vpaddq %xmm4,%xmm9,%xmm9
685vpmuludq 0(%rsp),%xmm2,%xmm2
686vpaddq %xmm2,%xmm10,%xmm10
687vmovdqa 32(%rsp),%xmm2
688vpmuludq 0(%rsp),%xmm2,%xmm2
689vpaddq %xmm2,%xmm3,%xmm3
690vmovdqa 64(%rsp),%xmm2
691vpmuludq 48(%rsp),%xmm2,%xmm2
692vpaddq %xmm2,%xmm12,%xmm12
693vmovdqa 96(%rsp),%xmm2
694vpmuludq 80(%rsp),%xmm2,%xmm2
695vpaddq %xmm2,%xmm1,%xmm1
696vmovdqa 448(%rsp),%xmm2
697vpmuludq 112(%rsp),%xmm2,%xmm2
698vpaddq %xmm2,%xmm5,%xmm5
699vpsrlq $26,%xmm3,%xmm2
700vpaddq %xmm2,%xmm11,%xmm11
701vpand m26(%rip),%xmm3,%xmm3
702vpsrlq $25,%xmm14,%xmm2
703vpaddq %xmm2,%xmm5,%xmm5
704vpand m25(%rip),%xmm14,%xmm14
705vpsrlq $25,%xmm11,%xmm2
706vpaddq %xmm2,%xmm12,%xmm12
707vpand m25(%rip),%xmm11,%xmm11
708vpsrlq $26,%xmm5,%xmm2
709vpaddq %xmm2,%xmm0,%xmm0
710vpand m26(%rip),%xmm5,%xmm5
711vpsrlq $26,%xmm12,%xmm2
712vpaddq %xmm2,%xmm9,%xmm9
713vpand m26(%rip),%xmm12,%xmm12
714vpsrlq $25,%xmm0,%xmm2
715vpaddq %xmm2,%xmm8,%xmm8
716vpand m25(%rip),%xmm0,%xmm0
717vpsrlq $25,%xmm9,%xmm2
718vpaddq %xmm2,%xmm1,%xmm1
719vpand m25(%rip),%xmm9,%xmm9
720vpsrlq $26,%xmm8,%xmm2
721vpaddq %xmm2,%xmm10,%xmm10
722vpand m26(%rip),%xmm8,%xmm8
723vpsrlq $26,%xmm1,%xmm2
724vpaddq %xmm2,%xmm14,%xmm14
725vpand m26(%rip),%xmm1,%xmm1
726vpsrlq $25,%xmm10,%xmm2
727vpsllq $4,%xmm2,%xmm4
728vpaddq %xmm2,%xmm3,%xmm3
729vpsllq $1,%xmm2,%xmm2
730vpaddq %xmm2,%xmm4,%xmm4
731vpaddq %xmm4,%xmm3,%xmm3
732vpand m25(%rip),%xmm10,%xmm10
733vpsrlq $25,%xmm14,%xmm2
734vpaddq %xmm2,%xmm5,%xmm5
735vpand m25(%rip),%xmm14,%xmm14
736vpsrlq $26,%xmm3,%xmm2
737vpaddq %xmm2,%xmm11,%xmm11
738vpand m26(%rip),%xmm3,%xmm3
739vpunpckhqdq %xmm11,%xmm3,%xmm2
740vmovdqa %xmm2,0(%rsp)
741vpshufd $0,%xmm3,%xmm2
742vpshufd $0,%xmm11,%xmm3
743vpmuludq 160(%rsp),%xmm2,%xmm4
744vpmuludq 432(%rsp),%xmm3,%xmm6
745vpaddq %xmm6,%xmm4,%xmm4
746vpmuludq 176(%rsp),%xmm2,%xmm6
747vpmuludq 304(%rsp),%xmm3,%xmm7
748vpaddq %xmm7,%xmm6,%xmm6
749vpmuludq 208(%rsp),%xmm2,%xmm7
750vpmuludq 336(%rsp),%xmm3,%xmm11
751vpaddq %xmm11,%xmm7,%xmm7
752vpmuludq 240(%rsp),%xmm2,%xmm11
753vpmuludq 368(%rsp),%xmm3,%xmm13
754vpaddq %xmm13,%xmm11,%xmm11
755vpmuludq 272(%rsp),%xmm2,%xmm2
756vpmuludq 400(%rsp),%xmm3,%xmm3
757vpaddq %xmm3,%xmm2,%xmm2
758vpunpckhqdq %xmm9,%xmm12,%xmm3
759vmovdqa %xmm3,16(%rsp)
760vpshufd $0,%xmm12,%xmm3
761vpshufd $0,%xmm9,%xmm9
762vpmuludq 288(%rsp),%xmm3,%xmm12
763vpaddq %xmm12,%xmm4,%xmm4
764vpmuludq 416(%rsp),%xmm9,%xmm12
765vpaddq %xmm12,%xmm4,%xmm4
766vpmuludq 160(%rsp),%xmm3,%xmm12
767vpaddq %xmm12,%xmm6,%xmm6
768vpmuludq 432(%rsp),%xmm9,%xmm12
769vpaddq %xmm12,%xmm6,%xmm6
770vpmuludq 176(%rsp),%xmm3,%xmm12
771vpaddq %xmm12,%xmm7,%xmm7
772vpmuludq 304(%rsp),%xmm9,%xmm12
773vpaddq %xmm12,%xmm7,%xmm7
774vpmuludq 208(%rsp),%xmm3,%xmm12
775vpaddq %xmm12,%xmm11,%xmm11
776vpmuludq 336(%rsp),%xmm9,%xmm12
777vpaddq %xmm12,%xmm11,%xmm11
778vpmuludq 240(%rsp),%xmm3,%xmm3
779vpaddq %xmm3,%xmm2,%xmm2
780vpmuludq 368(%rsp),%xmm9,%xmm3
781vpaddq %xmm3,%xmm2,%xmm2
782vpunpckhqdq %xmm14,%xmm1,%xmm3
783vmovdqa %xmm3,32(%rsp)
784vpshufd $0,%xmm1,%xmm1
785vpshufd $0,%xmm14,%xmm3
786vpmuludq 256(%rsp),%xmm1,%xmm9
787vpaddq %xmm9,%xmm4,%xmm4
788vpmuludq 384(%rsp),%xmm3,%xmm9
789vpaddq %xmm9,%xmm4,%xmm4
790vpmuludq 288(%rsp),%xmm1,%xmm9
791vpaddq %xmm9,%xmm6,%xmm6
792vpmuludq 416(%rsp),%xmm3,%xmm9
793vpaddq %xmm9,%xmm6,%xmm6
794vpmuludq 160(%rsp),%xmm1,%xmm9
795vpaddq %xmm9,%xmm7,%xmm7
796vpmuludq 432(%rsp),%xmm3,%xmm9
797vpaddq %xmm9,%xmm7,%xmm7
798vpmuludq 176(%rsp),%xmm1,%xmm9
799vpaddq %xmm9,%xmm11,%xmm11
800vpmuludq 304(%rsp),%xmm3,%xmm9
801vpaddq %xmm9,%xmm11,%xmm11
802vpmuludq 208(%rsp),%xmm1,%xmm1
803vpaddq %xmm1,%xmm2,%xmm2
804vpmuludq 336(%rsp),%xmm3,%xmm1
805vpaddq %xmm1,%xmm2,%xmm2
806vpunpckhqdq %xmm0,%xmm5,%xmm1
807vmovdqa %xmm1,48(%rsp)
808vpshufd $0,%xmm5,%xmm1
809vpshufd $0,%xmm0,%xmm0
810vpmuludq 224(%rsp),%xmm1,%xmm3
811vpaddq %xmm3,%xmm4,%xmm4
812vpmuludq 352(%rsp),%xmm0,%xmm3
813vpaddq %xmm3,%xmm4,%xmm4
814vpmuludq 256(%rsp),%xmm1,%xmm3
815vpaddq %xmm3,%xmm6,%xmm6
816vpmuludq 384(%rsp),%xmm0,%xmm3
817vpaddq %xmm3,%xmm6,%xmm6
818vpmuludq 288(%rsp),%xmm1,%xmm3
819vpaddq %xmm3,%xmm7,%xmm7
820vpmuludq 416(%rsp),%xmm0,%xmm3
821vpaddq %xmm3,%xmm7,%xmm7
822vpmuludq 160(%rsp),%xmm1,%xmm3
823vpaddq %xmm3,%xmm11,%xmm11
824vpmuludq 432(%rsp),%xmm0,%xmm3
825vpaddq %xmm3,%xmm11,%xmm11
826vpmuludq 176(%rsp),%xmm1,%xmm1
827vpaddq %xmm1,%xmm2,%xmm2
828vpmuludq 304(%rsp),%xmm0,%xmm0
829vpaddq %xmm0,%xmm2,%xmm2
830vpunpckhqdq %xmm10,%xmm8,%xmm0
831vmovdqa %xmm0,64(%rsp)
832vpshufd $0,%xmm8,%xmm0
833vpshufd $0,%xmm10,%xmm1
834vpmuludq 192(%rsp),%xmm0,%xmm3
835vpaddq %xmm3,%xmm4,%xmm4
836vpmuludq 320(%rsp),%xmm1,%xmm3
837vpaddq %xmm3,%xmm4,%xmm4
838vpmuludq 224(%rsp),%xmm0,%xmm3
839vpaddq %xmm3,%xmm6,%xmm6
840vpmuludq 352(%rsp),%xmm1,%xmm3
841vpaddq %xmm3,%xmm6,%xmm6
842vpmuludq 256(%rsp),%xmm0,%xmm3
843vpaddq %xmm3,%xmm7,%xmm7
844vpmuludq 384(%rsp),%xmm1,%xmm3
845vpaddq %xmm3,%xmm7,%xmm7
846vpmuludq 288(%rsp),%xmm0,%xmm3
847vpaddq %xmm3,%xmm11,%xmm11
848vpmuludq 416(%rsp),%xmm1,%xmm3
849vpaddq %xmm3,%xmm11,%xmm11
850vpmuludq 160(%rsp),%xmm0,%xmm0
851vpaddq %xmm0,%xmm2,%xmm2
852vpmuludq 432(%rsp),%xmm1,%xmm0
853vpaddq %xmm0,%xmm2,%xmm2
854vmovdqa %xmm4,80(%rsp)
855vmovdqa %xmm6,96(%rsp)
856vmovdqa %xmm7,112(%rsp)
857vmovdqa %xmm11,448(%rsp)
858vmovdqa %xmm2,496(%rsp)
859vmovdqa 144(%rsp),%xmm0
860vpmuludq %xmm0,%xmm0,%xmm1
861vpaddq %xmm0,%xmm0,%xmm0
862vmovdqa 128(%rsp),%xmm2
863vpmuludq %xmm2,%xmm0,%xmm3
864vmovdqa 480(%rsp),%xmm4
865vpmuludq %xmm4,%xmm0,%xmm5
866vmovdqa 464(%rsp),%xmm6
867vpmuludq %xmm6,%xmm0,%xmm7
868vmovdqa 528(%rsp),%xmm8
869vpmuludq %xmm8,%xmm0,%xmm9
870vpmuludq 512(%rsp),%xmm0,%xmm10
871vpmuludq 592(%rsp),%xmm0,%xmm11
872vpmuludq 576(%rsp),%xmm0,%xmm12
873vpmuludq 624(%rsp),%xmm0,%xmm13
874vmovdqa 672(%rsp),%xmm14
875vpmuludq %xmm14,%xmm0,%xmm0
876vpmuludq v38_38(%rip),%xmm14,%xmm15
877vpmuludq %xmm15,%xmm14,%xmm14
878vpaddq %xmm14,%xmm13,%xmm13
879vpaddq %xmm6,%xmm6,%xmm14
880vpmuludq %xmm14,%xmm6,%xmm6
881vpaddq %xmm6,%xmm11,%xmm11
882vpaddq %xmm2,%xmm2,%xmm6
883vpmuludq %xmm6,%xmm2,%xmm2
884vpaddq %xmm2,%xmm5,%xmm5
885vpmuludq %xmm15,%xmm6,%xmm2
886vpaddq %xmm2,%xmm1,%xmm1
887vpmuludq %xmm15,%xmm4,%xmm2
888vpaddq %xmm2,%xmm3,%xmm3
889vpmuludq 544(%rsp),%xmm6,%xmm2
890vpaddq %xmm2,%xmm11,%xmm11
891vpmuludq 592(%rsp),%xmm6,%xmm2
892vpaddq %xmm2,%xmm12,%xmm12
893vpmuludq 640(%rsp),%xmm6,%xmm2
894vpaddq %xmm2,%xmm13,%xmm13
895vpmuludq 624(%rsp),%xmm6,%xmm2
896vpaddq %xmm2,%xmm0,%xmm0
897vpmuludq %xmm4,%xmm6,%xmm2
898vpaddq %xmm2,%xmm7,%xmm7
899vpmuludq %xmm14,%xmm6,%xmm2
900vpaddq %xmm2,%xmm9,%xmm9
901vpmuludq %xmm8,%xmm6,%xmm2
902vpaddq %xmm2,%xmm10,%xmm10
903vpmuludq %xmm15,%xmm14,%xmm2
904vpaddq %xmm2,%xmm5,%xmm5
905vpmuludq %xmm15,%xmm8,%xmm2
906vpaddq %xmm2,%xmm7,%xmm7
907vpmuludq %xmm4,%xmm4,%xmm2
908vpaddq %xmm2,%xmm9,%xmm9
909vpmuludq %xmm14,%xmm4,%xmm2
910vpaddq %xmm2,%xmm10,%xmm10
911vpaddq %xmm4,%xmm4,%xmm2
912vpmuludq %xmm8,%xmm2,%xmm4
913vpaddq %xmm4,%xmm11,%xmm11
914vpmuludq 688(%rsp),%xmm2,%xmm4
915vpaddq %xmm4,%xmm1,%xmm1
916vpmuludq 688(%rsp),%xmm14,%xmm4
917vpaddq %xmm4,%xmm3,%xmm3
918vpmuludq 512(%rsp),%xmm2,%xmm4
919vpaddq %xmm4,%xmm12,%xmm12
920vpmuludq 592(%rsp),%xmm2,%xmm4
921vpaddq %xmm4,%xmm13,%xmm13
922vpmuludq 576(%rsp),%xmm2,%xmm2
923vpaddq %xmm2,%xmm0,%xmm0
924vpmuludq 656(%rsp),%xmm8,%xmm2
925vpaddq %xmm2,%xmm3,%xmm3
926vpmuludq %xmm8,%xmm14,%xmm2
927vpaddq %xmm2,%xmm12,%xmm12
928vpmuludq %xmm8,%xmm8,%xmm2
929vpaddq %xmm2,%xmm13,%xmm13
930vpaddq %xmm8,%xmm8,%xmm2
931vpmuludq 688(%rsp),%xmm2,%xmm4
932vpaddq %xmm4,%xmm5,%xmm5
933vpmuludq 544(%rsp),%xmm15,%xmm4
934vpaddq %xmm4,%xmm9,%xmm9
935vpmuludq 592(%rsp),%xmm15,%xmm4
936vpaddq %xmm4,%xmm10,%xmm10
937vpmuludq 656(%rsp),%xmm14,%xmm4
938vpaddq %xmm4,%xmm1,%xmm1
939vmovdqa 544(%rsp),%xmm4
940vpmuludq 688(%rsp),%xmm4,%xmm4
941vpaddq %xmm4,%xmm7,%xmm7
942vpmuludq 544(%rsp),%xmm14,%xmm4
943vpaddq %xmm4,%xmm13,%xmm13
944vpmuludq 592(%rsp),%xmm14,%xmm4
945vpaddq %xmm4,%xmm0,%xmm0
946vpmuludq 640(%rsp),%xmm15,%xmm4
947vpaddq %xmm4,%xmm11,%xmm11
948vpmuludq 624(%rsp),%xmm15,%xmm4
949vpaddq %xmm4,%xmm12,%xmm12
950vmovdqa 592(%rsp),%xmm4
951vpaddq %xmm4,%xmm4,%xmm4
952vpmuludq 688(%rsp),%xmm4,%xmm4
953vpaddq %xmm4,%xmm9,%xmm9
954vpmuludq 608(%rsp),%xmm2,%xmm4
955vpaddq %xmm4,%xmm1,%xmm1
956vmovdqa 544(%rsp),%xmm4
957vpmuludq 608(%rsp),%xmm4,%xmm4
958vpaddq %xmm4,%xmm3,%xmm3
959vmovdqa 544(%rsp),%xmm4
960vpmuludq 656(%rsp),%xmm4,%xmm4
961vpaddq %xmm4,%xmm5,%xmm5
962vmovdqa 592(%rsp),%xmm4
963vpmuludq 656(%rsp),%xmm4,%xmm4
964vpaddq %xmm4,%xmm7,%xmm7
965vmovdqa 640(%rsp),%xmm4
966vpmuludq 688(%rsp),%xmm4,%xmm4
967vpaddq %xmm4,%xmm10,%xmm10
968vpmuludq 512(%rsp),%xmm2,%xmm2
969vpaddq %xmm2,%xmm0,%xmm0
970vmovdqa 560(%rsp),%xmm2
971vpmuludq 512(%rsp),%xmm2,%xmm2
972vpaddq %xmm2,%xmm1,%xmm1
973vmovdqa 608(%rsp),%xmm2
974vpmuludq 592(%rsp),%xmm2,%xmm2
975vpaddq %xmm2,%xmm5,%xmm5
976vmovdqa 656(%rsp),%xmm2
977vpmuludq 576(%rsp),%xmm2,%xmm2
978vpaddq %xmm2,%xmm9,%xmm9
979vmovdqa 688(%rsp),%xmm2
980vpmuludq 624(%rsp),%xmm2,%xmm2
981vpaddq %xmm2,%xmm11,%xmm11
982vpsrlq $26,%xmm1,%xmm2
983vpaddq %xmm2,%xmm3,%xmm3
984vpand m26(%rip),%xmm1,%xmm1
985vpsrlq $25,%xmm10,%xmm2
986vpaddq %xmm2,%xmm11,%xmm11
987vpand m25(%rip),%xmm10,%xmm10
988vpsrlq $25,%xmm3,%xmm2
989vpaddq %xmm2,%xmm5,%xmm5
990vpand m25(%rip),%xmm3,%xmm3
991vpsrlq $26,%xmm11,%xmm2
992vpaddq %xmm2,%xmm12,%xmm12
993vpand m26(%rip),%xmm11,%xmm11
994vpsrlq $26,%xmm5,%xmm2
995vpaddq %xmm2,%xmm7,%xmm7
996vpand m26(%rip),%xmm5,%xmm5
997vpsrlq $25,%xmm12,%xmm2
998vpaddq %xmm2,%xmm13,%xmm13
999vpand m25(%rip),%xmm12,%xmm12
1000vpsrlq $25,%xmm7,%xmm2
1001vpaddq %xmm2,%xmm9,%xmm9
1002vpand m25(%rip),%xmm7,%xmm7
1003vpsrlq $26,%xmm13,%xmm2
1004vpaddq %xmm2,%xmm0,%xmm0
1005vpand m26(%rip),%xmm13,%xmm13
1006vpsrlq $26,%xmm9,%xmm2
1007vpaddq %xmm2,%xmm10,%xmm10
1008vpand m26(%rip),%xmm9,%xmm9
1009vpsrlq $25,%xmm0,%xmm2
1010vpsllq $4,%xmm2,%xmm4
1011vpaddq %xmm2,%xmm1,%xmm1
1012vpsllq $1,%xmm2,%xmm2
1013vpaddq %xmm2,%xmm4,%xmm4
1014vpaddq %xmm4,%xmm1,%xmm1
1015vpand m25(%rip),%xmm0,%xmm0
1016vpsrlq $25,%xmm10,%xmm2
1017vpaddq %xmm2,%xmm11,%xmm11
1018vpand m25(%rip),%xmm10,%xmm10
1019vpsrlq $26,%xmm1,%xmm2
1020vpaddq %xmm2,%xmm3,%xmm3
1021vpand m26(%rip),%xmm1,%xmm1
1022vpunpckhqdq %xmm3,%xmm1,%xmm2
1023vpunpcklqdq %xmm3,%xmm1,%xmm1
1024vmovdqa %xmm1,464(%rsp)
1025vpaddq subc0(%rip),%xmm2,%xmm3
1026vpsubq %xmm1,%xmm3,%xmm3
1027vpunpckhqdq %xmm3,%xmm2,%xmm1
1028vpunpcklqdq %xmm3,%xmm2,%xmm2
1029vmovdqa %xmm2,480(%rsp)
1030vmovdqa %xmm1,512(%rsp)
1031vpsllq $1,%xmm1,%xmm1
1032vmovdqa %xmm1,528(%rsp)
1033vpmuludq v121666_121666(%rip),%xmm3,%xmm3
1034vmovdqa 80(%rsp),%xmm1
1035vpunpcklqdq %xmm1,%xmm3,%xmm2
1036vpunpckhqdq %xmm1,%xmm3,%xmm1
1037vpunpckhqdq %xmm7,%xmm5,%xmm3
1038vpunpcklqdq %xmm7,%xmm5,%xmm4
1039vmovdqa %xmm4,544(%rsp)
1040vpaddq subc2(%rip),%xmm3,%xmm5
1041vpsubq %xmm4,%xmm5,%xmm5
1042vpunpckhqdq %xmm5,%xmm3,%xmm4
1043vpunpcklqdq %xmm5,%xmm3,%xmm3
1044vmovdqa %xmm3,560(%rsp)
1045vmovdqa %xmm4,576(%rsp)
1046vpsllq $1,%xmm4,%xmm4
1047vmovdqa %xmm4,592(%rsp)
1048vpmuludq v121666_121666(%rip),%xmm5,%xmm5
1049vmovdqa 96(%rsp),%xmm3
1050vpunpcklqdq %xmm3,%xmm5,%xmm4
1051vpunpckhqdq %xmm3,%xmm5,%xmm3
1052vpunpckhqdq %xmm10,%xmm9,%xmm5
1053vpunpcklqdq %xmm10,%xmm9,%xmm6
1054vmovdqa %xmm6,608(%rsp)
1055vpaddq subc2(%rip),%xmm5,%xmm7
1056vpsubq %xmm6,%xmm7,%xmm7
1057vpunpckhqdq %xmm7,%xmm5,%xmm6
1058vpunpcklqdq %xmm7,%xmm5,%xmm5
1059vmovdqa %xmm5,624(%rsp)
1060vmovdqa %xmm6,640(%rsp)
1061vpsllq $1,%xmm6,%xmm6
1062vmovdqa %xmm6,656(%rsp)
1063vpmuludq v121666_121666(%rip),%xmm7,%xmm7
1064vmovdqa 112(%rsp),%xmm5
1065vpunpcklqdq %xmm5,%xmm7,%xmm6
1066vpunpckhqdq %xmm5,%xmm7,%xmm5
1067vpunpckhqdq %xmm12,%xmm11,%xmm7
1068vpunpcklqdq %xmm12,%xmm11,%xmm8
1069vmovdqa %xmm8,672(%rsp)
1070vpaddq subc2(%rip),%xmm7,%xmm9
1071vpsubq %xmm8,%xmm9,%xmm9
1072vpunpckhqdq %xmm9,%xmm7,%xmm8
1073vpunpcklqdq %xmm9,%xmm7,%xmm7
1074vmovdqa %xmm7,688(%rsp)
1075vmovdqa %xmm8,704(%rsp)
1076vpsllq $1,%xmm8,%xmm8
1077vmovdqa %xmm8,720(%rsp)
1078vpmuludq v121666_121666(%rip),%xmm9,%xmm9
1079vmovdqa 448(%rsp),%xmm7
1080vpunpcklqdq %xmm7,%xmm9,%xmm8
1081vpunpckhqdq %xmm7,%xmm9,%xmm7
1082vpunpckhqdq %xmm0,%xmm13,%xmm9
1083vpunpcklqdq %xmm0,%xmm13,%xmm0
1084vmovdqa %xmm0,448(%rsp)
1085vpaddq subc2(%rip),%xmm9,%xmm10
1086vpsubq %xmm0,%xmm10,%xmm10
1087vpunpckhqdq %xmm10,%xmm9,%xmm0
1088vpunpcklqdq %xmm10,%xmm9,%xmm9
1089vmovdqa %xmm9,736(%rsp)
1090vmovdqa %xmm0,752(%rsp)
1091vpsllq $1,%xmm0,%xmm0
1092vmovdqa %xmm0,768(%rsp)
1093vpmuludq v121666_121666(%rip),%xmm10,%xmm10
1094vmovdqa 496(%rsp),%xmm0
1095vpunpcklqdq %xmm0,%xmm10,%xmm9
1096vpunpckhqdq %xmm0,%xmm10,%xmm0
1097vpsrlq $26,%xmm2,%xmm10
1098vpaddq %xmm10,%xmm1,%xmm1
1099vpand m26(%rip),%xmm2,%xmm2
1100vpsrlq $25,%xmm5,%xmm10
1101vpaddq %xmm10,%xmm8,%xmm8
1102vpand m25(%rip),%xmm5,%xmm5
1103vpsrlq $25,%xmm1,%xmm10
1104vpaddq %xmm10,%xmm4,%xmm4
1105vpand m25(%rip),%xmm1,%xmm1
1106vpsrlq $26,%xmm8,%xmm10
1107vpaddq %xmm10,%xmm7,%xmm7
1108vpand m26(%rip),%xmm8,%xmm8
1109vpsrlq $26,%xmm4,%xmm10
1110vpaddq %xmm10,%xmm3,%xmm3
1111vpand m26(%rip),%xmm4,%xmm4
1112vpsrlq $25,%xmm7,%xmm10
1113vpaddq %xmm10,%xmm9,%xmm9
1114vpand m25(%rip),%xmm7,%xmm7
1115vpsrlq $25,%xmm3,%xmm10
1116vpaddq %xmm10,%xmm6,%xmm6
1117vpand m25(%rip),%xmm3,%xmm3
1118vpsrlq $26,%xmm9,%xmm10
1119vpaddq %xmm10,%xmm0,%xmm0
1120vpand m26(%rip),%xmm9,%xmm9
1121vpsrlq $26,%xmm6,%xmm10
1122vpaddq %xmm10,%xmm5,%xmm5
1123vpand m26(%rip),%xmm6,%xmm6
1124vpsrlq $25,%xmm0,%xmm10
1125vpsllq $4,%xmm10,%xmm11
1126vpaddq %xmm10,%xmm2,%xmm2
1127vpsllq $1,%xmm10,%xmm10
1128vpaddq %xmm10,%xmm11,%xmm11
1129vpaddq %xmm11,%xmm2,%xmm2
1130vpand m25(%rip),%xmm0,%xmm0
1131vpsrlq $25,%xmm5,%xmm10
1132vpaddq %xmm10,%xmm8,%xmm8
1133vpand m25(%rip),%xmm5,%xmm5
1134vpsrlq $26,%xmm2,%xmm10
1135vpaddq %xmm10,%xmm1,%xmm1
1136vpand m26(%rip),%xmm2,%xmm2
1137vpunpckhqdq %xmm1,%xmm2,%xmm10
1138vmovdqa %xmm10,80(%rsp)
1139vpunpcklqdq %xmm1,%xmm2,%xmm1
1140vpunpckhqdq %xmm3,%xmm4,%xmm2
1141vmovdqa %xmm2,96(%rsp)
1142vpunpcklqdq %xmm3,%xmm4,%xmm2
1143vpunpckhqdq %xmm5,%xmm6,%xmm3
1144vmovdqa %xmm3,112(%rsp)
1145vpunpcklqdq %xmm5,%xmm6,%xmm3
1146vpunpckhqdq %xmm7,%xmm8,%xmm4
1147vmovdqa %xmm4,128(%rsp)
1148vpunpcklqdq %xmm7,%xmm8,%xmm4
1149vpunpckhqdq %xmm0,%xmm9,%xmm5
1150vmovdqa %xmm5,144(%rsp)
1151vpunpcklqdq %xmm0,%xmm9,%xmm0
1152vmovdqa 464(%rsp),%xmm5
1153vpaddq %xmm5,%xmm1,%xmm1
1154vpunpcklqdq %xmm1,%xmm5,%xmm6
1155vpunpckhqdq %xmm1,%xmm5,%xmm1
1156vpmuludq 512(%rsp),%xmm6,%xmm5
1157vpmuludq 480(%rsp),%xmm1,%xmm7
1158vpaddq %xmm7,%xmm5,%xmm5
1159vpmuludq 560(%rsp),%xmm6,%xmm7
1160vpmuludq 528(%rsp),%xmm1,%xmm8
1161vpaddq %xmm8,%xmm7,%xmm7
1162vpmuludq 576(%rsp),%xmm6,%xmm8
1163vpmuludq 560(%rsp),%xmm1,%xmm9
1164vpaddq %xmm9,%xmm8,%xmm8
1165vpmuludq 624(%rsp),%xmm6,%xmm9
1166vpmuludq 592(%rsp),%xmm1,%xmm10
1167vpaddq %xmm10,%xmm9,%xmm9
1168vpmuludq 640(%rsp),%xmm6,%xmm10
1169vpmuludq 624(%rsp),%xmm1,%xmm11
1170vpaddq %xmm11,%xmm10,%xmm10
1171vpmuludq 688(%rsp),%xmm6,%xmm11
1172vpmuludq 656(%rsp),%xmm1,%xmm12
1173vpaddq %xmm12,%xmm11,%xmm11
1174vpmuludq 704(%rsp),%xmm6,%xmm12
1175vpmuludq 688(%rsp),%xmm1,%xmm13
1176vpaddq %xmm13,%xmm12,%xmm12
1177vpmuludq 736(%rsp),%xmm6,%xmm13
1178vpmuludq 720(%rsp),%xmm1,%xmm14
1179vpaddq %xmm14,%xmm13,%xmm13
1180vpmuludq 752(%rsp),%xmm6,%xmm14
1181vpmuludq 736(%rsp),%xmm1,%xmm15
1182vpaddq %xmm15,%xmm14,%xmm14
1183vpmuludq 480(%rsp),%xmm6,%xmm6
1184vpmuludq v19_19(%rip),%xmm1,%xmm1
1185vpmuludq 768(%rsp),%xmm1,%xmm1
1186vpaddq %xmm1,%xmm6,%xmm6
1187vmovdqa 544(%rsp),%xmm1
1188vpaddq %xmm1,%xmm2,%xmm2
1189vpunpcklqdq %xmm2,%xmm1,%xmm15
1190vpunpckhqdq %xmm2,%xmm1,%xmm1
1191vpmuludq 480(%rsp),%xmm15,%xmm2
1192vpaddq %xmm2,%xmm7,%xmm7
1193vpmuludq 512(%rsp),%xmm15,%xmm2
1194vpaddq %xmm2,%xmm8,%xmm8
1195vpmuludq 560(%rsp),%xmm15,%xmm2
1196vpaddq %xmm2,%xmm9,%xmm9
1197vpmuludq 576(%rsp),%xmm15,%xmm2
1198vpaddq %xmm2,%xmm10,%xmm10
1199vpmuludq 624(%rsp),%xmm15,%xmm2
1200vpaddq %xmm2,%xmm11,%xmm11
1201vpmuludq 640(%rsp),%xmm15,%xmm2
1202vpaddq %xmm2,%xmm12,%xmm12
1203vpmuludq 688(%rsp),%xmm15,%xmm2
1204vpaddq %xmm2,%xmm13,%xmm13
1205vpmuludq 704(%rsp),%xmm15,%xmm2
1206vpaddq %xmm2,%xmm14,%xmm14
1207vpmuludq v19_19(%rip),%xmm15,%xmm15
1208vpmuludq 736(%rsp),%xmm15,%xmm2
1209vpaddq %xmm2,%xmm6,%xmm6
1210vpmuludq 752(%rsp),%xmm15,%xmm15
1211vpaddq %xmm15,%xmm5,%xmm5
1212vpmuludq 480(%rsp),%xmm1,%xmm2
1213vpaddq %xmm2,%xmm8,%xmm8
1214vpmuludq 528(%rsp),%xmm1,%xmm2
1215vpaddq %xmm2,%xmm9,%xmm9
1216vpmuludq 560(%rsp),%xmm1,%xmm2
1217vpaddq %xmm2,%xmm10,%xmm10
1218vpmuludq 592(%rsp),%xmm1,%xmm2
1219vpaddq %xmm2,%xmm11,%xmm11
1220vpmuludq 624(%rsp),%xmm1,%xmm2
1221vpaddq %xmm2,%xmm12,%xmm12
1222vpmuludq 656(%rsp),%xmm1,%xmm2
1223vpaddq %xmm2,%xmm13,%xmm13
1224vpmuludq 688(%rsp),%xmm1,%xmm2
1225vpaddq %xmm2,%xmm14,%xmm14
1226vpmuludq v19_19(%rip),%xmm1,%xmm1
1227vpmuludq 720(%rsp),%xmm1,%xmm2
1228vpaddq %xmm2,%xmm6,%xmm6
1229vpmuludq 736(%rsp),%xmm1,%xmm2
1230vpaddq %xmm2,%xmm5,%xmm5
1231vpmuludq 768(%rsp),%xmm1,%xmm1
1232vpaddq %xmm1,%xmm7,%xmm7
1233vmovdqa 608(%rsp),%xmm1
1234vpaddq %xmm1,%xmm3,%xmm3
1235vpunpcklqdq %xmm3,%xmm1,%xmm2
1236vpunpckhqdq %xmm3,%xmm1,%xmm1
1237vpmuludq 480(%rsp),%xmm2,%xmm3
1238vpaddq %xmm3,%xmm9,%xmm9
1239vpmuludq 512(%rsp),%xmm2,%xmm3
1240vpaddq %xmm3,%xmm10,%xmm10
1241vpmuludq 560(%rsp),%xmm2,%xmm3
1242vpaddq %xmm3,%xmm11,%xmm11
1243vpmuludq 576(%rsp),%xmm2,%xmm3
1244vpaddq %xmm3,%xmm12,%xmm12
1245vpmuludq 624(%rsp),%xmm2,%xmm3
1246vpaddq %xmm3,%xmm13,%xmm13
1247vpmuludq 640(%rsp),%xmm2,%xmm3
1248vpaddq %xmm3,%xmm14,%xmm14
1249vpmuludq v19_19(%rip),%xmm2,%xmm2
1250vpmuludq 688(%rsp),%xmm2,%xmm3
1251vpaddq %xmm3,%xmm6,%xmm6
1252vpmuludq 704(%rsp),%xmm2,%xmm3
1253vpaddq %xmm3,%xmm5,%xmm5
1254vpmuludq 736(%rsp),%xmm2,%xmm3
1255vpaddq %xmm3,%xmm7,%xmm7
1256vpmuludq 752(%rsp),%xmm2,%xmm2
1257vpaddq %xmm2,%xmm8,%xmm8
1258vpmuludq 480(%rsp),%xmm1,%xmm2
1259vpaddq %xmm2,%xmm10,%xmm10
1260vpmuludq 528(%rsp),%xmm1,%xmm2
1261vpaddq %xmm2,%xmm11,%xmm11
1262vpmuludq 560(%rsp),%xmm1,%xmm2
1263vpaddq %xmm2,%xmm12,%xmm12
1264vpmuludq 592(%rsp),%xmm1,%xmm2
1265vpaddq %xmm2,%xmm13,%xmm13
1266vpmuludq 624(%rsp),%xmm1,%xmm2
1267vpaddq %xmm2,%xmm14,%xmm14
1268vpmuludq v19_19(%rip),%xmm1,%xmm1
1269vpmuludq 656(%rsp),%xmm1,%xmm2
1270vpaddq %xmm2,%xmm6,%xmm6
1271vpmuludq 688(%rsp),%xmm1,%xmm2
1272vpaddq %xmm2,%xmm5,%xmm5
1273vpmuludq 720(%rsp),%xmm1,%xmm2
1274vpaddq %xmm2,%xmm7,%xmm7
1275vpmuludq 736(%rsp),%xmm1,%xmm2
1276vpaddq %xmm2,%xmm8,%xmm8
1277vpmuludq 768(%rsp),%xmm1,%xmm1
1278vpaddq %xmm1,%xmm9,%xmm9
1279vmovdqa 672(%rsp),%xmm1
1280vpaddq %xmm1,%xmm4,%xmm4
1281vpunpcklqdq %xmm4,%xmm1,%xmm2
1282vpunpckhqdq %xmm4,%xmm1,%xmm1
1283vpmuludq 480(%rsp),%xmm2,%xmm3
1284vpaddq %xmm3,%xmm11,%xmm11
1285vpmuludq 512(%rsp),%xmm2,%xmm3
1286vpaddq %xmm3,%xmm12,%xmm12
1287vpmuludq 560(%rsp),%xmm2,%xmm3
1288vpaddq %xmm3,%xmm13,%xmm13
1289vpmuludq 576(%rsp),%xmm2,%xmm3
1290vpaddq %xmm3,%xmm14,%xmm14
1291vpmuludq v19_19(%rip),%xmm2,%xmm2
1292vpmuludq 624(%rsp),%xmm2,%xmm3
1293vpaddq %xmm3,%xmm6,%xmm6
1294vpmuludq 640(%rsp),%xmm2,%xmm3
1295vpaddq %xmm3,%xmm5,%xmm5
1296vpmuludq 688(%rsp),%xmm2,%xmm3
1297vpaddq %xmm3,%xmm7,%xmm7
1298vpmuludq 704(%rsp),%xmm2,%xmm3
1299vpaddq %xmm3,%xmm8,%xmm8
1300vpmuludq 736(%rsp),%xmm2,%xmm3
1301vpaddq %xmm3,%xmm9,%xmm9
1302vpmuludq 752(%rsp),%xmm2,%xmm2
1303vpaddq %xmm2,%xmm10,%xmm10
1304vpmuludq 480(%rsp),%xmm1,%xmm2
1305vpaddq %xmm2,%xmm12,%xmm12
1306vpmuludq 528(%rsp),%xmm1,%xmm2
1307vpaddq %xmm2,%xmm13,%xmm13
1308vpmuludq 560(%rsp),%xmm1,%xmm2
1309vpaddq %xmm2,%xmm14,%xmm14
1310vpmuludq v19_19(%rip),%xmm1,%xmm1
1311vpmuludq 592(%rsp),%xmm1,%xmm2
1312vpaddq %xmm2,%xmm6,%xmm6
1313vpmuludq 624(%rsp),%xmm1,%xmm2
1314vpaddq %xmm2,%xmm5,%xmm5
1315vpmuludq 656(%rsp),%xmm1,%xmm2
1316vpaddq %xmm2,%xmm7,%xmm7
1317vpmuludq 688(%rsp),%xmm1,%xmm2
1318vpaddq %xmm2,%xmm8,%xmm8
1319vpmuludq 720(%rsp),%xmm1,%xmm2
1320vpaddq %xmm2,%xmm9,%xmm9
1321vpmuludq 736(%rsp),%xmm1,%xmm2
1322vpaddq %xmm2,%xmm10,%xmm10
1323vpmuludq 768(%rsp),%xmm1,%xmm1
1324vpaddq %xmm1,%xmm11,%xmm11
1325vmovdqa 448(%rsp),%xmm1
1326vpaddq %xmm1,%xmm0,%xmm0
1327vpunpcklqdq %xmm0,%xmm1,%xmm2
1328vpunpckhqdq %xmm0,%xmm1,%xmm0
1329vpmuludq 480(%rsp),%xmm2,%xmm1
1330vpaddq %xmm1,%xmm13,%xmm13
1331vpmuludq 512(%rsp),%xmm2,%xmm1
1332vpaddq %xmm1,%xmm14,%xmm14
1333vpmuludq v19_19(%rip),%xmm2,%xmm2
1334vpmuludq 560(%rsp),%xmm2,%xmm1
1335vpaddq %xmm1,%xmm6,%xmm6
1336vpmuludq 576(%rsp),%xmm2,%xmm1
1337vpaddq %xmm1,%xmm5,%xmm5
1338vpmuludq 624(%rsp),%xmm2,%xmm1
1339vpaddq %xmm1,%xmm7,%xmm7
1340vpmuludq 640(%rsp),%xmm2,%xmm1
1341vpaddq %xmm1,%xmm8,%xmm8
1342vpmuludq 688(%rsp),%xmm2,%xmm1
1343vpaddq %xmm1,%xmm9,%xmm9
1344vpmuludq 704(%rsp),%xmm2,%xmm1
1345vpaddq %xmm1,%xmm10,%xmm10
1346vpmuludq 736(%rsp),%xmm2,%xmm1
1347vpaddq %xmm1,%xmm11,%xmm11
1348vpmuludq 752(%rsp),%xmm2,%xmm2
1349vpaddq %xmm2,%xmm12,%xmm12
1350vpmuludq 480(%rsp),%xmm0,%xmm1
1351vpaddq %xmm1,%xmm14,%xmm14
1352vpmuludq v19_19(%rip),%xmm0,%xmm0
1353vpmuludq 528(%rsp),%xmm0,%xmm1
1354vpaddq %xmm1,%xmm6,%xmm6
1355vpmuludq 560(%rsp),%xmm0,%xmm1
1356vpaddq %xmm1,%xmm5,%xmm5
1357vpmuludq 592(%rsp),%xmm0,%xmm1
1358vpaddq %xmm1,%xmm7,%xmm7
1359vpmuludq 624(%rsp),%xmm0,%xmm1
1360vpaddq %xmm1,%xmm8,%xmm8
1361vpmuludq 656(%rsp),%xmm0,%xmm1
1362vpaddq %xmm1,%xmm9,%xmm9
1363vpmuludq 688(%rsp),%xmm0,%xmm1
1364vpaddq %xmm1,%xmm10,%xmm10
1365vpmuludq 720(%rsp),%xmm0,%xmm1
1366vpaddq %xmm1,%xmm11,%xmm11
1367vpmuludq 736(%rsp),%xmm0,%xmm1
1368vpaddq %xmm1,%xmm12,%xmm12
1369vpmuludq 768(%rsp),%xmm0,%xmm0
1370vpaddq %xmm0,%xmm13,%xmm13
1371vpsrlq $26,%xmm6,%xmm0
1372vpaddq %xmm0,%xmm5,%xmm5
1373vpand m26(%rip),%xmm6,%xmm6
1374vpsrlq $25,%xmm10,%xmm0
1375vpaddq %xmm0,%xmm11,%xmm11
1376vpand m25(%rip),%xmm10,%xmm10
1377vpsrlq $25,%xmm5,%xmm0
1378vpaddq %xmm0,%xmm7,%xmm7
1379vpand m25(%rip),%xmm5,%xmm5
1380vpsrlq $26,%xmm11,%xmm0
1381vpaddq %xmm0,%xmm12,%xmm12
1382vpand m26(%rip),%xmm11,%xmm11
1383vpsrlq $26,%xmm7,%xmm0
1384vpaddq %xmm0,%xmm8,%xmm8
1385vpand m26(%rip),%xmm7,%xmm7
1386vpsrlq $25,%xmm12,%xmm0
1387vpaddq %xmm0,%xmm13,%xmm13
1388vpand m25(%rip),%xmm12,%xmm12
1389vpsrlq $25,%xmm8,%xmm0
1390vpaddq %xmm0,%xmm9,%xmm9
1391vpand m25(%rip),%xmm8,%xmm8
1392vpsrlq $26,%xmm13,%xmm0
1393vpaddq %xmm0,%xmm14,%xmm14
1394vpand m26(%rip),%xmm13,%xmm13
1395vpsrlq $26,%xmm9,%xmm0
1396vpaddq %xmm0,%xmm10,%xmm10
1397vpand m26(%rip),%xmm9,%xmm9
1398vpsrlq $25,%xmm14,%xmm0
1399vpsllq $4,%xmm0,%xmm1
1400vpaddq %xmm0,%xmm6,%xmm6
1401vpsllq $1,%xmm0,%xmm0
1402vpaddq %xmm0,%xmm1,%xmm1
1403vpaddq %xmm1,%xmm6,%xmm6
1404vpand m25(%rip),%xmm14,%xmm14
1405vpsrlq $25,%xmm10,%xmm0
1406vpaddq %xmm0,%xmm11,%xmm11
1407vpand m25(%rip),%xmm10,%xmm10
1408vpsrlq $26,%xmm6,%xmm0
1409vpaddq %xmm0,%xmm5,%xmm5
1410vpand m26(%rip),%xmm6,%xmm6
1411vpunpckhqdq %xmm5,%xmm6,%xmm1
1412vpunpcklqdq %xmm5,%xmm6,%xmm0
1413vpunpckhqdq %xmm8,%xmm7,%xmm3
1414vpunpcklqdq %xmm8,%xmm7,%xmm2
1415vpunpckhqdq %xmm10,%xmm9,%xmm5
1416vpunpcklqdq %xmm10,%xmm9,%xmm4
1417vpunpckhqdq %xmm12,%xmm11,%xmm7
1418vpunpcklqdq %xmm12,%xmm11,%xmm6
1419vpunpckhqdq %xmm14,%xmm13,%xmm9
1420vpunpcklqdq %xmm14,%xmm13,%xmm8
1421cmp  $0,%rdx
1422jne ._ladder_loop
1423vmovdqu %xmm1,160(%rdi)
1424vmovdqu %xmm0,80(%rdi)
1425vmovdqu %xmm3,176(%rdi)
1426vmovdqu %xmm2,96(%rdi)
1427vmovdqu %xmm5,192(%rdi)
1428vmovdqu %xmm4,112(%rdi)
1429vmovdqu %xmm7,208(%rdi)
1430vmovdqu %xmm6,128(%rdi)
1431vmovdqu %xmm9,224(%rdi)
1432vmovdqu %xmm8,144(%rdi)
1433movq 1824(%rsp),%r11
1434movq 1832(%rsp),%r12
1435movq 1840(%rsp),%r13
1436movq 1848(%rsp),%r14
1437add %r11,%rsp
1438ret
1439
1440#endif
1441