1.data
2.p2align 5
3mask_low13words:
4.word 0xffff
5.word 0xffff
6.word 0xffff
7.word 0xffff
8.word 0xffff
9.word 0xffff
10.word 0xffff
11.word 0xffff
12.word 0xffff
13.word 0xffff
14.word 0xffff
15.word 0xffff
16.word 0xffff
17.word 0x0
18.word 0x0
19.word 0x0
20const3:
21.word 3
22.word 3
23.word 3
24.word 3
25.word 3
26.word 3
27.word 3
28.word 3
29.word 3
30.word 3
31.word 3
32.word 3
33.word 3
34.word 3
35.word 3
36.word 3
37const9:
38.word 9
39.word 9
40.word 9
41.word 9
42.word 9
43.word 9
44.word 9
45.word 9
46.word 9
47.word 9
48.word 9
49.word 9
50.word 9
51.word 9
52.word 9
53.word 9
54const0:
55.word 0
56.word 0
57.word 0
58.word 0
59.word 0
60.word 0
61.word 0
62.word 0
63.word 0
64.word 0
65.word 0
66.word 0
67.word 0
68.word 0
69.word 0
70.word 0
71const729:
72.word 729
73.word 729
74.word 729
75.word 729
76.word 729
77.word 729
78.word 729
79.word 729
80.word 729
81.word 729
82.word 729
83.word 729
84.word 729
85.word 729
86.word 729
87.word 729
88const3_inv:
89.word 43691
90.word 43691
91.word 43691
92.word 43691
93.word 43691
94.word 43691
95.word 43691
96.word 43691
97.word 43691
98.word 43691
99.word 43691
100.word 43691
101.word 43691
102.word 43691
103.word 43691
104.word 43691
105const5_inv:
106.word 52429
107.word 52429
108.word 52429
109.word 52429
110.word 52429
111.word 52429
112.word 52429
113.word 52429
114.word 52429
115.word 52429
116.word 52429
117.word 52429
118.word 52429
119.word 52429
120.word 52429
121.word 52429
122shuf48_16:
123.byte 10
124.byte 11
125.byte 12
126.byte 13
127.byte 14
128.byte 15
129.byte 0
130.byte 1
131.byte 2
132.byte 3
133.byte 4
134.byte 5
135.byte 6
136.byte 7
137.byte 8
138.byte 9
139.byte 10
140.byte 11
141.byte 12
142.byte 13
143.byte 14
144.byte 15
145.byte 0
146.byte 1
147.byte 2
148.byte 3
149.byte 4
150.byte 5
151.byte 6
152.byte 7
153.byte 8
154.byte 9
155shufmin5_mask3:
156.byte 10
157.byte 11
158.byte 12
159.byte 13
160.byte 14
161.byte 15
162.byte 255
163.byte 255
164.byte 255
165.byte 255
166.byte 255
167.byte 255
168.byte 255
169.byte 255
170.byte 255
171.byte 255
172.byte 255
173.byte 255
174.byte 255
175.byte 255
176.byte 255
177.byte 255
178.byte 255
179.byte 255
180.byte 255
181.byte 255
182.byte 255
183.byte 255
184.byte 255
185.byte 255
186.byte 255
187.byte 255
188mask32_to_16:
189.word 0xffff
190.word 0x0
191.word 0xffff
192.word 0x0
193.word 0xffff
194.word 0x0
195.word 0xffff
196.word 0x0
197.word 0xffff
198.word 0x0
199.word 0xffff
200.word 0x0
201.word 0xffff
202.word 0x0
203.word 0xffff
204.word 0x0
205mask5_3_5_3:
206.word 0
207.word 0
208.word 0
209.word 65535
210.word 65535
211.word 65535
212.word 65535
213.word 65535
214.word 0
215.word 0
216.word 0
217.word 65535
218.word 65535
219.word 65535
220.word 65535
221.word 65535
222mask3_5_3_5:
223.word 65535
224.word 65535
225.word 65535
226.word 0
227.word 0
228.word 0
229.word 0
230.word 0
231.word 65535
232.word 65535
233.word 65535
234.word 0
235.word 0
236.word 0
237.word 0
238.word 0
239mask_keephigh:
240.word 0
241.word 0
242.word 0
243.word 0
244.word 0
245.word 0
246.word 0
247.word 0
248.word 65535
249.word 65535
250.word 65535
251.word 65535
252.word 65535
253.word 65535
254.word 65535
255.word 65535
256.text
257.global PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul
258.global _PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul
259PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul:
260_PQCLEAN_NTRUHPS2048509_AVX2_poly_Rq_mul:
261push %r12
262mov %rsp, %r8
263andq $-32, %rsp
264subq $4096, %rsp
265mov %rsp, %rax
266subq $4096, %rsp
267mov %rsp, %r11
268subq $8192, %rsp
269mov %rsp, %r12
270subq $512, %rsp
271vmovdqa const3(%rip), %ymm3
272vmovdqa 0(%rsi), %ymm0
273vmovdqa 64(%rsi), %ymm1
274vmovdqa 128(%rsi), %ymm2
275vmovdqa 192(%rsi), %ymm12
276vmovdqa 768(%rsi), %ymm4
277vmovdqa 832(%rsi), %ymm5
278vmovdqa 896(%rsi), %ymm6
279vmovdqa 960(%rsi), %ymm7
280vmovdqa 256(%rsi), %ymm8
281vmovdqa 320(%rsi), %ymm9
282vmovdqa 384(%rsi), %ymm10
283vmovdqa 448(%rsi), %ymm11
284vmovdqa %ymm0, 0(%rax)
285vmovdqa %ymm1, 64(%rax)
286vpaddw %ymm0, %ymm1, %ymm14
287vmovdqa %ymm14, 128(%rax)
288vmovdqa %ymm2, 192(%rax)
289vmovdqa %ymm12, 256(%rax)
290vpaddw %ymm2, %ymm12, %ymm14
291vmovdqa %ymm14, 320(%rax)
292vpaddw %ymm0, %ymm2, %ymm14
293vmovdqa %ymm14, 384(%rax)
294vpaddw %ymm1, %ymm12, %ymm15
295vmovdqa %ymm15, 448(%rax)
296vpaddw %ymm14, %ymm15, %ymm14
297vmovdqa %ymm14, 512(%rax)
298vmovdqa %ymm4, 3456(%rax)
299vmovdqa %ymm5, 3520(%rax)
300vpaddw %ymm4, %ymm5, %ymm14
301vmovdqa %ymm14, 3584(%rax)
302vmovdqa %ymm6, 3648(%rax)
303vmovdqa %ymm7, 3712(%rax)
304vpaddw %ymm6, %ymm7, %ymm14
305vmovdqa %ymm14, 3776(%rax)
306vpaddw %ymm4, %ymm6, %ymm14
307vmovdqa %ymm14, 3840(%rax)
308vpaddw %ymm5, %ymm7, %ymm15
309vmovdqa %ymm15, 3904(%rax)
310vpaddw %ymm14, %ymm15, %ymm14
311vmovdqa %ymm14, 3968(%rax)
312vmovdqa %ymm0, 0(%rsp)
313vmovdqa %ymm1, 32(%rsp)
314vmovdqa %ymm2, 64(%rsp)
315vmovdqa %ymm12, 96(%rsp)
316vmovdqa %ymm8, 128(%rsp)
317vmovdqa %ymm9, 160(%rsp)
318vmovdqa %ymm10, 192(%rsp)
319vmovdqa %ymm11, 224(%rsp)
320vmovdqa 512(%rsi), %ymm0
321vpaddw 0(%rsp), %ymm0, %ymm1
322vpaddw 128(%rsp), %ymm4, %ymm2
323vpaddw %ymm2, %ymm1, %ymm8
324vpsubw %ymm2, %ymm1, %ymm12
325vmovdqa %ymm0, 256(%rsp)
326vmovdqa 576(%rsi), %ymm0
327vpaddw 32(%rsp), %ymm0, %ymm1
328vpaddw 160(%rsp), %ymm5, %ymm2
329vpaddw %ymm2, %ymm1, %ymm9
330vpsubw %ymm2, %ymm1, %ymm13
331vmovdqa %ymm0, 288(%rsp)
332vmovdqa 640(%rsi), %ymm0
333vpaddw 64(%rsp), %ymm0, %ymm1
334vpaddw 192(%rsp), %ymm6, %ymm2
335vpaddw %ymm2, %ymm1, %ymm10
336vpsubw %ymm2, %ymm1, %ymm14
337vmovdqa %ymm0, 320(%rsp)
338vmovdqa 704(%rsi), %ymm0
339vpaddw 96(%rsp), %ymm0, %ymm1
340vpaddw 224(%rsp), %ymm7, %ymm2
341vpaddw %ymm2, %ymm1, %ymm11
342vpsubw %ymm2, %ymm1, %ymm15
343vmovdqa %ymm0, 352(%rsp)
344vmovdqa %ymm8, 576(%rax)
345vmovdqa %ymm9, 640(%rax)
346vpaddw %ymm8, %ymm9, %ymm0
347vmovdqa %ymm0, 704(%rax)
348vmovdqa %ymm10, 768(%rax)
349vmovdqa %ymm11, 832(%rax)
350vpaddw %ymm10, %ymm11, %ymm0
351vmovdqa %ymm0, 896(%rax)
352vpaddw %ymm8, %ymm10, %ymm0
353vmovdqa %ymm0, 960(%rax)
354vpaddw %ymm9, %ymm11, %ymm1
355vmovdqa %ymm1, 1024(%rax)
356vpaddw %ymm0, %ymm1, %ymm0
357vmovdqa %ymm0, 1088(%rax)
358vmovdqa %ymm12, 1152(%rax)
359vmovdqa %ymm13, 1216(%rax)
360vpaddw %ymm12, %ymm13, %ymm0
361vmovdqa %ymm0, 1280(%rax)
362vmovdqa %ymm14, 1344(%rax)
363vmovdqa %ymm15, 1408(%rax)
364vpaddw %ymm14, %ymm15, %ymm0
365vmovdqa %ymm0, 1472(%rax)
366vpaddw %ymm12, %ymm14, %ymm0
367vmovdqa %ymm0, 1536(%rax)
368vpaddw %ymm13, %ymm15, %ymm1
369vmovdqa %ymm1, 1600(%rax)
370vpaddw %ymm0, %ymm1, %ymm0
371vmovdqa %ymm0, 1664(%rax)
372vmovdqa 256(%rsp), %ymm0
373vpsllw $2, %ymm0, %ymm0
374vpaddw 0(%rsp), %ymm0, %ymm0
375vpsllw $2, %ymm4, %ymm1
376vpaddw 128(%rsp), %ymm1, %ymm1
377vpsllw $1, %ymm1, %ymm1
378vpaddw %ymm1, %ymm0, %ymm8
379vpsubw %ymm1, %ymm0, %ymm12
380vmovdqa 288(%rsp), %ymm0
381vpsllw $2, %ymm0, %ymm0
382vpaddw 32(%rsp), %ymm0, %ymm0
383vpsllw $2, %ymm5, %ymm1
384vpaddw 160(%rsp), %ymm1, %ymm1
385vpsllw $1, %ymm1, %ymm1
386vpaddw %ymm1, %ymm0, %ymm9
387vpsubw %ymm1, %ymm0, %ymm13
388vmovdqa 320(%rsp), %ymm0
389vpsllw $2, %ymm0, %ymm0
390vpaddw 64(%rsp), %ymm0, %ymm0
391vpsllw $2, %ymm6, %ymm1
392vpaddw 192(%rsp), %ymm1, %ymm1
393vpsllw $1, %ymm1, %ymm1
394vpaddw %ymm1, %ymm0, %ymm10
395vpsubw %ymm1, %ymm0, %ymm14
396vmovdqa 352(%rsp), %ymm0
397vpsllw $2, %ymm0, %ymm0
398vpaddw 96(%rsp), %ymm0, %ymm0
399vpsllw $2, %ymm7, %ymm1
400vpaddw 224(%rsp), %ymm1, %ymm1
401vpsllw $1, %ymm1, %ymm1
402vpaddw %ymm1, %ymm0, %ymm11
403vpsubw %ymm1, %ymm0, %ymm15
404vmovdqa %ymm8, 1728(%rax)
405vmovdqa %ymm9, 1792(%rax)
406vpaddw %ymm8, %ymm9, %ymm0
407vmovdqa %ymm0, 1856(%rax)
408vmovdqa %ymm10, 1920(%rax)
409vmovdqa %ymm11, 1984(%rax)
410vpaddw %ymm10, %ymm11, %ymm0
411vmovdqa %ymm0, 2048(%rax)
412vpaddw %ymm8, %ymm10, %ymm0
413vmovdqa %ymm0, 2112(%rax)
414vpaddw %ymm9, %ymm11, %ymm1
415vmovdqa %ymm1, 2176(%rax)
416vpaddw %ymm0, %ymm1, %ymm0
417vmovdqa %ymm0, 2240(%rax)
418vmovdqa %ymm12, 2304(%rax)
419vmovdqa %ymm13, 2368(%rax)
420vpaddw %ymm12, %ymm13, %ymm0
421vmovdqa %ymm0, 2432(%rax)
422vmovdqa %ymm14, 2496(%rax)
423vmovdqa %ymm15, 2560(%rax)
424vpaddw %ymm14, %ymm15, %ymm0
425vmovdqa %ymm0, 2624(%rax)
426vpaddw %ymm12, %ymm14, %ymm0
427vmovdqa %ymm0, 2688(%rax)
428vpaddw %ymm13, %ymm15, %ymm1
429vmovdqa %ymm1, 2752(%rax)
430vpaddw %ymm0, %ymm1, %ymm0
431vmovdqa %ymm0, 2816(%rax)
432vpmullw %ymm3, %ymm4, %ymm0
433vpaddw 256(%rsp), %ymm0, %ymm0
434vpmullw %ymm3, %ymm0, %ymm0
435vpaddw 128(%rsp), %ymm0, %ymm0
436vpmullw %ymm3, %ymm0, %ymm0
437vpaddw 0(%rsp), %ymm0, %ymm12
438vpmullw %ymm3, %ymm5, %ymm0
439vpaddw 288(%rsp), %ymm0, %ymm0
440vpmullw %ymm3, %ymm0, %ymm0
441vpaddw 160(%rsp), %ymm0, %ymm0
442vpmullw %ymm3, %ymm0, %ymm0
443vpaddw 32(%rsp), %ymm0, %ymm13
444vpmullw %ymm3, %ymm6, %ymm0
445vpaddw 320(%rsp), %ymm0, %ymm0
446vpmullw %ymm3, %ymm0, %ymm0
447vpaddw 192(%rsp), %ymm0, %ymm0
448vpmullw %ymm3, %ymm0, %ymm0
449vpaddw 64(%rsp), %ymm0, %ymm14
450vpmullw %ymm3, %ymm7, %ymm0
451vpaddw 352(%rsp), %ymm0, %ymm0
452vpmullw %ymm3, %ymm0, %ymm0
453vpaddw 224(%rsp), %ymm0, %ymm0
454vpmullw %ymm3, %ymm0, %ymm0
455vpaddw 96(%rsp), %ymm0, %ymm15
456vmovdqa %ymm12, 2880(%rax)
457vmovdqa %ymm13, 2944(%rax)
458vpaddw %ymm12, %ymm13, %ymm0
459vmovdqa %ymm0, 3008(%rax)
460vmovdqa %ymm14, 3072(%rax)
461vmovdqa %ymm15, 3136(%rax)
462vpaddw %ymm14, %ymm15, %ymm0
463vmovdqa %ymm0, 3200(%rax)
464vpaddw %ymm12, %ymm14, %ymm0
465vmovdqa %ymm0, 3264(%rax)
466vpaddw %ymm13, %ymm15, %ymm1
467vmovdqa %ymm1, 3328(%rax)
468vpaddw %ymm0, %ymm1, %ymm0
469vmovdqa %ymm0, 3392(%rax)
470vmovdqa 32(%rsi), %ymm0
471vmovdqa 96(%rsi), %ymm1
472vmovdqa 160(%rsi), %ymm2
473vmovdqa 224(%rsi), %ymm12
474vmovdqa 800(%rsi), %ymm4
475vmovdqa 864(%rsi), %ymm5
476vmovdqa 928(%rsi), %ymm6
477vmovdqa 992(%rsi), %ymm7
478vpand mask_low13words(%rip), %ymm7, %ymm7
479vmovdqa 288(%rsi), %ymm8
480vmovdqa 352(%rsi), %ymm9
481vmovdqa 416(%rsi), %ymm10
482vmovdqa 480(%rsi), %ymm11
483vmovdqa %ymm0, 32(%rax)
484vmovdqa %ymm1, 96(%rax)
485vpaddw %ymm0, %ymm1, %ymm14
486vmovdqa %ymm14, 160(%rax)
487vmovdqa %ymm2, 224(%rax)
488vmovdqa %ymm12, 288(%rax)
489vpaddw %ymm2, %ymm12, %ymm14
490vmovdqa %ymm14, 352(%rax)
491vpaddw %ymm0, %ymm2, %ymm14
492vmovdqa %ymm14, 416(%rax)
493vpaddw %ymm1, %ymm12, %ymm15
494vmovdqa %ymm15, 480(%rax)
495vpaddw %ymm14, %ymm15, %ymm14
496vmovdqa %ymm14, 544(%rax)
497vmovdqa %ymm4, 3488(%rax)
498vmovdqa %ymm5, 3552(%rax)
499vpaddw %ymm4, %ymm5, %ymm14
500vmovdqa %ymm14, 3616(%rax)
501vmovdqa %ymm6, 3680(%rax)
502vmovdqa %ymm7, 3744(%rax)
503vpaddw %ymm6, %ymm7, %ymm14
504vmovdqa %ymm14, 3808(%rax)
505vpaddw %ymm4, %ymm6, %ymm14
506vmovdqa %ymm14, 3872(%rax)
507vpaddw %ymm5, %ymm7, %ymm15
508vmovdqa %ymm15, 3936(%rax)
509vpaddw %ymm14, %ymm15, %ymm14
510vmovdqa %ymm14, 4000(%rax)
511vmovdqa %ymm0, 0(%rsp)
512vmovdqa %ymm1, 32(%rsp)
513vmovdqa %ymm2, 64(%rsp)
514vmovdqa %ymm12, 96(%rsp)
515vmovdqa %ymm8, 128(%rsp)
516vmovdqa %ymm9, 160(%rsp)
517vmovdqa %ymm10, 192(%rsp)
518vmovdqa %ymm11, 224(%rsp)
519vmovdqa 544(%rsi), %ymm0
520vpaddw 0(%rsp), %ymm0, %ymm1
521vpaddw 128(%rsp), %ymm4, %ymm2
522vpaddw %ymm2, %ymm1, %ymm8
523vpsubw %ymm2, %ymm1, %ymm12
524vmovdqa %ymm0, 256(%rsp)
525vmovdqa 608(%rsi), %ymm0
526vpaddw 32(%rsp), %ymm0, %ymm1
527vpaddw 160(%rsp), %ymm5, %ymm2
528vpaddw %ymm2, %ymm1, %ymm9
529vpsubw %ymm2, %ymm1, %ymm13
530vmovdqa %ymm0, 288(%rsp)
531vmovdqa 672(%rsi), %ymm0
532vpaddw 64(%rsp), %ymm0, %ymm1
533vpaddw 192(%rsp), %ymm6, %ymm2
534vpaddw %ymm2, %ymm1, %ymm10
535vpsubw %ymm2, %ymm1, %ymm14
536vmovdqa %ymm0, 320(%rsp)
537vmovdqa 736(%rsi), %ymm0
538vpaddw 96(%rsp), %ymm0, %ymm1
539vpaddw 224(%rsp), %ymm7, %ymm2
540vpaddw %ymm2, %ymm1, %ymm11
541vpsubw %ymm2, %ymm1, %ymm15
542vmovdqa %ymm0, 352(%rsp)
543vmovdqa %ymm8, 608(%rax)
544vmovdqa %ymm9, 672(%rax)
545vpaddw %ymm8, %ymm9, %ymm0
546vmovdqa %ymm0, 736(%rax)
547vmovdqa %ymm10, 800(%rax)
548vmovdqa %ymm11, 864(%rax)
549vpaddw %ymm10, %ymm11, %ymm0
550vmovdqa %ymm0, 928(%rax)
551vpaddw %ymm8, %ymm10, %ymm0
552vmovdqa %ymm0, 992(%rax)
553vpaddw %ymm9, %ymm11, %ymm1
554vmovdqa %ymm1, 1056(%rax)
555vpaddw %ymm0, %ymm1, %ymm0
556vmovdqa %ymm0, 1120(%rax)
557vmovdqa %ymm12, 1184(%rax)
558vmovdqa %ymm13, 1248(%rax)
559vpaddw %ymm12, %ymm13, %ymm0
560vmovdqa %ymm0, 1312(%rax)
561vmovdqa %ymm14, 1376(%rax)
562vmovdqa %ymm15, 1440(%rax)
563vpaddw %ymm14, %ymm15, %ymm0
564vmovdqa %ymm0, 1504(%rax)
565vpaddw %ymm12, %ymm14, %ymm0
566vmovdqa %ymm0, 1568(%rax)
567vpaddw %ymm13, %ymm15, %ymm1
568vmovdqa %ymm1, 1632(%rax)
569vpaddw %ymm0, %ymm1, %ymm0
570vmovdqa %ymm0, 1696(%rax)
571vmovdqa 256(%rsp), %ymm0
572vpsllw $2, %ymm0, %ymm0
573vpaddw 0(%rsp), %ymm0, %ymm0
574vpsllw $2, %ymm4, %ymm1
575vpaddw 128(%rsp), %ymm1, %ymm1
576vpsllw $1, %ymm1, %ymm1
577vpaddw %ymm1, %ymm0, %ymm8
578vpsubw %ymm1, %ymm0, %ymm12
579vmovdqa 288(%rsp), %ymm0
580vpsllw $2, %ymm0, %ymm0
581vpaddw 32(%rsp), %ymm0, %ymm0
582vpsllw $2, %ymm5, %ymm1
583vpaddw 160(%rsp), %ymm1, %ymm1
584vpsllw $1, %ymm1, %ymm1
585vpaddw %ymm1, %ymm0, %ymm9
586vpsubw %ymm1, %ymm0, %ymm13
587vmovdqa 320(%rsp), %ymm0
588vpsllw $2, %ymm0, %ymm0
589vpaddw 64(%rsp), %ymm0, %ymm0
590vpsllw $2, %ymm6, %ymm1
591vpaddw 192(%rsp), %ymm1, %ymm1
592vpsllw $1, %ymm1, %ymm1
593vpaddw %ymm1, %ymm0, %ymm10
594vpsubw %ymm1, %ymm0, %ymm14
595vmovdqa 352(%rsp), %ymm0
596vpsllw $2, %ymm0, %ymm0
597vpaddw 96(%rsp), %ymm0, %ymm0
598vpsllw $2, %ymm7, %ymm1
599vpaddw 224(%rsp), %ymm1, %ymm1
600vpsllw $1, %ymm1, %ymm1
601vpaddw %ymm1, %ymm0, %ymm11
602vpsubw %ymm1, %ymm0, %ymm15
603vmovdqa %ymm8, 1760(%rax)
604vmovdqa %ymm9, 1824(%rax)
605vpaddw %ymm8, %ymm9, %ymm0
606vmovdqa %ymm0, 1888(%rax)
607vmovdqa %ymm10, 1952(%rax)
608vmovdqa %ymm11, 2016(%rax)
609vpaddw %ymm10, %ymm11, %ymm0
610vmovdqa %ymm0, 2080(%rax)
611vpaddw %ymm8, %ymm10, %ymm0
612vmovdqa %ymm0, 2144(%rax)
613vpaddw %ymm9, %ymm11, %ymm1
614vmovdqa %ymm1, 2208(%rax)
615vpaddw %ymm0, %ymm1, %ymm0
616vmovdqa %ymm0, 2272(%rax)
617vmovdqa %ymm12, 2336(%rax)
618vmovdqa %ymm13, 2400(%rax)
619vpaddw %ymm12, %ymm13, %ymm0
620vmovdqa %ymm0, 2464(%rax)
621vmovdqa %ymm14, 2528(%rax)
622vmovdqa %ymm15, 2592(%rax)
623vpaddw %ymm14, %ymm15, %ymm0
624vmovdqa %ymm0, 2656(%rax)
625vpaddw %ymm12, %ymm14, %ymm0
626vmovdqa %ymm0, 2720(%rax)
627vpaddw %ymm13, %ymm15, %ymm1
628vmovdqa %ymm1, 2784(%rax)
629vpaddw %ymm0, %ymm1, %ymm0
630vmovdqa %ymm0, 2848(%rax)
631vpmullw %ymm3, %ymm4, %ymm0
632vpaddw 256(%rsp), %ymm0, %ymm0
633vpmullw %ymm3, %ymm0, %ymm0
634vpaddw 128(%rsp), %ymm0, %ymm0
635vpmullw %ymm3, %ymm0, %ymm0
636vpaddw 0(%rsp), %ymm0, %ymm12
637vpmullw %ymm3, %ymm5, %ymm0
638vpaddw 288(%rsp), %ymm0, %ymm0
639vpmullw %ymm3, %ymm0, %ymm0
640vpaddw 160(%rsp), %ymm0, %ymm0
641vpmullw %ymm3, %ymm0, %ymm0
642vpaddw 32(%rsp), %ymm0, %ymm13
643vpmullw %ymm3, %ymm6, %ymm0
644vpaddw 320(%rsp), %ymm0, %ymm0
645vpmullw %ymm3, %ymm0, %ymm0
646vpaddw 192(%rsp), %ymm0, %ymm0
647vpmullw %ymm3, %ymm0, %ymm0
648vpaddw 64(%rsp), %ymm0, %ymm14
649vpmullw %ymm3, %ymm7, %ymm0
650vpaddw 352(%rsp), %ymm0, %ymm0
651vpmullw %ymm3, %ymm0, %ymm0
652vpaddw 224(%rsp), %ymm0, %ymm0
653vpmullw %ymm3, %ymm0, %ymm0
654vpaddw 96(%rsp), %ymm0, %ymm15
655vmovdqa %ymm12, 2912(%rax)
656vmovdqa %ymm13, 2976(%rax)
657vpaddw %ymm12, %ymm13, %ymm0
658vmovdqa %ymm0, 3040(%rax)
659vmovdqa %ymm14, 3104(%rax)
660vmovdqa %ymm15, 3168(%rax)
661vpaddw %ymm14, %ymm15, %ymm0
662vmovdqa %ymm0, 3232(%rax)
663vpaddw %ymm12, %ymm14, %ymm0
664vmovdqa %ymm0, 3296(%rax)
665vpaddw %ymm13, %ymm15, %ymm1
666vmovdqa %ymm1, 3360(%rax)
667vpaddw %ymm0, %ymm1, %ymm0
668vmovdqa %ymm0, 3424(%rax)
669vmovdqa 0(%rdx), %ymm0
670vmovdqa 64(%rdx), %ymm1
671vmovdqa 128(%rdx), %ymm2
672vmovdqa 192(%rdx), %ymm12
673vmovdqa 768(%rdx), %ymm4
674vmovdqa 832(%rdx), %ymm5
675vmovdqa 896(%rdx), %ymm6
676vmovdqa 960(%rdx), %ymm7
677vmovdqa 256(%rdx), %ymm8
678vmovdqa 320(%rdx), %ymm9
679vmovdqa 384(%rdx), %ymm10
680vmovdqa 448(%rdx), %ymm11
681vmovdqa %ymm0, 0(%r11)
682vmovdqa %ymm1, 64(%r11)
683vpaddw %ymm0, %ymm1, %ymm14
684vmovdqa %ymm14, 128(%r11)
685vmovdqa %ymm2, 192(%r11)
686vmovdqa %ymm12, 256(%r11)
687vpaddw %ymm2, %ymm12, %ymm14
688vmovdqa %ymm14, 320(%r11)
689vpaddw %ymm0, %ymm2, %ymm14
690vmovdqa %ymm14, 384(%r11)
691vpaddw %ymm1, %ymm12, %ymm15
692vmovdqa %ymm15, 448(%r11)
693vpaddw %ymm14, %ymm15, %ymm14
694vmovdqa %ymm14, 512(%r11)
695vmovdqa %ymm4, 3456(%r11)
696vmovdqa %ymm5, 3520(%r11)
697vpaddw %ymm4, %ymm5, %ymm14
698vmovdqa %ymm14, 3584(%r11)
699vmovdqa %ymm6, 3648(%r11)
700vmovdqa %ymm7, 3712(%r11)
701vpaddw %ymm6, %ymm7, %ymm14
702vmovdqa %ymm14, 3776(%r11)
703vpaddw %ymm4, %ymm6, %ymm14
704vmovdqa %ymm14, 3840(%r11)
705vpaddw %ymm5, %ymm7, %ymm15
706vmovdqa %ymm15, 3904(%r11)
707vpaddw %ymm14, %ymm15, %ymm14
708vmovdqa %ymm14, 3968(%r11)
709vmovdqa %ymm0, 0(%rsp)
710vmovdqa %ymm1, 32(%rsp)
711vmovdqa %ymm2, 64(%rsp)
712vmovdqa %ymm12, 96(%rsp)
713vmovdqa %ymm8, 128(%rsp)
714vmovdqa %ymm9, 160(%rsp)
715vmovdqa %ymm10, 192(%rsp)
716vmovdqa %ymm11, 224(%rsp)
717vmovdqa 512(%rdx), %ymm0
718vpaddw 0(%rsp), %ymm0, %ymm1
719vpaddw 128(%rsp), %ymm4, %ymm2
720vpaddw %ymm2, %ymm1, %ymm8
721vpsubw %ymm2, %ymm1, %ymm12
722vmovdqa %ymm0, 256(%rsp)
723vmovdqa 576(%rdx), %ymm0
724vpaddw 32(%rsp), %ymm0, %ymm1
725vpaddw 160(%rsp), %ymm5, %ymm2
726vpaddw %ymm2, %ymm1, %ymm9
727vpsubw %ymm2, %ymm1, %ymm13
728vmovdqa %ymm0, 288(%rsp)
729vmovdqa 640(%rdx), %ymm0
730vpaddw 64(%rsp), %ymm0, %ymm1
731vpaddw 192(%rsp), %ymm6, %ymm2
732vpaddw %ymm2, %ymm1, %ymm10
733vpsubw %ymm2, %ymm1, %ymm14
734vmovdqa %ymm0, 320(%rsp)
735vmovdqa 704(%rdx), %ymm0
736vpaddw 96(%rsp), %ymm0, %ymm1
737vpaddw 224(%rsp), %ymm7, %ymm2
738vpaddw %ymm2, %ymm1, %ymm11
739vpsubw %ymm2, %ymm1, %ymm15
740vmovdqa %ymm0, 352(%rsp)
741vmovdqa %ymm8, 576(%r11)
742vmovdqa %ymm9, 640(%r11)
743vpaddw %ymm8, %ymm9, %ymm0
744vmovdqa %ymm0, 704(%r11)
745vmovdqa %ymm10, 768(%r11)
746vmovdqa %ymm11, 832(%r11)
747vpaddw %ymm10, %ymm11, %ymm0
748vmovdqa %ymm0, 896(%r11)
749vpaddw %ymm8, %ymm10, %ymm0
750vmovdqa %ymm0, 960(%r11)
751vpaddw %ymm9, %ymm11, %ymm1
752vmovdqa %ymm1, 1024(%r11)
753vpaddw %ymm0, %ymm1, %ymm0
754vmovdqa %ymm0, 1088(%r11)
755vmovdqa %ymm12, 1152(%r11)
756vmovdqa %ymm13, 1216(%r11)
757vpaddw %ymm12, %ymm13, %ymm0
758vmovdqa %ymm0, 1280(%r11)
759vmovdqa %ymm14, 1344(%r11)
760vmovdqa %ymm15, 1408(%r11)
761vpaddw %ymm14, %ymm15, %ymm0
762vmovdqa %ymm0, 1472(%r11)
763vpaddw %ymm12, %ymm14, %ymm0
764vmovdqa %ymm0, 1536(%r11)
765vpaddw %ymm13, %ymm15, %ymm1
766vmovdqa %ymm1, 1600(%r11)
767vpaddw %ymm0, %ymm1, %ymm0
768vmovdqa %ymm0, 1664(%r11)
769vmovdqa 256(%rsp), %ymm0
770vpsllw $2, %ymm0, %ymm0
771vpaddw 0(%rsp), %ymm0, %ymm0
772vpsllw $2, %ymm4, %ymm1
773vpaddw 128(%rsp), %ymm1, %ymm1
774vpsllw $1, %ymm1, %ymm1
775vpaddw %ymm1, %ymm0, %ymm8
776vpsubw %ymm1, %ymm0, %ymm12
777vmovdqa 288(%rsp), %ymm0
778vpsllw $2, %ymm0, %ymm0
779vpaddw 32(%rsp), %ymm0, %ymm0
780vpsllw $2, %ymm5, %ymm1
781vpaddw 160(%rsp), %ymm1, %ymm1
782vpsllw $1, %ymm1, %ymm1
783vpaddw %ymm1, %ymm0, %ymm9
784vpsubw %ymm1, %ymm0, %ymm13
785vmovdqa 320(%rsp), %ymm0
786vpsllw $2, %ymm0, %ymm0
787vpaddw 64(%rsp), %ymm0, %ymm0
788vpsllw $2, %ymm6, %ymm1
789vpaddw 192(%rsp), %ymm1, %ymm1
790vpsllw $1, %ymm1, %ymm1
791vpaddw %ymm1, %ymm0, %ymm10
792vpsubw %ymm1, %ymm0, %ymm14
793vmovdqa 352(%rsp), %ymm0
794vpsllw $2, %ymm0, %ymm0
795vpaddw 96(%rsp), %ymm0, %ymm0
796vpsllw $2, %ymm7, %ymm1
797vpaddw 224(%rsp), %ymm1, %ymm1
798vpsllw $1, %ymm1, %ymm1
799vpaddw %ymm1, %ymm0, %ymm11
800vpsubw %ymm1, %ymm0, %ymm15
801vmovdqa %ymm8, 1728(%r11)
802vmovdqa %ymm9, 1792(%r11)
803vpaddw %ymm8, %ymm9, %ymm0
804vmovdqa %ymm0, 1856(%r11)
805vmovdqa %ymm10, 1920(%r11)
806vmovdqa %ymm11, 1984(%r11)
807vpaddw %ymm10, %ymm11, %ymm0
808vmovdqa %ymm0, 2048(%r11)
809vpaddw %ymm8, %ymm10, %ymm0
810vmovdqa %ymm0, 2112(%r11)
811vpaddw %ymm9, %ymm11, %ymm1
812vmovdqa %ymm1, 2176(%r11)
813vpaddw %ymm0, %ymm1, %ymm0
814vmovdqa %ymm0, 2240(%r11)
815vmovdqa %ymm12, 2304(%r11)
816vmovdqa %ymm13, 2368(%r11)
817vpaddw %ymm12, %ymm13, %ymm0
818vmovdqa %ymm0, 2432(%r11)
819vmovdqa %ymm14, 2496(%r11)
820vmovdqa %ymm15, 2560(%r11)
821vpaddw %ymm14, %ymm15, %ymm0
822vmovdqa %ymm0, 2624(%r11)
823vpaddw %ymm12, %ymm14, %ymm0
824vmovdqa %ymm0, 2688(%r11)
825vpaddw %ymm13, %ymm15, %ymm1
826vmovdqa %ymm1, 2752(%r11)
827vpaddw %ymm0, %ymm1, %ymm0
828vmovdqa %ymm0, 2816(%r11)
829vpmullw %ymm3, %ymm4, %ymm0
830vpaddw 256(%rsp), %ymm0, %ymm0
831vpmullw %ymm3, %ymm0, %ymm0
832vpaddw 128(%rsp), %ymm0, %ymm0
833vpmullw %ymm3, %ymm0, %ymm0
834vpaddw 0(%rsp), %ymm0, %ymm12
835vpmullw %ymm3, %ymm5, %ymm0
836vpaddw 288(%rsp), %ymm0, %ymm0
837vpmullw %ymm3, %ymm0, %ymm0
838vpaddw 160(%rsp), %ymm0, %ymm0
839vpmullw %ymm3, %ymm0, %ymm0
840vpaddw 32(%rsp), %ymm0, %ymm13
841vpmullw %ymm3, %ymm6, %ymm0
842vpaddw 320(%rsp), %ymm0, %ymm0
843vpmullw %ymm3, %ymm0, %ymm0
844vpaddw 192(%rsp), %ymm0, %ymm0
845vpmullw %ymm3, %ymm0, %ymm0
846vpaddw 64(%rsp), %ymm0, %ymm14
847vpmullw %ymm3, %ymm7, %ymm0
848vpaddw 352(%rsp), %ymm0, %ymm0
849vpmullw %ymm3, %ymm0, %ymm0
850vpaddw 224(%rsp), %ymm0, %ymm0
851vpmullw %ymm3, %ymm0, %ymm0
852vpaddw 96(%rsp), %ymm0, %ymm15
853vmovdqa %ymm12, 2880(%r11)
854vmovdqa %ymm13, 2944(%r11)
855vpaddw %ymm12, %ymm13, %ymm0
856vmovdqa %ymm0, 3008(%r11)
857vmovdqa %ymm14, 3072(%r11)
858vmovdqa %ymm15, 3136(%r11)
859vpaddw %ymm14, %ymm15, %ymm0
860vmovdqa %ymm0, 3200(%r11)
861vpaddw %ymm12, %ymm14, %ymm0
862vmovdqa %ymm0, 3264(%r11)
863vpaddw %ymm13, %ymm15, %ymm1
864vmovdqa %ymm1, 3328(%r11)
865vpaddw %ymm0, %ymm1, %ymm0
866vmovdqa %ymm0, 3392(%r11)
867vmovdqa 32(%rdx), %ymm0
868vmovdqa 96(%rdx), %ymm1
869vmovdqa 160(%rdx), %ymm2
870vmovdqa 224(%rdx), %ymm12
871vmovdqa 800(%rdx), %ymm4
872vmovdqa 864(%rdx), %ymm5
873vmovdqa 928(%rdx), %ymm6
874vmovdqa 992(%rdx), %ymm7
875vpand mask_low13words(%rip), %ymm7, %ymm7
876vmovdqa 288(%rdx), %ymm8
877vmovdqa 352(%rdx), %ymm9
878vmovdqa 416(%rdx), %ymm10
879vmovdqa 480(%rdx), %ymm11
880vmovdqa %ymm0, 32(%r11)
881vmovdqa %ymm1, 96(%r11)
882vpaddw %ymm0, %ymm1, %ymm14
883vmovdqa %ymm14, 160(%r11)
884vmovdqa %ymm2, 224(%r11)
885vmovdqa %ymm12, 288(%r11)
886vpaddw %ymm2, %ymm12, %ymm14
887vmovdqa %ymm14, 352(%r11)
888vpaddw %ymm0, %ymm2, %ymm14
889vmovdqa %ymm14, 416(%r11)
890vpaddw %ymm1, %ymm12, %ymm15
891vmovdqa %ymm15, 480(%r11)
892vpaddw %ymm14, %ymm15, %ymm14
893vmovdqa %ymm14, 544(%r11)
894vmovdqa %ymm4, 3488(%r11)
895vmovdqa %ymm5, 3552(%r11)
896vpaddw %ymm4, %ymm5, %ymm14
897vmovdqa %ymm14, 3616(%r11)
898vmovdqa %ymm6, 3680(%r11)
899vmovdqa %ymm7, 3744(%r11)
900vpaddw %ymm6, %ymm7, %ymm14
901vmovdqa %ymm14, 3808(%r11)
902vpaddw %ymm4, %ymm6, %ymm14
903vmovdqa %ymm14, 3872(%r11)
904vpaddw %ymm5, %ymm7, %ymm15
905vmovdqa %ymm15, 3936(%r11)
906vpaddw %ymm14, %ymm15, %ymm14
907vmovdqa %ymm14, 4000(%r11)
908vmovdqa %ymm0, 0(%rsp)
909vmovdqa %ymm1, 32(%rsp)
910vmovdqa %ymm2, 64(%rsp)
911vmovdqa %ymm12, 96(%rsp)
912vmovdqa %ymm8, 128(%rsp)
913vmovdqa %ymm9, 160(%rsp)
914vmovdqa %ymm10, 192(%rsp)
915vmovdqa %ymm11, 224(%rsp)
916vmovdqa 544(%rdx), %ymm0
917vpaddw 0(%rsp), %ymm0, %ymm1
918vpaddw 128(%rsp), %ymm4, %ymm2
919vpaddw %ymm2, %ymm1, %ymm8
920vpsubw %ymm2, %ymm1, %ymm12
921vmovdqa %ymm0, 256(%rsp)
922vmovdqa 608(%rdx), %ymm0
923vpaddw 32(%rsp), %ymm0, %ymm1
924vpaddw 160(%rsp), %ymm5, %ymm2
925vpaddw %ymm2, %ymm1, %ymm9
926vpsubw %ymm2, %ymm1, %ymm13
927vmovdqa %ymm0, 288(%rsp)
928vmovdqa 672(%rdx), %ymm0
929vpaddw 64(%rsp), %ymm0, %ymm1
930vpaddw 192(%rsp), %ymm6, %ymm2
931vpaddw %ymm2, %ymm1, %ymm10
932vpsubw %ymm2, %ymm1, %ymm14
933vmovdqa %ymm0, 320(%rsp)
934vmovdqa 736(%rdx), %ymm0
935vpaddw 96(%rsp), %ymm0, %ymm1
936vpaddw 224(%rsp), %ymm7, %ymm2
937vpaddw %ymm2, %ymm1, %ymm11
938vpsubw %ymm2, %ymm1, %ymm15
939vmovdqa %ymm0, 352(%rsp)
940vmovdqa %ymm8, 608(%r11)
941vmovdqa %ymm9, 672(%r11)
942vpaddw %ymm8, %ymm9, %ymm0
943vmovdqa %ymm0, 736(%r11)
944vmovdqa %ymm10, 800(%r11)
945vmovdqa %ymm11, 864(%r11)
946vpaddw %ymm10, %ymm11, %ymm0
947vmovdqa %ymm0, 928(%r11)
948vpaddw %ymm8, %ymm10, %ymm0
949vmovdqa %ymm0, 992(%r11)
950vpaddw %ymm9, %ymm11, %ymm1
951vmovdqa %ymm1, 1056(%r11)
952vpaddw %ymm0, %ymm1, %ymm0
953vmovdqa %ymm0, 1120(%r11)
954vmovdqa %ymm12, 1184(%r11)
955vmovdqa %ymm13, 1248(%r11)
956vpaddw %ymm12, %ymm13, %ymm0
957vmovdqa %ymm0, 1312(%r11)
958vmovdqa %ymm14, 1376(%r11)
959vmovdqa %ymm15, 1440(%r11)
960vpaddw %ymm14, %ymm15, %ymm0
961vmovdqa %ymm0, 1504(%r11)
962vpaddw %ymm12, %ymm14, %ymm0
963vmovdqa %ymm0, 1568(%r11)
964vpaddw %ymm13, %ymm15, %ymm1
965vmovdqa %ymm1, 1632(%r11)
966vpaddw %ymm0, %ymm1, %ymm0
967vmovdqa %ymm0, 1696(%r11)
968vmovdqa 256(%rsp), %ymm0
969vpsllw $2, %ymm0, %ymm0
970vpaddw 0(%rsp), %ymm0, %ymm0
971vpsllw $2, %ymm4, %ymm1
972vpaddw 128(%rsp), %ymm1, %ymm1
973vpsllw $1, %ymm1, %ymm1
974vpaddw %ymm1, %ymm0, %ymm8
975vpsubw %ymm1, %ymm0, %ymm12
976vmovdqa 288(%rsp), %ymm0
977vpsllw $2, %ymm0, %ymm0
978vpaddw 32(%rsp), %ymm0, %ymm0
979vpsllw $2, %ymm5, %ymm1
980vpaddw 160(%rsp), %ymm1, %ymm1
981vpsllw $1, %ymm1, %ymm1
982vpaddw %ymm1, %ymm0, %ymm9
983vpsubw %ymm1, %ymm0, %ymm13
984vmovdqa 320(%rsp), %ymm0
985vpsllw $2, %ymm0, %ymm0
986vpaddw 64(%rsp), %ymm0, %ymm0
987vpsllw $2, %ymm6, %ymm1
988vpaddw 192(%rsp), %ymm1, %ymm1
989vpsllw $1, %ymm1, %ymm1
990vpaddw %ymm1, %ymm0, %ymm10
991vpsubw %ymm1, %ymm0, %ymm14
992vmovdqa 352(%rsp), %ymm0
993vpsllw $2, %ymm0, %ymm0
994vpaddw 96(%rsp), %ymm0, %ymm0
995vpsllw $2, %ymm7, %ymm1
996vpaddw 224(%rsp), %ymm1, %ymm1
997vpsllw $1, %ymm1, %ymm1
998vpaddw %ymm1, %ymm0, %ymm11
999vpsubw %ymm1, %ymm0, %ymm15
1000vmovdqa %ymm8, 1760(%r11)
1001vmovdqa %ymm9, 1824(%r11)
1002vpaddw %ymm8, %ymm9, %ymm0
1003vmovdqa %ymm0, 1888(%r11)
1004vmovdqa %ymm10, 1952(%r11)
1005vmovdqa %ymm11, 2016(%r11)
1006vpaddw %ymm10, %ymm11, %ymm0
1007vmovdqa %ymm0, 2080(%r11)
1008vpaddw %ymm8, %ymm10, %ymm0
1009vmovdqa %ymm0, 2144(%r11)
1010vpaddw %ymm9, %ymm11, %ymm1
1011vmovdqa %ymm1, 2208(%r11)
1012vpaddw %ymm0, %ymm1, %ymm0
1013vmovdqa %ymm0, 2272(%r11)
1014vmovdqa %ymm12, 2336(%r11)
1015vmovdqa %ymm13, 2400(%r11)
1016vpaddw %ymm12, %ymm13, %ymm0
1017vmovdqa %ymm0, 2464(%r11)
1018vmovdqa %ymm14, 2528(%r11)
1019vmovdqa %ymm15, 2592(%r11)
1020vpaddw %ymm14, %ymm15, %ymm0
1021vmovdqa %ymm0, 2656(%r11)
1022vpaddw %ymm12, %ymm14, %ymm0
1023vmovdqa %ymm0, 2720(%r11)
1024vpaddw %ymm13, %ymm15, %ymm1
1025vmovdqa %ymm1, 2784(%r11)
1026vpaddw %ymm0, %ymm1, %ymm0
1027vmovdqa %ymm0, 2848(%r11)
1028vpmullw %ymm3, %ymm4, %ymm0
1029vpaddw 256(%rsp), %ymm0, %ymm0
1030vpmullw %ymm3, %ymm0, %ymm0
1031vpaddw 128(%rsp), %ymm0, %ymm0
1032vpmullw %ymm3, %ymm0, %ymm0
1033vpaddw 0(%rsp), %ymm0, %ymm12
1034vpmullw %ymm3, %ymm5, %ymm0
1035vpaddw 288(%rsp), %ymm0, %ymm0
1036vpmullw %ymm3, %ymm0, %ymm0
1037vpaddw 160(%rsp), %ymm0, %ymm0
1038vpmullw %ymm3, %ymm0, %ymm0
1039vpaddw 32(%rsp), %ymm0, %ymm13
1040vpmullw %ymm3, %ymm6, %ymm0
1041vpaddw 320(%rsp), %ymm0, %ymm0
1042vpmullw %ymm3, %ymm0, %ymm0
1043vpaddw 192(%rsp), %ymm0, %ymm0
1044vpmullw %ymm3, %ymm0, %ymm0
1045vpaddw 64(%rsp), %ymm0, %ymm14
1046vpmullw %ymm3, %ymm7, %ymm0
1047vpaddw 352(%rsp), %ymm0, %ymm0
1048vpmullw %ymm3, %ymm0, %ymm0
1049vpaddw 224(%rsp), %ymm0, %ymm0
1050vpmullw %ymm3, %ymm0, %ymm0
1051vpaddw 96(%rsp), %ymm0, %ymm15
1052vmovdqa %ymm12, 2912(%r11)
1053vmovdqa %ymm13, 2976(%r11)
1054vpaddw %ymm12, %ymm13, %ymm0
1055vmovdqa %ymm0, 3040(%r11)
1056vmovdqa %ymm14, 3104(%r11)
1057vmovdqa %ymm15, 3168(%r11)
1058vpaddw %ymm14, %ymm15, %ymm0
1059vmovdqa %ymm0, 3232(%r11)
1060vpaddw %ymm12, %ymm14, %ymm0
1061vmovdqa %ymm0, 3296(%r11)
1062vpaddw %ymm13, %ymm15, %ymm1
1063vmovdqa %ymm1, 3360(%r11)
1064vpaddw %ymm0, %ymm1, %ymm0
1065vmovdqa %ymm0, 3424(%r11)
1066subq $6656, %rsp
1067mov $4, %ecx
1068karatsuba_loop_1:
1069mov %rsp, %r9
1070mov %rsp, %r10
1071subq $32, %rsp
1072vmovdqa 0(%rax), %ymm0
1073vmovdqa 128(%rax), %ymm1
1074vmovdqa 256(%rax), %ymm2
1075vmovdqa 384(%rax), %ymm3
1076vpunpcklwd 64(%rax), %ymm0, %ymm4
1077vpunpckhwd 64(%rax), %ymm0, %ymm5
1078vpunpcklwd 192(%rax), %ymm1, %ymm6
1079vpunpckhwd 192(%rax), %ymm1, %ymm7
1080vpunpcklwd 320(%rax), %ymm2, %ymm8
1081vpunpckhwd 320(%rax), %ymm2, %ymm9
1082vpunpcklwd 448(%rax), %ymm3, %ymm10
1083vpunpckhwd 448(%rax), %ymm3, %ymm11
1084vpunpckldq %ymm6, %ymm4, %ymm0
1085vpunpckhdq %ymm6, %ymm4, %ymm1
1086vpunpckldq %ymm7, %ymm5, %ymm2
1087vpunpckhdq %ymm7, %ymm5, %ymm3
1088vpunpckldq %ymm10, %ymm8, %ymm12
1089vpunpckhdq %ymm10, %ymm8, %ymm13
1090vpunpckldq %ymm11, %ymm9, %ymm14
1091vpunpckhdq %ymm11, %ymm9, %ymm15
1092vpunpcklqdq %ymm12, %ymm0, %ymm4
1093vpunpckhqdq %ymm12, %ymm0, %ymm5
1094vpunpcklqdq %ymm13, %ymm1, %ymm6
1095vpunpckhqdq %ymm13, %ymm1, %ymm7
1096vpunpcklqdq %ymm14, %ymm2, %ymm8
1097vpunpckhqdq %ymm14, %ymm2, %ymm9
1098vpunpcklqdq %ymm15, %ymm3, %ymm10
1099vpunpckhqdq %ymm15, %ymm3, %ymm11
1100vmovdqa 512(%rax), %ymm0
1101vmovdqa 640(%rax), %ymm1
1102vmovdqa 768(%rax), %ymm2
1103vmovdqa 896(%rax), %ymm3
1104vpunpcklwd 576(%rax), %ymm0, %ymm12
1105vpunpckhwd 576(%rax), %ymm0, %ymm13
1106vpunpcklwd 704(%rax), %ymm1, %ymm14
1107vpunpckhwd 704(%rax), %ymm1, %ymm15
1108vpunpcklwd 832(%rax), %ymm2, %ymm0
1109vpunpckhwd 832(%rax), %ymm2, %ymm1
1110vpunpcklwd 960(%rax), %ymm3, %ymm2
1111vpunpckhwd 960(%rax), %ymm3, %ymm3
1112vmovdqa %ymm11, 0(%rsp)
1113vpunpckldq %ymm14, %ymm12, %ymm11
1114vpunpckhdq %ymm14, %ymm12, %ymm12
1115vpunpckldq %ymm15, %ymm13, %ymm14
1116vpunpckhdq %ymm15, %ymm13, %ymm15
1117vpunpckldq %ymm2, %ymm0, %ymm13
1118vpunpckhdq %ymm2, %ymm0, %ymm0
1119vpunpckldq %ymm3, %ymm1, %ymm2
1120vpunpckhdq %ymm3, %ymm1, %ymm1
1121vpunpcklqdq %ymm13, %ymm11, %ymm3
1122vpunpckhqdq %ymm13, %ymm11, %ymm13
1123vpunpcklqdq %ymm0, %ymm12, %ymm11
1124vpunpckhqdq %ymm0, %ymm12, %ymm0
1125vpunpcklqdq %ymm2, %ymm14, %ymm12
1126vpunpckhqdq %ymm2, %ymm14, %ymm2
1127vpunpcklqdq %ymm1, %ymm15, %ymm14
1128vpunpckhqdq %ymm1, %ymm15, %ymm1
1129vinserti128 $1, %xmm3, %ymm4, %ymm15
1130vmovdqa %ymm15, 0(%r9)
1131vinserti128 $1, %xmm13, %ymm5, %ymm15
1132vmovdqa %ymm15, 32(%r9)
1133vinserti128 $1, %xmm11, %ymm6, %ymm15
1134vmovdqa %ymm15, 64(%r9)
1135vinserti128 $1, %xmm0, %ymm7, %ymm15
1136vmovdqa %ymm15, 96(%r9)
1137vinserti128 $1, %xmm12, %ymm8, %ymm15
1138vmovdqa %ymm15, 128(%r9)
1139vinserti128 $1, %xmm2, %ymm9, %ymm15
1140vmovdqa %ymm15, 160(%r9)
1141vinserti128 $1, %xmm14, %ymm10, %ymm15
1142vmovdqa %ymm15, 192(%r9)
1143vpermq $78, %ymm4, %ymm4
1144vpermq $78, %ymm5, %ymm5
1145vpermq $78, %ymm6, %ymm6
1146vpermq $78, %ymm7, %ymm7
1147vpermq $78, %ymm8, %ymm8
1148vpermq $78, %ymm9, %ymm9
1149vpermq $78, %ymm10, %ymm10
1150vinserti128 $0, %xmm4, %ymm3, %ymm15
1151vmovdqa %ymm15, 256(%r9)
1152vinserti128 $0, %xmm5, %ymm13, %ymm15
1153vmovdqa %ymm15, 288(%r9)
1154vinserti128 $0, %xmm6, %ymm11, %ymm15
1155vmovdqa %ymm15, 320(%r9)
1156vinserti128 $0, %xmm7, %ymm0, %ymm15
1157vmovdqa %ymm15, 352(%r9)
1158vinserti128 $0, %xmm8, %ymm12, %ymm15
1159vmovdqa %ymm15, 384(%r9)
1160vinserti128 $0, %xmm9, %ymm2, %ymm15
1161vmovdqa %ymm15, 416(%r9)
1162vinserti128 $0, %xmm10, %ymm14, %ymm15
1163vmovdqa %ymm15, 448(%r9)
1164vmovdqa 0(%rsp), %ymm11
1165vinserti128 $1, %xmm1, %ymm11, %ymm14
1166vmovdqa %ymm14, 224(%r9)
1167vpermq $78, %ymm11, %ymm11
1168vinserti128 $0, %xmm11, %ymm1, %ymm1
1169vmovdqa %ymm1, 480(%r9)
1170vmovdqa 32(%rax), %ymm0
1171vmovdqa 160(%rax), %ymm1
1172vmovdqa 288(%rax), %ymm2
1173vmovdqa 416(%rax), %ymm3
1174vpunpcklwd 96(%rax), %ymm0, %ymm4
1175vpunpckhwd 96(%rax), %ymm0, %ymm5
1176vpunpcklwd 224(%rax), %ymm1, %ymm6
1177vpunpckhwd 224(%rax), %ymm1, %ymm7
1178vpunpcklwd 352(%rax), %ymm2, %ymm8
1179vpunpckhwd 352(%rax), %ymm2, %ymm9
1180vpunpcklwd 480(%rax), %ymm3, %ymm10
1181vpunpckhwd 480(%rax), %ymm3, %ymm11
1182vpunpckldq %ymm6, %ymm4, %ymm0
1183vpunpckhdq %ymm6, %ymm4, %ymm1
1184vpunpckldq %ymm7, %ymm5, %ymm2
1185vpunpckhdq %ymm7, %ymm5, %ymm3
1186vpunpckldq %ymm10, %ymm8, %ymm12
1187vpunpckhdq %ymm10, %ymm8, %ymm13
1188vpunpckldq %ymm11, %ymm9, %ymm14
1189vpunpckhdq %ymm11, %ymm9, %ymm15
1190vpunpcklqdq %ymm12, %ymm0, %ymm4
1191vpunpckhqdq %ymm12, %ymm0, %ymm5
1192vpunpcklqdq %ymm13, %ymm1, %ymm6
1193vpunpckhqdq %ymm13, %ymm1, %ymm7
1194vpunpcklqdq %ymm14, %ymm2, %ymm8
1195vpunpckhqdq %ymm14, %ymm2, %ymm9
1196vpunpcklqdq %ymm15, %ymm3, %ymm10
1197vpunpckhqdq %ymm15, %ymm3, %ymm11
1198vmovdqa 544(%rax), %ymm0
1199vmovdqa 672(%rax), %ymm1
1200vmovdqa 800(%rax), %ymm2
1201vmovdqa 928(%rax), %ymm3
1202vpunpcklwd 608(%rax), %ymm0, %ymm12
1203vpunpckhwd 608(%rax), %ymm0, %ymm13
1204vpunpcklwd 736(%rax), %ymm1, %ymm14
1205vpunpckhwd 736(%rax), %ymm1, %ymm15
1206vpunpcklwd 864(%rax), %ymm2, %ymm0
1207vpunpckhwd 864(%rax), %ymm2, %ymm1
1208vpunpcklwd 992(%rax), %ymm3, %ymm2
1209vpunpckhwd 992(%rax), %ymm3, %ymm3
1210vmovdqa %ymm11, 0(%rsp)
1211vpunpckldq %ymm14, %ymm12, %ymm11
1212vpunpckhdq %ymm14, %ymm12, %ymm12
1213vpunpckldq %ymm15, %ymm13, %ymm14
1214vpunpckhdq %ymm15, %ymm13, %ymm15
1215vpunpckldq %ymm2, %ymm0, %ymm13
1216vpunpckhdq %ymm2, %ymm0, %ymm0
1217vpunpckldq %ymm3, %ymm1, %ymm2
1218vpunpckhdq %ymm3, %ymm1, %ymm1
1219vpunpcklqdq %ymm13, %ymm11, %ymm3
1220vpunpckhqdq %ymm13, %ymm11, %ymm13
1221vpunpcklqdq %ymm0, %ymm12, %ymm11
1222vpunpckhqdq %ymm0, %ymm12, %ymm0
1223vpunpcklqdq %ymm2, %ymm14, %ymm12
1224vpunpckhqdq %ymm2, %ymm14, %ymm2
1225vpunpcklqdq %ymm1, %ymm15, %ymm14
1226vpunpckhqdq %ymm1, %ymm15, %ymm1
1227vinserti128 $1, %xmm3, %ymm4, %ymm15
1228vmovdqa %ymm15, 512(%r9)
1229vinserti128 $1, %xmm13, %ymm5, %ymm15
1230vmovdqa %ymm15, 544(%r9)
1231vinserti128 $1, %xmm11, %ymm6, %ymm15
1232vmovdqa %ymm15, 576(%r9)
1233vinserti128 $1, %xmm0, %ymm7, %ymm15
1234vmovdqa %ymm15, 608(%r9)
1235vinserti128 $1, %xmm12, %ymm8, %ymm15
1236vmovdqa %ymm15, 640(%r9)
1237vinserti128 $1, %xmm2, %ymm9, %ymm15
1238vmovdqa %ymm15, 672(%r9)
1239vinserti128 $1, %xmm14, %ymm10, %ymm15
1240vmovdqa %ymm15, 704(%r9)
1241vpermq $78, %ymm4, %ymm4
1242vpermq $78, %ymm5, %ymm5
1243vpermq $78, %ymm6, %ymm6
1244vpermq $78, %ymm7, %ymm7
1245vpermq $78, %ymm8, %ymm8
1246vpermq $78, %ymm9, %ymm9
1247vpermq $78, %ymm10, %ymm10
1248vinserti128 $0, %xmm4, %ymm3, %ymm15
1249vmovdqa %ymm15, 768(%r9)
1250vinserti128 $0, %xmm5, %ymm13, %ymm15
1251vmovdqa %ymm15, 800(%r9)
1252vinserti128 $0, %xmm6, %ymm11, %ymm15
1253vmovdqa %ymm15, 832(%r9)
1254vinserti128 $0, %xmm7, %ymm0, %ymm15
1255vmovdqa %ymm15, 864(%r9)
1256vinserti128 $0, %xmm8, %ymm12, %ymm15
1257vmovdqa %ymm15, 896(%r9)
1258vinserti128 $0, %xmm9, %ymm2, %ymm15
1259vmovdqa %ymm15, 928(%r9)
1260vinserti128 $0, %xmm10, %ymm14, %ymm15
1261vmovdqa %ymm15, 960(%r9)
1262vmovdqa 0(%rsp), %ymm11
1263vinserti128 $1, %xmm1, %ymm11, %ymm14
1264vmovdqa %ymm14, 736(%r9)
1265vpermq $78, %ymm11, %ymm11
1266vinserti128 $0, %xmm11, %ymm1, %ymm1
1267vmovdqa %ymm1, 992(%r9)
1268addq $32, %rsp
1269subq $32, %rsp
1270vmovdqa 0(%r11), %ymm0
1271vmovdqa 128(%r11), %ymm1
1272vmovdqa 256(%r11), %ymm2
1273vmovdqa 384(%r11), %ymm3
1274vpunpcklwd 64(%r11), %ymm0, %ymm4
1275vpunpckhwd 64(%r11), %ymm0, %ymm5
1276vpunpcklwd 192(%r11), %ymm1, %ymm6
1277vpunpckhwd 192(%r11), %ymm1, %ymm7
1278vpunpcklwd 320(%r11), %ymm2, %ymm8
1279vpunpckhwd 320(%r11), %ymm2, %ymm9
1280vpunpcklwd 448(%r11), %ymm3, %ymm10
1281vpunpckhwd 448(%r11), %ymm3, %ymm11
1282vpunpckldq %ymm6, %ymm4, %ymm0
1283vpunpckhdq %ymm6, %ymm4, %ymm1
1284vpunpckldq %ymm7, %ymm5, %ymm2
1285vpunpckhdq %ymm7, %ymm5, %ymm3
1286vpunpckldq %ymm10, %ymm8, %ymm12
1287vpunpckhdq %ymm10, %ymm8, %ymm13
1288vpunpckldq %ymm11, %ymm9, %ymm14
1289vpunpckhdq %ymm11, %ymm9, %ymm15
1290vpunpcklqdq %ymm12, %ymm0, %ymm4
1291vpunpckhqdq %ymm12, %ymm0, %ymm5
1292vpunpcklqdq %ymm13, %ymm1, %ymm6
1293vpunpckhqdq %ymm13, %ymm1, %ymm7
1294vpunpcklqdq %ymm14, %ymm2, %ymm8
1295vpunpckhqdq %ymm14, %ymm2, %ymm9
1296vpunpcklqdq %ymm15, %ymm3, %ymm10
1297vpunpckhqdq %ymm15, %ymm3, %ymm11
1298vmovdqa 512(%r11), %ymm0
1299vmovdqa 640(%r11), %ymm1
1300vmovdqa 768(%r11), %ymm2
1301vmovdqa 896(%r11), %ymm3
1302vpunpcklwd 576(%r11), %ymm0, %ymm12
1303vpunpckhwd 576(%r11), %ymm0, %ymm13
1304vpunpcklwd 704(%r11), %ymm1, %ymm14
1305vpunpckhwd 704(%r11), %ymm1, %ymm15
1306vpunpcklwd 832(%r11), %ymm2, %ymm0
1307vpunpckhwd 832(%r11), %ymm2, %ymm1
1308vpunpcklwd 960(%r11), %ymm3, %ymm2
1309vpunpckhwd 960(%r11), %ymm3, %ymm3
1310vmovdqa %ymm11, 0(%rsp)
1311vpunpckldq %ymm14, %ymm12, %ymm11
1312vpunpckhdq %ymm14, %ymm12, %ymm12
1313vpunpckldq %ymm15, %ymm13, %ymm14
1314vpunpckhdq %ymm15, %ymm13, %ymm15
1315vpunpckldq %ymm2, %ymm0, %ymm13
1316vpunpckhdq %ymm2, %ymm0, %ymm0
1317vpunpckldq %ymm3, %ymm1, %ymm2
1318vpunpckhdq %ymm3, %ymm1, %ymm1
1319vpunpcklqdq %ymm13, %ymm11, %ymm3
1320vpunpckhqdq %ymm13, %ymm11, %ymm13
1321vpunpcklqdq %ymm0, %ymm12, %ymm11
1322vpunpckhqdq %ymm0, %ymm12, %ymm0
1323vpunpcklqdq %ymm2, %ymm14, %ymm12
1324vpunpckhqdq %ymm2, %ymm14, %ymm2
1325vpunpcklqdq %ymm1, %ymm15, %ymm14
1326vpunpckhqdq %ymm1, %ymm15, %ymm1
1327vinserti128 $1, %xmm3, %ymm4, %ymm15
1328vmovdqa %ymm15, 1024(%r9)
1329vinserti128 $1, %xmm13, %ymm5, %ymm15
1330vmovdqa %ymm15, 1056(%r9)
1331vinserti128 $1, %xmm11, %ymm6, %ymm15
1332vmovdqa %ymm15, 1088(%r9)
1333vinserti128 $1, %xmm0, %ymm7, %ymm15
1334vmovdqa %ymm15, 1120(%r9)
1335vinserti128 $1, %xmm12, %ymm8, %ymm15
1336vmovdqa %ymm15, 1152(%r9)
1337vinserti128 $1, %xmm2, %ymm9, %ymm15
1338vmovdqa %ymm15, 1184(%r9)
1339vinserti128 $1, %xmm14, %ymm10, %ymm15
1340vmovdqa %ymm15, 1216(%r9)
1341vpermq $78, %ymm4, %ymm4
1342vpermq $78, %ymm5, %ymm5
1343vpermq $78, %ymm6, %ymm6
1344vpermq $78, %ymm7, %ymm7
1345vpermq $78, %ymm8, %ymm8
1346vpermq $78, %ymm9, %ymm9
1347vpermq $78, %ymm10, %ymm10
1348vinserti128 $0, %xmm4, %ymm3, %ymm15
1349vmovdqa %ymm15, 1280(%r9)
1350vinserti128 $0, %xmm5, %ymm13, %ymm15
1351vmovdqa %ymm15, 1312(%r9)
1352vinserti128 $0, %xmm6, %ymm11, %ymm15
1353vmovdqa %ymm15, 1344(%r9)
1354vinserti128 $0, %xmm7, %ymm0, %ymm15
1355vmovdqa %ymm15, 1376(%r9)
1356vinserti128 $0, %xmm8, %ymm12, %ymm15
1357vmovdqa %ymm15, 1408(%r9)
1358vinserti128 $0, %xmm9, %ymm2, %ymm15
1359vmovdqa %ymm15, 1440(%r9)
1360vinserti128 $0, %xmm10, %ymm14, %ymm15
1361vmovdqa %ymm15, 1472(%r9)
1362vmovdqa 0(%rsp), %ymm11
1363vinserti128 $1, %xmm1, %ymm11, %ymm14
1364vmovdqa %ymm14, 1248(%r9)
1365vpermq $78, %ymm11, %ymm11
1366vinserti128 $0, %xmm11, %ymm1, %ymm1
1367vmovdqa %ymm1, 1504(%r9)
1368vmovdqa 32(%r11), %ymm0
1369vmovdqa 160(%r11), %ymm1
1370vmovdqa 288(%r11), %ymm2
1371vmovdqa 416(%r11), %ymm3
1372vpunpcklwd 96(%r11), %ymm0, %ymm4
1373vpunpckhwd 96(%r11), %ymm0, %ymm5
1374vpunpcklwd 224(%r11), %ymm1, %ymm6
1375vpunpckhwd 224(%r11), %ymm1, %ymm7
1376vpunpcklwd 352(%r11), %ymm2, %ymm8
1377vpunpckhwd 352(%r11), %ymm2, %ymm9
1378vpunpcklwd 480(%r11), %ymm3, %ymm10
1379vpunpckhwd 480(%r11), %ymm3, %ymm11
1380vpunpckldq %ymm6, %ymm4, %ymm0
1381vpunpckhdq %ymm6, %ymm4, %ymm1
1382vpunpckldq %ymm7, %ymm5, %ymm2
1383vpunpckhdq %ymm7, %ymm5, %ymm3
1384vpunpckldq %ymm10, %ymm8, %ymm12
1385vpunpckhdq %ymm10, %ymm8, %ymm13
1386vpunpckldq %ymm11, %ymm9, %ymm14
1387vpunpckhdq %ymm11, %ymm9, %ymm15
1388vpunpcklqdq %ymm12, %ymm0, %ymm4
1389vpunpckhqdq %ymm12, %ymm0, %ymm5
1390vpunpcklqdq %ymm13, %ymm1, %ymm6
1391vpunpckhqdq %ymm13, %ymm1, %ymm7
1392vpunpcklqdq %ymm14, %ymm2, %ymm8
1393vpunpckhqdq %ymm14, %ymm2, %ymm9
1394vpunpcklqdq %ymm15, %ymm3, %ymm10
1395vpunpckhqdq %ymm15, %ymm3, %ymm11
1396vmovdqa 544(%r11), %ymm0
1397vmovdqa 672(%r11), %ymm1
1398vmovdqa 800(%r11), %ymm2
1399vmovdqa 928(%r11), %ymm3
1400vpunpcklwd 608(%r11), %ymm0, %ymm12
1401vpunpckhwd 608(%r11), %ymm0, %ymm13
1402vpunpcklwd 736(%r11), %ymm1, %ymm14
1403vpunpckhwd 736(%r11), %ymm1, %ymm15
1404vpunpcklwd 864(%r11), %ymm2, %ymm0
1405vpunpckhwd 864(%r11), %ymm2, %ymm1
1406vpunpcklwd 992(%r11), %ymm3, %ymm2
1407vpunpckhwd 992(%r11), %ymm3, %ymm3
1408vmovdqa %ymm11, 0(%rsp)
1409vpunpckldq %ymm14, %ymm12, %ymm11
1410vpunpckhdq %ymm14, %ymm12, %ymm12
1411vpunpckldq %ymm15, %ymm13, %ymm14
1412vpunpckhdq %ymm15, %ymm13, %ymm15
1413vpunpckldq %ymm2, %ymm0, %ymm13
1414vpunpckhdq %ymm2, %ymm0, %ymm0
1415vpunpckldq %ymm3, %ymm1, %ymm2
1416vpunpckhdq %ymm3, %ymm1, %ymm1
1417vpunpcklqdq %ymm13, %ymm11, %ymm3
1418vpunpckhqdq %ymm13, %ymm11, %ymm13
1419vpunpcklqdq %ymm0, %ymm12, %ymm11
1420vpunpckhqdq %ymm0, %ymm12, %ymm0
1421vpunpcklqdq %ymm2, %ymm14, %ymm12
1422vpunpckhqdq %ymm2, %ymm14, %ymm2
1423vpunpcklqdq %ymm1, %ymm15, %ymm14
1424vpunpckhqdq %ymm1, %ymm15, %ymm1
1425vinserti128 $1, %xmm3, %ymm4, %ymm15
1426vmovdqa %ymm15, 1536(%r9)
1427vinserti128 $1, %xmm13, %ymm5, %ymm15
1428vmovdqa %ymm15, 1568(%r9)
1429vinserti128 $1, %xmm11, %ymm6, %ymm15
1430vmovdqa %ymm15, 1600(%r9)
1431vinserti128 $1, %xmm0, %ymm7, %ymm15
1432vmovdqa %ymm15, 1632(%r9)
1433vinserti128 $1, %xmm12, %ymm8, %ymm15
1434vmovdqa %ymm15, 1664(%r9)
1435vinserti128 $1, %xmm2, %ymm9, %ymm15
1436vmovdqa %ymm15, 1696(%r9)
1437vinserti128 $1, %xmm14, %ymm10, %ymm15
1438vmovdqa %ymm15, 1728(%r9)
1439vpermq $78, %ymm4, %ymm4
1440vpermq $78, %ymm5, %ymm5
1441vpermq $78, %ymm6, %ymm6
1442vpermq $78, %ymm7, %ymm7
1443vpermq $78, %ymm8, %ymm8
1444vpermq $78, %ymm9, %ymm9
1445vpermq $78, %ymm10, %ymm10
1446vinserti128 $0, %xmm4, %ymm3, %ymm15
1447vmovdqa %ymm15, 1792(%r9)
1448vinserti128 $0, %xmm5, %ymm13, %ymm15
1449vmovdqa %ymm15, 1824(%r9)
1450vinserti128 $0, %xmm6, %ymm11, %ymm15
1451vmovdqa %ymm15, 1856(%r9)
1452vinserti128 $0, %xmm7, %ymm0, %ymm15
1453vmovdqa %ymm15, 1888(%r9)
1454vinserti128 $0, %xmm8, %ymm12, %ymm15
1455vmovdqa %ymm15, 1920(%r9)
1456vinserti128 $0, %xmm9, %ymm2, %ymm15
1457vmovdqa %ymm15, 1952(%r9)
1458vinserti128 $0, %xmm10, %ymm14, %ymm15
1459vmovdqa %ymm15, 1984(%r9)
1460vmovdqa 0(%rsp), %ymm11
1461vinserti128 $1, %xmm1, %ymm11, %ymm14
1462vmovdqa %ymm14, 1760(%r9)
1463vpermq $78, %ymm11, %ymm11
1464vinserti128 $0, %xmm11, %ymm1, %ymm1
1465vmovdqa %ymm1, 2016(%r9)
1466addq $32, %rsp
1467innerloop_1:
1468vmovdqa 0(%r9), %ymm0
1469vmovdqa 1024(%r9), %ymm4
1470vmovdqa 32(%r9), %ymm1
1471vmovdqa 1056(%r9), %ymm5
1472vmovdqa 64(%r9), %ymm2
1473vmovdqa 1088(%r9), %ymm6
1474vmovdqa 96(%r9), %ymm3
1475vmovdqa 1120(%r9), %ymm7
1476vpmullw %ymm0, %ymm4, %ymm12
1477vmovdqa %ymm12, 2048(%r10)
1478vpmullw %ymm0, %ymm5, %ymm13
1479vpmullw %ymm1, %ymm4, %ymm15
1480vpaddw %ymm13, %ymm15, %ymm13
1481vmovdqa %ymm13, 2080(%r10)
1482vpmullw %ymm0, %ymm6, %ymm12
1483vpmullw %ymm1, %ymm5, %ymm15
1484vpaddw %ymm12, %ymm15, %ymm12
1485vpmullw %ymm2, %ymm4, %ymm15
1486vpaddw %ymm12, %ymm15, %ymm12
1487vmovdqa %ymm12, 2112(%r10)
1488vpmullw %ymm0, %ymm7, %ymm13
1489vpmullw %ymm1, %ymm6, %ymm15
1490vpaddw %ymm13, %ymm15, %ymm13
1491vpmullw %ymm2, %ymm5, %ymm15
1492vpaddw %ymm13, %ymm15, %ymm13
1493vpmullw %ymm3, %ymm4, %ymm15
1494vpaddw %ymm13, %ymm15, %ymm13
1495vmovdqa %ymm13, 2144(%r10)
1496vpmullw %ymm1, %ymm7, %ymm12
1497vpmullw %ymm2, %ymm6, %ymm15
1498vpaddw %ymm12, %ymm15, %ymm12
1499vpmullw %ymm3, %ymm5, %ymm15
1500vpaddw %ymm12, %ymm15, %ymm12
1501vmovdqa %ymm12, 2176(%r10)
1502vpmullw %ymm2, %ymm7, %ymm13
1503vpmullw %ymm3, %ymm6, %ymm15
1504vpaddw %ymm13, %ymm15, %ymm13
1505vmovdqa %ymm13, 2208(%r10)
1506vpmullw %ymm3, %ymm7, %ymm12
1507vmovdqa %ymm12, 2240(%r10)
1508vmovdqa 128(%r9), %ymm0
1509vmovdqa 1152(%r9), %ymm4
1510vmovdqa 160(%r9), %ymm1
1511vmovdqa 1184(%r9), %ymm5
1512vmovdqa 192(%r9), %ymm2
1513vmovdqa 1216(%r9), %ymm6
1514vmovdqa 224(%r9), %ymm3
1515vmovdqa 1248(%r9), %ymm7
1516vpmullw %ymm0, %ymm4, %ymm12
1517vmovdqa %ymm12, 2304(%r10)
1518vpmullw %ymm0, %ymm5, %ymm13
1519vpmullw %ymm1, %ymm4, %ymm15
1520vpaddw %ymm13, %ymm15, %ymm13
1521vmovdqa %ymm13, 2336(%r10)
1522vpmullw %ymm0, %ymm6, %ymm12
1523vpmullw %ymm1, %ymm5, %ymm15
1524vpaddw %ymm12, %ymm15, %ymm12
1525vpmullw %ymm2, %ymm4, %ymm15
1526vpaddw %ymm12, %ymm15, %ymm12
1527vmovdqa %ymm12, 2368(%r10)
1528vpmullw %ymm0, %ymm7, %ymm13
1529vpmullw %ymm1, %ymm6, %ymm15
1530vpaddw %ymm13, %ymm15, %ymm13
1531vpmullw %ymm2, %ymm5, %ymm15
1532vpaddw %ymm13, %ymm15, %ymm13
1533vpmullw %ymm3, %ymm4, %ymm15
1534vpaddw %ymm13, %ymm15, %ymm13
1535vmovdqa %ymm13, 2400(%r10)
1536vpmullw %ymm1, %ymm7, %ymm12
1537vpmullw %ymm2, %ymm6, %ymm15
1538vpaddw %ymm12, %ymm15, %ymm12
1539vpmullw %ymm3, %ymm5, %ymm15
1540vpaddw %ymm12, %ymm15, %ymm12
1541vmovdqa %ymm12, 2432(%r10)
1542vpmullw %ymm2, %ymm7, %ymm13
1543vpmullw %ymm3, %ymm6, %ymm15
1544vpaddw %ymm13, %ymm15, %ymm13
1545vmovdqa %ymm13, 2464(%r10)
1546vpmullw %ymm3, %ymm7, %ymm12
1547vmovdqa %ymm12, 2496(%r10)
1548vpaddw 0(%r9), %ymm0, %ymm0
1549vpaddw 1024(%r9), %ymm4, %ymm4
1550vpaddw 32(%r9), %ymm1, %ymm1
1551vpaddw 1056(%r9), %ymm5, %ymm5
1552vpaddw 64(%r9), %ymm2, %ymm2
1553vpaddw 1088(%r9), %ymm6, %ymm6
1554vpaddw 96(%r9), %ymm3, %ymm3
1555vpaddw 1120(%r9), %ymm7, %ymm7
1556vpmullw %ymm0, %ymm4, %ymm9
1557vpmullw %ymm0, %ymm5, %ymm10
1558vpmullw %ymm1, %ymm4, %ymm8
1559vpaddw %ymm8, %ymm10, %ymm10
1560vpmullw %ymm0, %ymm6, %ymm11
1561vpmullw %ymm1, %ymm5, %ymm8
1562vpaddw %ymm8, %ymm11, %ymm11
1563vpmullw %ymm2, %ymm4, %ymm8
1564vpaddw %ymm8, %ymm11, %ymm11
1565vpmullw %ymm0, %ymm7, %ymm12
1566vpmullw %ymm1, %ymm6, %ymm8
1567vpaddw %ymm8, %ymm12, %ymm12
1568vpmullw %ymm2, %ymm5, %ymm8
1569vpaddw %ymm8, %ymm12, %ymm12
1570vpmullw %ymm3, %ymm4, %ymm8
1571vpaddw %ymm8, %ymm12, %ymm12
1572vpmullw %ymm1, %ymm7, %ymm13
1573vpmullw %ymm2, %ymm6, %ymm8
1574vpaddw %ymm8, %ymm13, %ymm13
1575vpmullw %ymm3, %ymm5, %ymm8
1576vpaddw %ymm8, %ymm13, %ymm13
1577vpmullw %ymm2, %ymm7, %ymm14
1578vpmullw %ymm3, %ymm6, %ymm8
1579vpaddw %ymm8, %ymm14, %ymm14
1580vpmullw %ymm3, %ymm7, %ymm15
1581vpsubw 2048(%r10), %ymm9, %ymm9
1582vmovdqa 2304(%r10), %ymm3
1583vpsubw %ymm3, %ymm9, %ymm9
1584vpsubw 2080(%r10), %ymm10, %ymm10
1585vmovdqa 2336(%r10), %ymm4
1586vpsubw %ymm4, %ymm10, %ymm10
1587vpsubw 2112(%r10), %ymm11, %ymm11
1588vmovdqa 2368(%r10), %ymm5
1589vpsubw %ymm5, %ymm11, %ymm11
1590vpsubw 2144(%r10), %ymm12, %ymm12
1591vpsubw 2400(%r10), %ymm12, %ymm12
1592vmovdqa 2176(%r10), %ymm0
1593vpsubw %ymm0, %ymm13, %ymm13
1594vpsubw 2432(%r10), %ymm13, %ymm13
1595vmovdqa 2208(%r10), %ymm1
1596vpsubw %ymm1, %ymm14, %ymm14
1597vpsubw 2464(%r10), %ymm14, %ymm14
1598vmovdqa 2240(%r10), %ymm2
1599vpsubw %ymm2, %ymm15, %ymm15
1600vpsubw 2496(%r10), %ymm15, %ymm15
1601vpaddw %ymm0, %ymm9, %ymm9
1602vmovdqa %ymm9, 2176(%r10)
1603vpaddw %ymm1, %ymm10, %ymm10
1604vmovdqa %ymm10, 2208(%r10)
1605vpaddw %ymm2, %ymm11, %ymm11
1606vmovdqa %ymm11, 2240(%r10)
1607vmovdqa %ymm12, 2272(%r10)
1608vpaddw %ymm3, %ymm13, %ymm13
1609vmovdqa %ymm13, 2304(%r10)
1610vpaddw %ymm4, %ymm14, %ymm14
1611vmovdqa %ymm14, 2336(%r10)
1612vpaddw %ymm5, %ymm15, %ymm15
1613vmovdqa %ymm15, 2368(%r10)
1614vmovdqa 256(%r9), %ymm0
1615vmovdqa 1280(%r9), %ymm4
1616vmovdqa 288(%r9), %ymm1
1617vmovdqa 1312(%r9), %ymm5
1618vmovdqa 320(%r9), %ymm2
1619vmovdqa 1344(%r9), %ymm6
1620vmovdqa 352(%r9), %ymm3
1621vmovdqa 1376(%r9), %ymm7
1622vpmullw %ymm0, %ymm4, %ymm12
1623vmovdqa %ymm12, 2560(%r10)
1624vpmullw %ymm0, %ymm5, %ymm13
1625vpmullw %ymm1, %ymm4, %ymm15
1626vpaddw %ymm13, %ymm15, %ymm13
1627vmovdqa %ymm13, 2592(%r10)
1628vpmullw %ymm0, %ymm6, %ymm12
1629vpmullw %ymm1, %ymm5, %ymm15
1630vpaddw %ymm12, %ymm15, %ymm12
1631vpmullw %ymm2, %ymm4, %ymm15
1632vpaddw %ymm12, %ymm15, %ymm12
1633vmovdqa %ymm12, 2624(%r10)
1634vpmullw %ymm0, %ymm7, %ymm13
1635vpmullw %ymm1, %ymm6, %ymm15
1636vpaddw %ymm13, %ymm15, %ymm13
1637vpmullw %ymm2, %ymm5, %ymm15
1638vpaddw %ymm13, %ymm15, %ymm13
1639vpmullw %ymm3, %ymm4, %ymm15
1640vpaddw %ymm13, %ymm15, %ymm13
1641vmovdqa %ymm13, 2656(%r10)
1642vpmullw %ymm1, %ymm7, %ymm12
1643vpmullw %ymm2, %ymm6, %ymm15
1644vpaddw %ymm12, %ymm15, %ymm12
1645vpmullw %ymm3, %ymm5, %ymm15
1646vpaddw %ymm12, %ymm15, %ymm12
1647vmovdqa %ymm12, 2688(%r10)
1648vpmullw %ymm2, %ymm7, %ymm13
1649vpmullw %ymm3, %ymm6, %ymm15
1650vpaddw %ymm13, %ymm15, %ymm13
1651vmovdqa %ymm13, 2720(%r10)
1652vpmullw %ymm3, %ymm7, %ymm12
1653vmovdqa %ymm12, 2752(%r10)
1654vmovdqa 384(%r9), %ymm0
1655vmovdqa 1408(%r9), %ymm4
1656vmovdqa 416(%r9), %ymm1
1657vmovdqa 1440(%r9), %ymm5
1658vmovdqa 448(%r9), %ymm2
1659vmovdqa 1472(%r9), %ymm6
1660vmovdqa 480(%r9), %ymm3
1661vmovdqa 1504(%r9), %ymm7
1662vpmullw %ymm0, %ymm4, %ymm12
1663vmovdqa %ymm12, 2816(%r10)
1664vpmullw %ymm0, %ymm5, %ymm13
1665vpmullw %ymm1, %ymm4, %ymm15
1666vpaddw %ymm13, %ymm15, %ymm13
1667vmovdqa %ymm13, 2848(%r10)
1668vpmullw %ymm0, %ymm6, %ymm12
1669vpmullw %ymm1, %ymm5, %ymm15
1670vpaddw %ymm12, %ymm15, %ymm12
1671vpmullw %ymm2, %ymm4, %ymm15
1672vpaddw %ymm12, %ymm15, %ymm12
1673vmovdqa %ymm12, 2880(%r10)
1674vpmullw %ymm0, %ymm7, %ymm13
1675vpmullw %ymm1, %ymm6, %ymm15
1676vpaddw %ymm13, %ymm15, %ymm13
1677vpmullw %ymm2, %ymm5, %ymm15
1678vpaddw %ymm13, %ymm15, %ymm13
1679vpmullw %ymm3, %ymm4, %ymm15
1680vpaddw %ymm13, %ymm15, %ymm13
1681vmovdqa %ymm13, 2912(%r10)
1682vpmullw %ymm1, %ymm7, %ymm12
1683vpmullw %ymm2, %ymm6, %ymm15
1684vpaddw %ymm12, %ymm15, %ymm12
1685vpmullw %ymm3, %ymm5, %ymm15
1686vpaddw %ymm12, %ymm15, %ymm12
1687vmovdqa %ymm12, 2944(%r10)
1688vpmullw %ymm2, %ymm7, %ymm13
1689vpmullw %ymm3, %ymm6, %ymm15
1690vpaddw %ymm13, %ymm15, %ymm13
1691vmovdqa %ymm13, 2976(%r10)
1692vpmullw %ymm3, %ymm7, %ymm12
1693vmovdqa %ymm12, 3008(%r10)
1694vpaddw 256(%r9), %ymm0, %ymm0
1695vpaddw 1280(%r9), %ymm4, %ymm4
1696vpaddw 288(%r9), %ymm1, %ymm1
1697vpaddw 1312(%r9), %ymm5, %ymm5
1698vpaddw 320(%r9), %ymm2, %ymm2
1699vpaddw 1344(%r9), %ymm6, %ymm6
1700vpaddw 352(%r9), %ymm3, %ymm3
1701vpaddw 1376(%r9), %ymm7, %ymm7
1702vpmullw %ymm0, %ymm4, %ymm9
1703vpmullw %ymm0, %ymm5, %ymm10
1704vpmullw %ymm1, %ymm4, %ymm8
1705vpaddw %ymm8, %ymm10, %ymm10
1706vpmullw %ymm0, %ymm6, %ymm11
1707vpmullw %ymm1, %ymm5, %ymm8
1708vpaddw %ymm8, %ymm11, %ymm11
1709vpmullw %ymm2, %ymm4, %ymm8
1710vpaddw %ymm8, %ymm11, %ymm11
1711vpmullw %ymm0, %ymm7, %ymm12
1712vpmullw %ymm1, %ymm6, %ymm8
1713vpaddw %ymm8, %ymm12, %ymm12
1714vpmullw %ymm2, %ymm5, %ymm8
1715vpaddw %ymm8, %ymm12, %ymm12
1716vpmullw %ymm3, %ymm4, %ymm8
1717vpaddw %ymm8, %ymm12, %ymm12
1718vpmullw %ymm1, %ymm7, %ymm13
1719vpmullw %ymm2, %ymm6, %ymm8
1720vpaddw %ymm8, %ymm13, %ymm13
1721vpmullw %ymm3, %ymm5, %ymm8
1722vpaddw %ymm8, %ymm13, %ymm13
1723vpmullw %ymm2, %ymm7, %ymm14
1724vpmullw %ymm3, %ymm6, %ymm8
1725vpaddw %ymm8, %ymm14, %ymm14
1726vpmullw %ymm3, %ymm7, %ymm15
1727vpsubw 2560(%r10), %ymm9, %ymm9
1728vmovdqa 2816(%r10), %ymm3
1729vpsubw %ymm3, %ymm9, %ymm9
1730vpsubw 2592(%r10), %ymm10, %ymm10
1731vmovdqa 2848(%r10), %ymm4
1732vpsubw %ymm4, %ymm10, %ymm10
1733vpsubw 2624(%r10), %ymm11, %ymm11
1734vmovdqa 2880(%r10), %ymm5
1735vpsubw %ymm5, %ymm11, %ymm11
1736vpsubw 2656(%r10), %ymm12, %ymm12
1737vpsubw 2912(%r10), %ymm12, %ymm12
1738vmovdqa 2688(%r10), %ymm0
1739vpsubw %ymm0, %ymm13, %ymm13
1740vpsubw 2944(%r10), %ymm13, %ymm13
1741vmovdqa 2720(%r10), %ymm1
1742vpsubw %ymm1, %ymm14, %ymm14
1743vpsubw 2976(%r10), %ymm14, %ymm14
1744vmovdqa 2752(%r10), %ymm2
1745vpsubw %ymm2, %ymm15, %ymm15
1746vpsubw 3008(%r10), %ymm15, %ymm15
1747vpaddw %ymm0, %ymm9, %ymm9
1748vmovdqa %ymm9, 2688(%r10)
1749vpaddw %ymm1, %ymm10, %ymm10
1750vmovdqa %ymm10, 2720(%r10)
1751vpaddw %ymm2, %ymm11, %ymm11
1752vmovdqa %ymm11, 2752(%r10)
1753vmovdqa %ymm12, 2784(%r10)
1754vpaddw %ymm3, %ymm13, %ymm13
1755vmovdqa %ymm13, 2816(%r10)
1756vpaddw %ymm4, %ymm14, %ymm14
1757vmovdqa %ymm14, 2848(%r10)
1758vpaddw %ymm5, %ymm15, %ymm15
1759vmovdqa %ymm15, 2880(%r10)
1760vmovdqa 0(%r9), %ymm0
1761vmovdqa 1024(%r9), %ymm4
1762vpaddw 256(%r9), %ymm0, %ymm0
1763vpaddw 1280(%r9), %ymm4, %ymm4
1764vmovdqa 32(%r9), %ymm1
1765vmovdqa 1056(%r9), %ymm5
1766vpaddw 288(%r9), %ymm1, %ymm1
1767vpaddw 1312(%r9), %ymm5, %ymm5
1768vmovdqa 64(%r9), %ymm2
1769vmovdqa 1088(%r9), %ymm6
1770vpaddw 320(%r9), %ymm2, %ymm2
1771vpaddw 1344(%r9), %ymm6, %ymm6
1772vmovdqa 96(%r9), %ymm3
1773vmovdqa 1120(%r9), %ymm7
1774vpaddw 352(%r9), %ymm3, %ymm3
1775vpaddw 1376(%r9), %ymm7, %ymm7
1776vpmullw %ymm0, %ymm4, %ymm12
1777vmovdqa %ymm12, 4096(%rsp)
1778vpmullw %ymm0, %ymm5, %ymm13
1779vpmullw %ymm1, %ymm4, %ymm15
1780vpaddw %ymm13, %ymm15, %ymm13
1781vmovdqa %ymm13, 4128(%rsp)
1782vpmullw %ymm0, %ymm6, %ymm12
1783vpmullw %ymm1, %ymm5, %ymm15
1784vpaddw %ymm12, %ymm15, %ymm12
1785vpmullw %ymm2, %ymm4, %ymm15
1786vpaddw %ymm12, %ymm15, %ymm12
1787vmovdqa %ymm12, 4160(%rsp)
1788vpmullw %ymm0, %ymm7, %ymm13
1789vpmullw %ymm1, %ymm6, %ymm15
1790vpaddw %ymm13, %ymm15, %ymm13
1791vpmullw %ymm2, %ymm5, %ymm15
1792vpaddw %ymm13, %ymm15, %ymm13
1793vpmullw %ymm3, %ymm4, %ymm15
1794vpaddw %ymm13, %ymm15, %ymm13
1795vmovdqa %ymm13, 4192(%rsp)
1796vpmullw %ymm1, %ymm7, %ymm12
1797vpmullw %ymm2, %ymm6, %ymm15
1798vpaddw %ymm12, %ymm15, %ymm12
1799vpmullw %ymm3, %ymm5, %ymm15
1800vpaddw %ymm12, %ymm15, %ymm12
1801vmovdqa %ymm12, 4224(%rsp)
1802vpmullw %ymm2, %ymm7, %ymm13
1803vpmullw %ymm3, %ymm6, %ymm15
1804vpaddw %ymm13, %ymm15, %ymm13
1805vmovdqa %ymm13, 4256(%rsp)
1806vpmullw %ymm3, %ymm7, %ymm12
1807vmovdqa %ymm12, 4288(%rsp)
1808vmovdqa 128(%r9), %ymm0
1809vmovdqa 1152(%r9), %ymm4
1810vpaddw 384(%r9), %ymm0, %ymm0
1811vpaddw 1408(%r9), %ymm4, %ymm4
1812vmovdqa 160(%r9), %ymm1
1813vmovdqa 1184(%r9), %ymm5
1814vpaddw 416(%r9), %ymm1, %ymm1
1815vpaddw 1440(%r9), %ymm5, %ymm5
1816vmovdqa 192(%r9), %ymm2
1817vmovdqa 1216(%r9), %ymm6
1818vpaddw 448(%r9), %ymm2, %ymm2
1819vpaddw 1472(%r9), %ymm6, %ymm6
1820vmovdqa 224(%r9), %ymm3
1821vmovdqa 1248(%r9), %ymm7
1822vpaddw 480(%r9), %ymm3, %ymm3
1823vpaddw 1504(%r9), %ymm7, %ymm7
1824vpmullw %ymm0, %ymm4, %ymm12
1825vmovdqa %ymm12, 4352(%rsp)
1826vpmullw %ymm0, %ymm5, %ymm13
1827vpmullw %ymm1, %ymm4, %ymm15
1828vpaddw %ymm13, %ymm15, %ymm13
1829vmovdqa %ymm13, 4384(%rsp)
1830vpmullw %ymm0, %ymm6, %ymm12
1831vpmullw %ymm1, %ymm5, %ymm15
1832vpaddw %ymm12, %ymm15, %ymm12
1833vpmullw %ymm2, %ymm4, %ymm15
1834vpaddw %ymm12, %ymm15, %ymm12
1835vmovdqa %ymm12, 4416(%rsp)
1836vpmullw %ymm0, %ymm7, %ymm13
1837vpmullw %ymm1, %ymm6, %ymm15
1838vpaddw %ymm13, %ymm15, %ymm13
1839vpmullw %ymm2, %ymm5, %ymm15
1840vpaddw %ymm13, %ymm15, %ymm13
1841vpmullw %ymm3, %ymm4, %ymm15
1842vpaddw %ymm13, %ymm15, %ymm13
1843vmovdqa %ymm13, 4448(%rsp)
1844vpmullw %ymm1, %ymm7, %ymm12
1845vpmullw %ymm2, %ymm6, %ymm15
1846vpaddw %ymm12, %ymm15, %ymm12
1847vpmullw %ymm3, %ymm5, %ymm15
1848vpaddw %ymm12, %ymm15, %ymm12
1849vmovdqa %ymm12, 4480(%rsp)
1850vpmullw %ymm2, %ymm7, %ymm13
1851vpmullw %ymm3, %ymm6, %ymm15
1852vpaddw %ymm13, %ymm15, %ymm13
1853vmovdqa %ymm13, 4512(%rsp)
1854vpmullw %ymm3, %ymm7, %ymm12
1855vmovdqa %ymm12, 4544(%rsp)
1856vpaddw 0(%r9), %ymm0, %ymm0
1857vpaddw 1024(%r9), %ymm4, %ymm4
1858vpaddw 256(%r9), %ymm0, %ymm0
1859vpaddw 1280(%r9), %ymm4, %ymm4
1860vpaddw 32(%r9), %ymm1, %ymm1
1861vpaddw 1056(%r9), %ymm5, %ymm5
1862vpaddw 288(%r9), %ymm1, %ymm1
1863vpaddw 1312(%r9), %ymm5, %ymm5
1864vpaddw 64(%r9), %ymm2, %ymm2
1865vpaddw 1088(%r9), %ymm6, %ymm6
1866vpaddw 320(%r9), %ymm2, %ymm2
1867vpaddw 1344(%r9), %ymm6, %ymm6
1868vpaddw 96(%r9), %ymm3, %ymm3
1869vpaddw 1120(%r9), %ymm7, %ymm7
1870vpaddw 352(%r9), %ymm3, %ymm3
1871vpaddw 1376(%r9), %ymm7, %ymm7
1872vpmullw %ymm0, %ymm4, %ymm9
1873vpmullw %ymm0, %ymm5, %ymm10
1874vpmullw %ymm1, %ymm4, %ymm8
1875vpaddw %ymm8, %ymm10, %ymm10
1876vpmullw %ymm0, %ymm6, %ymm11
1877vpmullw %ymm1, %ymm5, %ymm8
1878vpaddw %ymm8, %ymm11, %ymm11
1879vpmullw %ymm2, %ymm4, %ymm8
1880vpaddw %ymm8, %ymm11, %ymm11
1881vpmullw %ymm0, %ymm7, %ymm12
1882vpmullw %ymm1, %ymm6, %ymm8
1883vpaddw %ymm8, %ymm12, %ymm12
1884vpmullw %ymm2, %ymm5, %ymm8
1885vpaddw %ymm8, %ymm12, %ymm12
1886vpmullw %ymm3, %ymm4, %ymm8
1887vpaddw %ymm8, %ymm12, %ymm12
1888vpmullw %ymm1, %ymm7, %ymm13
1889vpmullw %ymm2, %ymm6, %ymm8
1890vpaddw %ymm8, %ymm13, %ymm13
1891vpmullw %ymm3, %ymm5, %ymm8
1892vpaddw %ymm8, %ymm13, %ymm13
1893vpmullw %ymm2, %ymm7, %ymm14
1894vpmullw %ymm3, %ymm6, %ymm8
1895vpaddw %ymm8, %ymm14, %ymm14
1896vpmullw %ymm3, %ymm7, %ymm15
1897vpsubw 4096(%rsp), %ymm9, %ymm9
1898vmovdqa 4352(%rsp), %ymm3
1899vpsubw %ymm3, %ymm9, %ymm9
1900vpsubw 4128(%rsp), %ymm10, %ymm10
1901vmovdqa 4384(%rsp), %ymm4
1902vpsubw %ymm4, %ymm10, %ymm10
1903vpsubw 4160(%rsp), %ymm11, %ymm11
1904vmovdqa 4416(%rsp), %ymm5
1905vpsubw %ymm5, %ymm11, %ymm11
1906vpsubw 4192(%rsp), %ymm12, %ymm12
1907vpsubw 4448(%rsp), %ymm12, %ymm12
1908vmovdqa 4224(%rsp), %ymm0
1909vpsubw %ymm0, %ymm13, %ymm13
1910vpsubw 4480(%rsp), %ymm13, %ymm13
1911vmovdqa 4256(%rsp), %ymm1
1912vpsubw %ymm1, %ymm14, %ymm14
1913vpsubw 4512(%rsp), %ymm14, %ymm14
1914vmovdqa 4288(%rsp), %ymm2
1915vpsubw %ymm2, %ymm15, %ymm15
1916vpsubw 4544(%rsp), %ymm15, %ymm15
1917vpaddw %ymm0, %ymm9, %ymm9
1918vmovdqa %ymm9, 4224(%rsp)
1919vpaddw %ymm1, %ymm10, %ymm10
1920vmovdqa %ymm10, 4256(%rsp)
1921vpaddw %ymm2, %ymm11, %ymm11
1922vmovdqa %ymm11, 4288(%rsp)
1923vmovdqa %ymm12, 4320(%rsp)
1924vpaddw %ymm3, %ymm13, %ymm13
1925vmovdqa %ymm13, 4352(%rsp)
1926vpaddw %ymm4, %ymm14, %ymm14
1927vmovdqa %ymm14, 4384(%rsp)
1928vpaddw %ymm5, %ymm15, %ymm15
1929vmovdqa %ymm15, 4416(%rsp)
1930vmovdqa 4320(%rsp), %ymm0
1931vpsubw 2272(%r10), %ymm0, %ymm0
1932vpsubw 2784(%r10), %ymm0, %ymm0
1933vmovdqa %ymm0, 2528(%r10)
1934vmovdqa 2304(%r10), %ymm0
1935vpsubw 2560(%r10), %ymm0, %ymm0
1936vmovdqa 4352(%rsp), %ymm1
1937vpsubw %ymm0, %ymm1, %ymm1
1938vpsubw 2816(%r10), %ymm1, %ymm1
1939vpsubw 2048(%r10), %ymm0, %ymm0
1940vpaddw 4096(%rsp), %ymm0, %ymm0
1941vmovdqa %ymm0, 2304(%r10)
1942vmovdqa %ymm1, 2560(%r10)
1943vmovdqa 2336(%r10), %ymm0
1944vpsubw 2592(%r10), %ymm0, %ymm0
1945vmovdqa 4384(%rsp), %ymm1
1946vpsubw %ymm0, %ymm1, %ymm1
1947vpsubw 2848(%r10), %ymm1, %ymm1
1948vpsubw 2080(%r10), %ymm0, %ymm0
1949vpaddw 4128(%rsp), %ymm0, %ymm0
1950vmovdqa %ymm0, 2336(%r10)
1951vmovdqa %ymm1, 2592(%r10)
1952vmovdqa 2368(%r10), %ymm0
1953vpsubw 2624(%r10), %ymm0, %ymm0
1954vmovdqa 4416(%rsp), %ymm1
1955vpsubw %ymm0, %ymm1, %ymm1
1956vpsubw 2880(%r10), %ymm1, %ymm1
1957vpsubw 2112(%r10), %ymm0, %ymm0
1958vpaddw 4160(%rsp), %ymm0, %ymm0
1959vmovdqa %ymm0, 2368(%r10)
1960vmovdqa %ymm1, 2624(%r10)
1961vmovdqa 2400(%r10), %ymm0
1962vpsubw 2656(%r10), %ymm0, %ymm0
1963vmovdqa 4448(%rsp), %ymm1
1964vpsubw %ymm0, %ymm1, %ymm1
1965vpsubw 2912(%r10), %ymm1, %ymm1
1966vpsubw 2144(%r10), %ymm0, %ymm0
1967vpaddw 4192(%rsp), %ymm0, %ymm0
1968vmovdqa %ymm0, 2400(%r10)
1969vmovdqa %ymm1, 2656(%r10)
1970vmovdqa 2432(%r10), %ymm0
1971vpsubw 2688(%r10), %ymm0, %ymm0
1972vmovdqa 4480(%rsp), %ymm1
1973vpsubw %ymm0, %ymm1, %ymm1
1974vpsubw 2944(%r10), %ymm1, %ymm1
1975vpsubw 2176(%r10), %ymm0, %ymm0
1976vpaddw 4224(%rsp), %ymm0, %ymm0
1977vmovdqa %ymm0, 2432(%r10)
1978vmovdqa %ymm1, 2688(%r10)
1979vmovdqa 2464(%r10), %ymm0
1980vpsubw 2720(%r10), %ymm0, %ymm0
1981vmovdqa 4512(%rsp), %ymm1
1982vpsubw %ymm0, %ymm1, %ymm1
1983vpsubw 2976(%r10), %ymm1, %ymm1
1984vpsubw 2208(%r10), %ymm0, %ymm0
1985vpaddw 4256(%rsp), %ymm0, %ymm0
1986vmovdqa %ymm0, 2464(%r10)
1987vmovdqa %ymm1, 2720(%r10)
1988vmovdqa 2496(%r10), %ymm0
1989vpsubw 2752(%r10), %ymm0, %ymm0
1990vmovdqa 4544(%rsp), %ymm1
1991vpsubw %ymm0, %ymm1, %ymm1
1992vpsubw 3008(%r10), %ymm1, %ymm1
1993vpsubw 2240(%r10), %ymm0, %ymm0
1994vpaddw 4288(%rsp), %ymm0, %ymm0
1995vmovdqa %ymm0, 2496(%r10)
1996vmovdqa %ymm1, 2752(%r10)
1997neg %ecx
1998jns done_1
1999add $512, %r9
2000add $1024, %r10
2001jmp innerloop_1
2002done_1:
2003sub $512, %r9
2004sub $1024, %r10
2005vmovdqa 0(%r9), %ymm0
2006vpaddw 512(%r9), %ymm0, %ymm0
2007vmovdqa %ymm0, 4608(%rsp)
2008vmovdqa 1024(%r9), %ymm0
2009vpaddw 1536(%r9), %ymm0, %ymm0
2010vmovdqa %ymm0, 5120(%rsp)
2011vmovdqa 32(%r9), %ymm0
2012vpaddw 544(%r9), %ymm0, %ymm0
2013vmovdqa %ymm0, 4640(%rsp)
2014vmovdqa 1056(%r9), %ymm0
2015vpaddw 1568(%r9), %ymm0, %ymm0
2016vmovdqa %ymm0, 5152(%rsp)
2017vmovdqa 64(%r9), %ymm0
2018vpaddw 576(%r9), %ymm0, %ymm0
2019vmovdqa %ymm0, 4672(%rsp)
2020vmovdqa 1088(%r9), %ymm0
2021vpaddw 1600(%r9), %ymm0, %ymm0
2022vmovdqa %ymm0, 5184(%rsp)
2023vmovdqa 96(%r9), %ymm0
2024vpaddw 608(%r9), %ymm0, %ymm0
2025vmovdqa %ymm0, 4704(%rsp)
2026vmovdqa 1120(%r9), %ymm0
2027vpaddw 1632(%r9), %ymm0, %ymm0
2028vmovdqa %ymm0, 5216(%rsp)
2029vmovdqa 128(%r9), %ymm0
2030vpaddw 640(%r9), %ymm0, %ymm0
2031vmovdqa %ymm0, 4736(%rsp)
2032vmovdqa 1152(%r9), %ymm0
2033vpaddw 1664(%r9), %ymm0, %ymm0
2034vmovdqa %ymm0, 5248(%rsp)
2035vmovdqa 160(%r9), %ymm0
2036vpaddw 672(%r9), %ymm0, %ymm0
2037vmovdqa %ymm0, 4768(%rsp)
2038vmovdqa 1184(%r9), %ymm0
2039vpaddw 1696(%r9), %ymm0, %ymm0
2040vmovdqa %ymm0, 5280(%rsp)
2041vmovdqa 192(%r9), %ymm0
2042vpaddw 704(%r9), %ymm0, %ymm0
2043vmovdqa %ymm0, 4800(%rsp)
2044vmovdqa 1216(%r9), %ymm0
2045vpaddw 1728(%r9), %ymm0, %ymm0
2046vmovdqa %ymm0, 5312(%rsp)
2047vmovdqa 224(%r9), %ymm0
2048vpaddw 736(%r9), %ymm0, %ymm0
2049vmovdqa %ymm0, 4832(%rsp)
2050vmovdqa 1248(%r9), %ymm0
2051vpaddw 1760(%r9), %ymm0, %ymm0
2052vmovdqa %ymm0, 5344(%rsp)
2053vmovdqa 256(%r9), %ymm0
2054vpaddw 768(%r9), %ymm0, %ymm0
2055vmovdqa %ymm0, 4864(%rsp)
2056vmovdqa 1280(%r9), %ymm0
2057vpaddw 1792(%r9), %ymm0, %ymm0
2058vmovdqa %ymm0, 5376(%rsp)
2059vmovdqa 288(%r9), %ymm0
2060vpaddw 800(%r9), %ymm0, %ymm0
2061vmovdqa %ymm0, 4896(%rsp)
2062vmovdqa 1312(%r9), %ymm0
2063vpaddw 1824(%r9), %ymm0, %ymm0
2064vmovdqa %ymm0, 5408(%rsp)
2065vmovdqa 320(%r9), %ymm0
2066vpaddw 832(%r9), %ymm0, %ymm0
2067vmovdqa %ymm0, 4928(%rsp)
2068vmovdqa 1344(%r9), %ymm0
2069vpaddw 1856(%r9), %ymm0, %ymm0
2070vmovdqa %ymm0, 5440(%rsp)
2071vmovdqa 352(%r9), %ymm0
2072vpaddw 864(%r9), %ymm0, %ymm0
2073vmovdqa %ymm0, 4960(%rsp)
2074vmovdqa 1376(%r9), %ymm0
2075vpaddw 1888(%r9), %ymm0, %ymm0
2076vmovdqa %ymm0, 5472(%rsp)
2077vmovdqa 384(%r9), %ymm0
2078vpaddw 896(%r9), %ymm0, %ymm0
2079vmovdqa %ymm0, 4992(%rsp)
2080vmovdqa 1408(%r9), %ymm0
2081vpaddw 1920(%r9), %ymm0, %ymm0
2082vmovdqa %ymm0, 5504(%rsp)
2083vmovdqa 416(%r9), %ymm0
2084vpaddw 928(%r9), %ymm0, %ymm0
2085vmovdqa %ymm0, 5024(%rsp)
2086vmovdqa 1440(%r9), %ymm0
2087vpaddw 1952(%r9), %ymm0, %ymm0
2088vmovdqa %ymm0, 5536(%rsp)
2089vmovdqa 448(%r9), %ymm0
2090vpaddw 960(%r9), %ymm0, %ymm0
2091vmovdqa %ymm0, 5056(%rsp)
2092vmovdqa 1472(%r9), %ymm0
2093vpaddw 1984(%r9), %ymm0, %ymm0
2094vmovdqa %ymm0, 5568(%rsp)
2095vmovdqa 480(%r9), %ymm0
2096vpaddw 992(%r9), %ymm0, %ymm0
2097vmovdqa %ymm0, 5088(%rsp)
2098vmovdqa 1504(%r9), %ymm0
2099vpaddw 2016(%r9), %ymm0, %ymm0
2100vmovdqa %ymm0, 5600(%rsp)
2101vmovdqa 4608(%rsp), %ymm0
2102vmovdqa 5120(%rsp), %ymm4
2103vmovdqa 4640(%rsp), %ymm1
2104vmovdqa 5152(%rsp), %ymm5
2105vmovdqa 4672(%rsp), %ymm2
2106vmovdqa 5184(%rsp), %ymm6
2107vmovdqa 4704(%rsp), %ymm3
2108vmovdqa 5216(%rsp), %ymm7
2109vpmullw %ymm0, %ymm4, %ymm12
2110vmovdqa %ymm12, 5632(%rsp)
2111vpmullw %ymm0, %ymm5, %ymm13
2112vpmullw %ymm1, %ymm4, %ymm15
2113vpaddw %ymm13, %ymm15, %ymm13
2114vmovdqa %ymm13, 5664(%rsp)
2115vpmullw %ymm0, %ymm6, %ymm12
2116vpmullw %ymm1, %ymm5, %ymm15
2117vpaddw %ymm12, %ymm15, %ymm12
2118vpmullw %ymm2, %ymm4, %ymm15
2119vpaddw %ymm12, %ymm15, %ymm12
2120vmovdqa %ymm12, 5696(%rsp)
2121vpmullw %ymm0, %ymm7, %ymm13
2122vpmullw %ymm1, %ymm6, %ymm15
2123vpaddw %ymm13, %ymm15, %ymm13
2124vpmullw %ymm2, %ymm5, %ymm15
2125vpaddw %ymm13, %ymm15, %ymm13
2126vpmullw %ymm3, %ymm4, %ymm15
2127vpaddw %ymm13, %ymm15, %ymm13
2128vmovdqa %ymm13, 5728(%rsp)
2129vpmullw %ymm1, %ymm7, %ymm12
2130vpmullw %ymm2, %ymm6, %ymm15
2131vpaddw %ymm12, %ymm15, %ymm12
2132vpmullw %ymm3, %ymm5, %ymm15
2133vpaddw %ymm12, %ymm15, %ymm12
2134vmovdqa %ymm12, 5760(%rsp)
2135vpmullw %ymm2, %ymm7, %ymm13
2136vpmullw %ymm3, %ymm6, %ymm15
2137vpaddw %ymm13, %ymm15, %ymm13
2138vmovdqa %ymm13, 5792(%rsp)
2139vpmullw %ymm3, %ymm7, %ymm12
2140vmovdqa %ymm12, 5824(%rsp)
2141vmovdqa 4736(%rsp), %ymm0
2142vmovdqa 5248(%rsp), %ymm4
2143vmovdqa 4768(%rsp), %ymm1
2144vmovdqa 5280(%rsp), %ymm5
2145vmovdqa 4800(%rsp), %ymm2
2146vmovdqa 5312(%rsp), %ymm6
2147vmovdqa 4832(%rsp), %ymm3
2148vmovdqa 5344(%rsp), %ymm7
2149vpmullw %ymm0, %ymm4, %ymm12
2150vmovdqa %ymm12, 5888(%rsp)
2151vpmullw %ymm0, %ymm5, %ymm13
2152vpmullw %ymm1, %ymm4, %ymm15
2153vpaddw %ymm13, %ymm15, %ymm13
2154vmovdqa %ymm13, 5920(%rsp)
2155vpmullw %ymm0, %ymm6, %ymm12
2156vpmullw %ymm1, %ymm5, %ymm15
2157vpaddw %ymm12, %ymm15, %ymm12
2158vpmullw %ymm2, %ymm4, %ymm15
2159vpaddw %ymm12, %ymm15, %ymm12
2160vmovdqa %ymm12, 5952(%rsp)
2161vpmullw %ymm0, %ymm7, %ymm13
2162vpmullw %ymm1, %ymm6, %ymm15
2163vpaddw %ymm13, %ymm15, %ymm13
2164vpmullw %ymm2, %ymm5, %ymm15
2165vpaddw %ymm13, %ymm15, %ymm13
2166vpmullw %ymm3, %ymm4, %ymm15
2167vpaddw %ymm13, %ymm15, %ymm13
2168vmovdqa %ymm13, 5984(%rsp)
2169vpmullw %ymm1, %ymm7, %ymm12
2170vpmullw %ymm2, %ymm6, %ymm15
2171vpaddw %ymm12, %ymm15, %ymm12
2172vpmullw %ymm3, %ymm5, %ymm15
2173vpaddw %ymm12, %ymm15, %ymm12
2174vmovdqa %ymm12, 6016(%rsp)
2175vpmullw %ymm2, %ymm7, %ymm13
2176vpmullw %ymm3, %ymm6, %ymm15
2177vpaddw %ymm13, %ymm15, %ymm13
2178vmovdqa %ymm13, 6048(%rsp)
2179vpmullw %ymm3, %ymm7, %ymm12
2180vmovdqa %ymm12, 6080(%rsp)
2181vpaddw 4608(%rsp), %ymm0, %ymm0
2182vpaddw 5120(%rsp), %ymm4, %ymm4
2183vpaddw 4640(%rsp), %ymm1, %ymm1
2184vpaddw 5152(%rsp), %ymm5, %ymm5
2185vpaddw 4672(%rsp), %ymm2, %ymm2
2186vpaddw 5184(%rsp), %ymm6, %ymm6
2187vpaddw 4704(%rsp), %ymm3, %ymm3
2188vpaddw 5216(%rsp), %ymm7, %ymm7
2189vpmullw %ymm0, %ymm4, %ymm9
2190vpmullw %ymm0, %ymm5, %ymm10
2191vpmullw %ymm1, %ymm4, %ymm8
2192vpaddw %ymm8, %ymm10, %ymm10
2193vpmullw %ymm0, %ymm6, %ymm11
2194vpmullw %ymm1, %ymm5, %ymm8
2195vpaddw %ymm8, %ymm11, %ymm11
2196vpmullw %ymm2, %ymm4, %ymm8
2197vpaddw %ymm8, %ymm11, %ymm11
2198vpmullw %ymm0, %ymm7, %ymm12
2199vpmullw %ymm1, %ymm6, %ymm8
2200vpaddw %ymm8, %ymm12, %ymm12
2201vpmullw %ymm2, %ymm5, %ymm8
2202vpaddw %ymm8, %ymm12, %ymm12
2203vpmullw %ymm3, %ymm4, %ymm8
2204vpaddw %ymm8, %ymm12, %ymm12
2205vpmullw %ymm1, %ymm7, %ymm13
2206vpmullw %ymm2, %ymm6, %ymm8
2207vpaddw %ymm8, %ymm13, %ymm13
2208vpmullw %ymm3, %ymm5, %ymm8
2209vpaddw %ymm8, %ymm13, %ymm13
2210vpmullw %ymm2, %ymm7, %ymm14
2211vpmullw %ymm3, %ymm6, %ymm8
2212vpaddw %ymm8, %ymm14, %ymm14
2213vpmullw %ymm3, %ymm7, %ymm15
2214vpsubw 5632(%rsp), %ymm9, %ymm9
2215vmovdqa 5888(%rsp), %ymm3
2216vpsubw %ymm3, %ymm9, %ymm9
2217vpsubw 5664(%rsp), %ymm10, %ymm10
2218vmovdqa 5920(%rsp), %ymm4
2219vpsubw %ymm4, %ymm10, %ymm10
2220vpsubw 5696(%rsp), %ymm11, %ymm11
2221vmovdqa 5952(%rsp), %ymm5
2222vpsubw %ymm5, %ymm11, %ymm11
2223vpsubw 5728(%rsp), %ymm12, %ymm12
2224vpsubw 5984(%rsp), %ymm12, %ymm12
2225vmovdqa 5760(%rsp), %ymm0
2226vpsubw %ymm0, %ymm13, %ymm13
2227vpsubw 6016(%rsp), %ymm13, %ymm13
2228vmovdqa 5792(%rsp), %ymm1
2229vpsubw %ymm1, %ymm14, %ymm14
2230vpsubw 6048(%rsp), %ymm14, %ymm14
2231vmovdqa 5824(%rsp), %ymm2
2232vpsubw %ymm2, %ymm15, %ymm15
2233vpsubw 6080(%rsp), %ymm15, %ymm15
2234vpaddw %ymm0, %ymm9, %ymm9
2235vmovdqa %ymm9, 5760(%rsp)
2236vpaddw %ymm1, %ymm10, %ymm10
2237vmovdqa %ymm10, 5792(%rsp)
2238vpaddw %ymm2, %ymm11, %ymm11
2239vmovdqa %ymm11, 5824(%rsp)
2240vmovdqa %ymm12, 5856(%rsp)
2241vpaddw %ymm3, %ymm13, %ymm13
2242vmovdqa %ymm13, 5888(%rsp)
2243vpaddw %ymm4, %ymm14, %ymm14
2244vmovdqa %ymm14, 5920(%rsp)
2245vpaddw %ymm5, %ymm15, %ymm15
2246vmovdqa %ymm15, 5952(%rsp)
2247vmovdqa 4864(%rsp), %ymm0
2248vmovdqa 5376(%rsp), %ymm4
2249vmovdqa 4896(%rsp), %ymm1
2250vmovdqa 5408(%rsp), %ymm5
2251vmovdqa 4928(%rsp), %ymm2
2252vmovdqa 5440(%rsp), %ymm6
2253vmovdqa 4960(%rsp), %ymm3
2254vmovdqa 5472(%rsp), %ymm7
2255vpmullw %ymm0, %ymm4, %ymm12
2256vmovdqa %ymm12, 6144(%rsp)
2257vpmullw %ymm0, %ymm5, %ymm13
2258vpmullw %ymm1, %ymm4, %ymm15
2259vpaddw %ymm13, %ymm15, %ymm13
2260vmovdqa %ymm13, 6176(%rsp)
2261vpmullw %ymm0, %ymm6, %ymm12
2262vpmullw %ymm1, %ymm5, %ymm15
2263vpaddw %ymm12, %ymm15, %ymm12
2264vpmullw %ymm2, %ymm4, %ymm15
2265vpaddw %ymm12, %ymm15, %ymm12
2266vmovdqa %ymm12, 6208(%rsp)
2267vpmullw %ymm0, %ymm7, %ymm13
2268vpmullw %ymm1, %ymm6, %ymm15
2269vpaddw %ymm13, %ymm15, %ymm13
2270vpmullw %ymm2, %ymm5, %ymm15
2271vpaddw %ymm13, %ymm15, %ymm13
2272vpmullw %ymm3, %ymm4, %ymm15
2273vpaddw %ymm13, %ymm15, %ymm13
2274vmovdqa %ymm13, 6240(%rsp)
2275vpmullw %ymm1, %ymm7, %ymm12
2276vpmullw %ymm2, %ymm6, %ymm15
2277vpaddw %ymm12, %ymm15, %ymm12
2278vpmullw %ymm3, %ymm5, %ymm15
2279vpaddw %ymm12, %ymm15, %ymm12
2280vmovdqa %ymm12, 6272(%rsp)
2281vpmullw %ymm2, %ymm7, %ymm13
2282vpmullw %ymm3, %ymm6, %ymm15
2283vpaddw %ymm13, %ymm15, %ymm13
2284vmovdqa %ymm13, 6304(%rsp)
2285vpmullw %ymm3, %ymm7, %ymm12
2286vmovdqa %ymm12, 6336(%rsp)
2287vmovdqa 4992(%rsp), %ymm0
2288vmovdqa 5504(%rsp), %ymm4
2289vmovdqa 5024(%rsp), %ymm1
2290vmovdqa 5536(%rsp), %ymm5
2291vmovdqa 5056(%rsp), %ymm2
2292vmovdqa 5568(%rsp), %ymm6
2293vmovdqa 5088(%rsp), %ymm3
2294vmovdqa 5600(%rsp), %ymm7
2295vpmullw %ymm0, %ymm4, %ymm12
2296vmovdqa %ymm12, 6400(%rsp)
2297vpmullw %ymm0, %ymm5, %ymm13
2298vpmullw %ymm1, %ymm4, %ymm15
2299vpaddw %ymm13, %ymm15, %ymm13
2300vmovdqa %ymm13, 6432(%rsp)
2301vpmullw %ymm0, %ymm6, %ymm12
2302vpmullw %ymm1, %ymm5, %ymm15
2303vpaddw %ymm12, %ymm15, %ymm12
2304vpmullw %ymm2, %ymm4, %ymm15
2305vpaddw %ymm12, %ymm15, %ymm12
2306vmovdqa %ymm12, 6464(%rsp)
2307vpmullw %ymm0, %ymm7, %ymm13
2308vpmullw %ymm1, %ymm6, %ymm15
2309vpaddw %ymm13, %ymm15, %ymm13
2310vpmullw %ymm2, %ymm5, %ymm15
2311vpaddw %ymm13, %ymm15, %ymm13
2312vpmullw %ymm3, %ymm4, %ymm15
2313vpaddw %ymm13, %ymm15, %ymm13
2314vmovdqa %ymm13, 6496(%rsp)
2315vpmullw %ymm1, %ymm7, %ymm12
2316vpmullw %ymm2, %ymm6, %ymm15
2317vpaddw %ymm12, %ymm15, %ymm12
2318vpmullw %ymm3, %ymm5, %ymm15
2319vpaddw %ymm12, %ymm15, %ymm12
2320vmovdqa %ymm12, 6528(%rsp)
2321vpmullw %ymm2, %ymm7, %ymm13
2322vpmullw %ymm3, %ymm6, %ymm15
2323vpaddw %ymm13, %ymm15, %ymm13
2324vmovdqa %ymm13, 6560(%rsp)
2325vpmullw %ymm3, %ymm7, %ymm12
2326vmovdqa %ymm12, 6592(%rsp)
2327vpaddw 4864(%rsp), %ymm0, %ymm0
2328vpaddw 5376(%rsp), %ymm4, %ymm4
2329vpaddw 4896(%rsp), %ymm1, %ymm1
2330vpaddw 5408(%rsp), %ymm5, %ymm5
2331vpaddw 4928(%rsp), %ymm2, %ymm2
2332vpaddw 5440(%rsp), %ymm6, %ymm6
2333vpaddw 4960(%rsp), %ymm3, %ymm3
2334vpaddw 5472(%rsp), %ymm7, %ymm7
2335vpmullw %ymm0, %ymm4, %ymm9
2336vpmullw %ymm0, %ymm5, %ymm10
2337vpmullw %ymm1, %ymm4, %ymm8
2338vpaddw %ymm8, %ymm10, %ymm10
2339vpmullw %ymm0, %ymm6, %ymm11
2340vpmullw %ymm1, %ymm5, %ymm8
2341vpaddw %ymm8, %ymm11, %ymm11
2342vpmullw %ymm2, %ymm4, %ymm8
2343vpaddw %ymm8, %ymm11, %ymm11
2344vpmullw %ymm0, %ymm7, %ymm12
2345vpmullw %ymm1, %ymm6, %ymm8
2346vpaddw %ymm8, %ymm12, %ymm12
2347vpmullw %ymm2, %ymm5, %ymm8
2348vpaddw %ymm8, %ymm12, %ymm12
2349vpmullw %ymm3, %ymm4, %ymm8
2350vpaddw %ymm8, %ymm12, %ymm12
2351vpmullw %ymm1, %ymm7, %ymm13
2352vpmullw %ymm2, %ymm6, %ymm8
2353vpaddw %ymm8, %ymm13, %ymm13
2354vpmullw %ymm3, %ymm5, %ymm8
2355vpaddw %ymm8, %ymm13, %ymm13
2356vpmullw %ymm2, %ymm7, %ymm14
2357vpmullw %ymm3, %ymm6, %ymm8
2358vpaddw %ymm8, %ymm14, %ymm14
2359vpmullw %ymm3, %ymm7, %ymm15
2360vpsubw 6144(%rsp), %ymm9, %ymm9
2361vmovdqa 6400(%rsp), %ymm3
2362vpsubw %ymm3, %ymm9, %ymm9
2363vpsubw 6176(%rsp), %ymm10, %ymm10
2364vmovdqa 6432(%rsp), %ymm4
2365vpsubw %ymm4, %ymm10, %ymm10
2366vpsubw 6208(%rsp), %ymm11, %ymm11
2367vmovdqa 6464(%rsp), %ymm5
2368vpsubw %ymm5, %ymm11, %ymm11
2369vpsubw 6240(%rsp), %ymm12, %ymm12
2370vpsubw 6496(%rsp), %ymm12, %ymm12
2371vmovdqa 6272(%rsp), %ymm0
2372vpsubw %ymm0, %ymm13, %ymm13
2373vpsubw 6528(%rsp), %ymm13, %ymm13
2374vmovdqa 6304(%rsp), %ymm1
2375vpsubw %ymm1, %ymm14, %ymm14
2376vpsubw 6560(%rsp), %ymm14, %ymm14
2377vmovdqa 6336(%rsp), %ymm2
2378vpsubw %ymm2, %ymm15, %ymm15
2379vpsubw 6592(%rsp), %ymm15, %ymm15
2380vpaddw %ymm0, %ymm9, %ymm9
2381vmovdqa %ymm9, 6272(%rsp)
2382vpaddw %ymm1, %ymm10, %ymm10
2383vmovdqa %ymm10, 6304(%rsp)
2384vpaddw %ymm2, %ymm11, %ymm11
2385vmovdqa %ymm11, 6336(%rsp)
2386vmovdqa %ymm12, 6368(%rsp)
2387vpaddw %ymm3, %ymm13, %ymm13
2388vmovdqa %ymm13, 6400(%rsp)
2389vpaddw %ymm4, %ymm14, %ymm14
2390vmovdqa %ymm14, 6432(%rsp)
2391vpaddw %ymm5, %ymm15, %ymm15
2392vmovdqa %ymm15, 6464(%rsp)
2393vmovdqa 4608(%rsp), %ymm0
2394vmovdqa 5120(%rsp), %ymm4
2395vpaddw 4864(%rsp), %ymm0, %ymm0
2396vpaddw 5376(%rsp), %ymm4, %ymm4
2397vmovdqa 4640(%rsp), %ymm1
2398vmovdqa 5152(%rsp), %ymm5
2399vpaddw 4896(%rsp), %ymm1, %ymm1
2400vpaddw 5408(%rsp), %ymm5, %ymm5
2401vmovdqa 4672(%rsp), %ymm2
2402vmovdqa 5184(%rsp), %ymm6
2403vpaddw 4928(%rsp), %ymm2, %ymm2
2404vpaddw 5440(%rsp), %ymm6, %ymm6
2405vmovdqa 4704(%rsp), %ymm3
2406vmovdqa 5216(%rsp), %ymm7
2407vpaddw 4960(%rsp), %ymm3, %ymm3
2408vpaddw 5472(%rsp), %ymm7, %ymm7
2409vpmullw %ymm0, %ymm4, %ymm12
2410vmovdqa %ymm12, 4096(%rsp)
2411vpmullw %ymm0, %ymm5, %ymm13
2412vpmullw %ymm1, %ymm4, %ymm15
2413vpaddw %ymm13, %ymm15, %ymm13
2414vmovdqa %ymm13, 4128(%rsp)
2415vpmullw %ymm0, %ymm6, %ymm12
2416vpmullw %ymm1, %ymm5, %ymm15
2417vpaddw %ymm12, %ymm15, %ymm12
2418vpmullw %ymm2, %ymm4, %ymm15
2419vpaddw %ymm12, %ymm15, %ymm12
2420vmovdqa %ymm12, 4160(%rsp)
2421vpmullw %ymm0, %ymm7, %ymm13
2422vpmullw %ymm1, %ymm6, %ymm15
2423vpaddw %ymm13, %ymm15, %ymm13
2424vpmullw %ymm2, %ymm5, %ymm15
2425vpaddw %ymm13, %ymm15, %ymm13
2426vpmullw %ymm3, %ymm4, %ymm15
2427vpaddw %ymm13, %ymm15, %ymm13
2428vmovdqa %ymm13, 4192(%rsp)
2429vpmullw %ymm1, %ymm7, %ymm12
2430vpmullw %ymm2, %ymm6, %ymm15
2431vpaddw %ymm12, %ymm15, %ymm12
2432vpmullw %ymm3, %ymm5, %ymm15
2433vpaddw %ymm12, %ymm15, %ymm12
2434vmovdqa %ymm12, 4224(%rsp)
2435vpmullw %ymm2, %ymm7, %ymm13
2436vpmullw %ymm3, %ymm6, %ymm15
2437vpaddw %ymm13, %ymm15, %ymm13
2438vmovdqa %ymm13, 4256(%rsp)
2439vpmullw %ymm3, %ymm7, %ymm12
2440vmovdqa %ymm12, 4288(%rsp)
2441vmovdqa 4736(%rsp), %ymm0
2442vmovdqa 5248(%rsp), %ymm4
2443vpaddw 4992(%rsp), %ymm0, %ymm0
2444vpaddw 5504(%rsp), %ymm4, %ymm4
2445vmovdqa 4768(%rsp), %ymm1
2446vmovdqa 5280(%rsp), %ymm5
2447vpaddw 5024(%rsp), %ymm1, %ymm1
2448vpaddw 5536(%rsp), %ymm5, %ymm5
2449vmovdqa 4800(%rsp), %ymm2
2450vmovdqa 5312(%rsp), %ymm6
2451vpaddw 5056(%rsp), %ymm2, %ymm2
2452vpaddw 5568(%rsp), %ymm6, %ymm6
2453vmovdqa 4832(%rsp), %ymm3
2454vmovdqa 5344(%rsp), %ymm7
2455vpaddw 5088(%rsp), %ymm3, %ymm3
2456vpaddw 5600(%rsp), %ymm7, %ymm7
2457vpmullw %ymm0, %ymm4, %ymm12
2458vmovdqa %ymm12, 4352(%rsp)
2459vpmullw %ymm0, %ymm5, %ymm13
2460vpmullw %ymm1, %ymm4, %ymm15
2461vpaddw %ymm13, %ymm15, %ymm13
2462vmovdqa %ymm13, 4384(%rsp)
2463vpmullw %ymm0, %ymm6, %ymm12
2464vpmullw %ymm1, %ymm5, %ymm15
2465vpaddw %ymm12, %ymm15, %ymm12
2466vpmullw %ymm2, %ymm4, %ymm15
2467vpaddw %ymm12, %ymm15, %ymm12
2468vmovdqa %ymm12, 4416(%rsp)
2469vpmullw %ymm0, %ymm7, %ymm13
2470vpmullw %ymm1, %ymm6, %ymm15
2471vpaddw %ymm13, %ymm15, %ymm13
2472vpmullw %ymm2, %ymm5, %ymm15
2473vpaddw %ymm13, %ymm15, %ymm13
2474vpmullw %ymm3, %ymm4, %ymm15
2475vpaddw %ymm13, %ymm15, %ymm13
2476vmovdqa %ymm13, 4448(%rsp)
2477vpmullw %ymm1, %ymm7, %ymm12
2478vpmullw %ymm2, %ymm6, %ymm15
2479vpaddw %ymm12, %ymm15, %ymm12
2480vpmullw %ymm3, %ymm5, %ymm15
2481vpaddw %ymm12, %ymm15, %ymm12
2482vmovdqa %ymm12, 4480(%rsp)
2483vpmullw %ymm2, %ymm7, %ymm13
2484vpmullw %ymm3, %ymm6, %ymm15
2485vpaddw %ymm13, %ymm15, %ymm13
2486vmovdqa %ymm13, 4512(%rsp)
2487vpmullw %ymm3, %ymm7, %ymm12
2488vmovdqa %ymm12, 4544(%rsp)
2489vpaddw 4608(%rsp), %ymm0, %ymm0
2490vpaddw 5120(%rsp), %ymm4, %ymm4
2491vpaddw 4864(%rsp), %ymm0, %ymm0
2492vpaddw 5376(%rsp), %ymm4, %ymm4
2493vpaddw 4640(%rsp), %ymm1, %ymm1
2494vpaddw 5152(%rsp), %ymm5, %ymm5
2495vpaddw 4896(%rsp), %ymm1, %ymm1
2496vpaddw 5408(%rsp), %ymm5, %ymm5
2497vpaddw 4672(%rsp), %ymm2, %ymm2
2498vpaddw 5184(%rsp), %ymm6, %ymm6
2499vpaddw 4928(%rsp), %ymm2, %ymm2
2500vpaddw 5440(%rsp), %ymm6, %ymm6
2501vpaddw 4704(%rsp), %ymm3, %ymm3
2502vpaddw 5216(%rsp), %ymm7, %ymm7
2503vpaddw 4960(%rsp), %ymm3, %ymm3
2504vpaddw 5472(%rsp), %ymm7, %ymm7
2505vpmullw %ymm0, %ymm4, %ymm9
2506vpmullw %ymm0, %ymm5, %ymm10
2507vpmullw %ymm1, %ymm4, %ymm8
2508vpaddw %ymm8, %ymm10, %ymm10
2509vpmullw %ymm0, %ymm6, %ymm11
2510vpmullw %ymm1, %ymm5, %ymm8
2511vpaddw %ymm8, %ymm11, %ymm11
2512vpmullw %ymm2, %ymm4, %ymm8
2513vpaddw %ymm8, %ymm11, %ymm11
2514vpmullw %ymm0, %ymm7, %ymm12
2515vpmullw %ymm1, %ymm6, %ymm8
2516vpaddw %ymm8, %ymm12, %ymm12
2517vpmullw %ymm2, %ymm5, %ymm8
2518vpaddw %ymm8, %ymm12, %ymm12
2519vpmullw %ymm3, %ymm4, %ymm8
2520vpaddw %ymm8, %ymm12, %ymm12
2521vpmullw %ymm1, %ymm7, %ymm13
2522vpmullw %ymm2, %ymm6, %ymm8
2523vpaddw %ymm8, %ymm13, %ymm13
2524vpmullw %ymm3, %ymm5, %ymm8
2525vpaddw %ymm8, %ymm13, %ymm13
2526vpmullw %ymm2, %ymm7, %ymm14
2527vpmullw %ymm3, %ymm6, %ymm8
2528vpaddw %ymm8, %ymm14, %ymm14
2529vpmullw %ymm3, %ymm7, %ymm15
2530vpsubw 4096(%rsp), %ymm9, %ymm9
2531vmovdqa 4352(%rsp), %ymm3
2532vpsubw %ymm3, %ymm9, %ymm9
2533vpsubw 4128(%rsp), %ymm10, %ymm10
2534vmovdqa 4384(%rsp), %ymm4
2535vpsubw %ymm4, %ymm10, %ymm10
2536vpsubw 4160(%rsp), %ymm11, %ymm11
2537vmovdqa 4416(%rsp), %ymm5
2538vpsubw %ymm5, %ymm11, %ymm11
2539vpsubw 4192(%rsp), %ymm12, %ymm12
2540vpsubw 4448(%rsp), %ymm12, %ymm12
2541vmovdqa 4224(%rsp), %ymm0
2542vpsubw %ymm0, %ymm13, %ymm13
2543vpsubw 4480(%rsp), %ymm13, %ymm13
2544vmovdqa 4256(%rsp), %ymm1
2545vpsubw %ymm1, %ymm14, %ymm14
2546vpsubw 4512(%rsp), %ymm14, %ymm14
2547vmovdqa 4288(%rsp), %ymm2
2548vpsubw %ymm2, %ymm15, %ymm15
2549vpsubw 4544(%rsp), %ymm15, %ymm15
2550vpaddw %ymm0, %ymm9, %ymm9
2551vmovdqa %ymm9, 4224(%rsp)
2552vpaddw %ymm1, %ymm10, %ymm10
2553vmovdqa %ymm10, 4256(%rsp)
2554vpaddw %ymm2, %ymm11, %ymm11
2555vmovdqa %ymm11, 4288(%rsp)
2556vmovdqa %ymm12, 4320(%rsp)
2557vpaddw %ymm3, %ymm13, %ymm13
2558vmovdqa %ymm13, 4352(%rsp)
2559vpaddw %ymm4, %ymm14, %ymm14
2560vmovdqa %ymm14, 4384(%rsp)
2561vpaddw %ymm5, %ymm15, %ymm15
2562vmovdqa %ymm15, 4416(%rsp)
2563vmovdqa 5888(%rsp), %ymm0
2564vpsubw 6144(%rsp), %ymm0, %ymm0
2565vmovdqa 4352(%rsp), %ymm1
2566vpsubw %ymm0, %ymm1, %ymm1
2567vpsubw 6400(%rsp), %ymm1, %ymm6
2568vpsubw 5632(%rsp), %ymm0, %ymm0
2569vpaddw 4096(%rsp), %ymm0, %ymm0
2570vmovdqa %ymm0, 5888(%rsp)
2571vmovdqa 5920(%rsp), %ymm0
2572vpsubw 6176(%rsp), %ymm0, %ymm0
2573vmovdqa 4384(%rsp), %ymm1
2574vpsubw %ymm0, %ymm1, %ymm1
2575vpsubw 6432(%rsp), %ymm1, %ymm7
2576vpsubw 5664(%rsp), %ymm0, %ymm0
2577vpaddw 4128(%rsp), %ymm0, %ymm0
2578vmovdqa %ymm0, 5920(%rsp)
2579vmovdqa 5952(%rsp), %ymm0
2580vpsubw 6208(%rsp), %ymm0, %ymm0
2581vmovdqa 4416(%rsp), %ymm1
2582vpsubw %ymm0, %ymm1, %ymm1
2583vpsubw 6464(%rsp), %ymm1, %ymm8
2584vpsubw 5696(%rsp), %ymm0, %ymm0
2585vpaddw 4160(%rsp), %ymm0, %ymm0
2586vmovdqa %ymm0, 5952(%rsp)
2587vmovdqa 5984(%rsp), %ymm0
2588vpsubw 6240(%rsp), %ymm0, %ymm0
2589vmovdqa 4448(%rsp), %ymm1
2590vpsubw %ymm0, %ymm1, %ymm1
2591vpsubw 6496(%rsp), %ymm1, %ymm9
2592vpsubw 5728(%rsp), %ymm0, %ymm0
2593vpaddw 4192(%rsp), %ymm0, %ymm0
2594vmovdqa %ymm0, 5984(%rsp)
2595vmovdqa 6016(%rsp), %ymm0
2596vpsubw 6272(%rsp), %ymm0, %ymm0
2597vmovdqa 4480(%rsp), %ymm1
2598vpsubw %ymm0, %ymm1, %ymm1
2599vpsubw 6528(%rsp), %ymm1, %ymm10
2600vpsubw 5760(%rsp), %ymm0, %ymm0
2601vpaddw 4224(%rsp), %ymm0, %ymm0
2602vmovdqa %ymm0, 6016(%rsp)
2603vmovdqa 6048(%rsp), %ymm0
2604vpsubw 6304(%rsp), %ymm0, %ymm0
2605vmovdqa 4512(%rsp), %ymm1
2606vpsubw %ymm0, %ymm1, %ymm1
2607vpsubw 6560(%rsp), %ymm1, %ymm11
2608vpsubw 5792(%rsp), %ymm0, %ymm0
2609vpaddw 4256(%rsp), %ymm0, %ymm0
2610vmovdqa %ymm0, 6048(%rsp)
2611vmovdqa 6080(%rsp), %ymm0
2612vpsubw 6336(%rsp), %ymm0, %ymm0
2613vmovdqa 4544(%rsp), %ymm1
2614vpsubw %ymm0, %ymm1, %ymm1
2615vpsubw 6592(%rsp), %ymm1, %ymm12
2616vpsubw 5824(%rsp), %ymm0, %ymm0
2617vpaddw 4288(%rsp), %ymm0, %ymm0
2618vmovdqa %ymm0, 6080(%rsp)
2619vmovdqa 4320(%rsp), %ymm0
2620vpsubw 5856(%rsp), %ymm0, %ymm0
2621vpsubw 6368(%rsp), %ymm0, %ymm0
2622vpsubw 2528(%r10), %ymm0, %ymm0
2623vpsubw 3552(%r10), %ymm0, %ymm0
2624vmovdqa %ymm0, 3040(%r10)
2625vmovdqa 2560(%r10), %ymm0
2626vpsubw 3072(%r10), %ymm0, %ymm0
2627vpsubw %ymm0, %ymm6, %ymm6
2628vpsubw 3584(%r10), %ymm6, %ymm6
2629vpsubw 2048(%r10), %ymm0, %ymm0
2630vpaddw 5632(%rsp), %ymm0, %ymm0
2631vmovdqa %ymm0, 2560(%r10)
2632vmovdqa %ymm6, 3072(%r10)
2633vmovdqa 2592(%r10), %ymm0
2634vpsubw 3104(%r10), %ymm0, %ymm0
2635vpsubw %ymm0, %ymm7, %ymm7
2636vpsubw 3616(%r10), %ymm7, %ymm7
2637vpsubw 2080(%r10), %ymm0, %ymm0
2638vpaddw 5664(%rsp), %ymm0, %ymm0
2639vmovdqa %ymm0, 2592(%r10)
2640vmovdqa %ymm7, 3104(%r10)
2641vmovdqa 2624(%r10), %ymm0
2642vpsubw 3136(%r10), %ymm0, %ymm0
2643vpsubw %ymm0, %ymm8, %ymm8
2644vpsubw 3648(%r10), %ymm8, %ymm8
2645vpsubw 2112(%r10), %ymm0, %ymm0
2646vpaddw 5696(%rsp), %ymm0, %ymm0
2647vmovdqa %ymm0, 2624(%r10)
2648vmovdqa %ymm8, 3136(%r10)
2649vmovdqa 2656(%r10), %ymm0
2650vpsubw 3168(%r10), %ymm0, %ymm0
2651vpsubw %ymm0, %ymm9, %ymm9
2652vpsubw 3680(%r10), %ymm9, %ymm9
2653vpsubw 2144(%r10), %ymm0, %ymm0
2654vpaddw 5728(%rsp), %ymm0, %ymm0
2655vmovdqa %ymm0, 2656(%r10)
2656vmovdqa %ymm9, 3168(%r10)
2657vmovdqa 2688(%r10), %ymm0
2658vpsubw 3200(%r10), %ymm0, %ymm0
2659vpsubw %ymm0, %ymm10, %ymm10
2660vpsubw 3712(%r10), %ymm10, %ymm10
2661vpsubw 2176(%r10), %ymm0, %ymm0
2662vpaddw 5760(%rsp), %ymm0, %ymm0
2663vmovdqa %ymm0, 2688(%r10)
2664vmovdqa %ymm10, 3200(%r10)
2665vmovdqa 2720(%r10), %ymm0
2666vpsubw 3232(%r10), %ymm0, %ymm0
2667vpsubw %ymm0, %ymm11, %ymm11
2668vpsubw 3744(%r10), %ymm11, %ymm11
2669vpsubw 2208(%r10), %ymm0, %ymm0
2670vpaddw 5792(%rsp), %ymm0, %ymm0
2671vmovdqa %ymm0, 2720(%r10)
2672vmovdqa %ymm11, 3232(%r10)
2673vmovdqa 2752(%r10), %ymm0
2674vpsubw 3264(%r10), %ymm0, %ymm0
2675vpsubw %ymm0, %ymm12, %ymm12
2676vpsubw 3776(%r10), %ymm12, %ymm12
2677vpsubw 2240(%r10), %ymm0, %ymm0
2678vpaddw 5824(%rsp), %ymm0, %ymm0
2679vmovdqa %ymm0, 2752(%r10)
2680vmovdqa %ymm12, 3264(%r10)
2681vmovdqa 2784(%r10), %ymm0
2682vpsubw 3296(%r10), %ymm0, %ymm0
2683vmovdqa 6368(%rsp), %ymm1
2684vpsubw %ymm0, %ymm1, %ymm1
2685vpsubw 3808(%r10), %ymm1, %ymm1
2686vpsubw 2272(%r10), %ymm0, %ymm0
2687vpaddw 5856(%rsp), %ymm0, %ymm0
2688vmovdqa %ymm0, 2784(%r10)
2689vmovdqa %ymm1, 3296(%r10)
2690vmovdqa 2816(%r10), %ymm0
2691vpsubw 3328(%r10), %ymm0, %ymm0
2692vmovdqa 6400(%rsp), %ymm1
2693vpsubw %ymm0, %ymm1, %ymm1
2694vpsubw 3840(%r10), %ymm1, %ymm1
2695vpsubw 2304(%r10), %ymm0, %ymm0
2696vpaddw 5888(%rsp), %ymm0, %ymm0
2697vmovdqa %ymm0, 2816(%r10)
2698vmovdqa %ymm1, 3328(%r10)
2699vmovdqa 2848(%r10), %ymm0
2700vpsubw 3360(%r10), %ymm0, %ymm0
2701vmovdqa 6432(%rsp), %ymm1
2702vpsubw %ymm0, %ymm1, %ymm1
2703vpsubw 3872(%r10), %ymm1, %ymm1
2704vpsubw 2336(%r10), %ymm0, %ymm0
2705vpaddw 5920(%rsp), %ymm0, %ymm0
2706vmovdqa %ymm0, 2848(%r10)
2707vmovdqa %ymm1, 3360(%r10)
2708vmovdqa 2880(%r10), %ymm0
2709vpsubw 3392(%r10), %ymm0, %ymm0
2710vmovdqa 6464(%rsp), %ymm1
2711vpsubw %ymm0, %ymm1, %ymm1
2712vpsubw 3904(%r10), %ymm1, %ymm1
2713vpsubw 2368(%r10), %ymm0, %ymm0
2714vpaddw 5952(%rsp), %ymm0, %ymm0
2715vmovdqa %ymm0, 2880(%r10)
2716vmovdqa %ymm1, 3392(%r10)
2717vmovdqa 2912(%r10), %ymm0
2718vpsubw 3424(%r10), %ymm0, %ymm0
2719vmovdqa 6496(%rsp), %ymm1
2720vpsubw %ymm0, %ymm1, %ymm1
2721vpsubw 3936(%r10), %ymm1, %ymm1
2722vpsubw 2400(%r10), %ymm0, %ymm0
2723vpaddw 5984(%rsp), %ymm0, %ymm0
2724vmovdqa %ymm0, 2912(%r10)
2725vmovdqa %ymm1, 3424(%r10)
2726vmovdqa 2944(%r10), %ymm0
2727vpsubw 3456(%r10), %ymm0, %ymm0
2728vmovdqa 6528(%rsp), %ymm1
2729vpsubw %ymm0, %ymm1, %ymm1
2730vpsubw 3968(%r10), %ymm1, %ymm1
2731vpsubw 2432(%r10), %ymm0, %ymm0
2732vpaddw 6016(%rsp), %ymm0, %ymm0
2733vmovdqa %ymm0, 2944(%r10)
2734vmovdqa %ymm1, 3456(%r10)
2735vmovdqa 2976(%r10), %ymm0
2736vpsubw 3488(%r10), %ymm0, %ymm0
2737vmovdqa 6560(%rsp), %ymm1
2738vpsubw %ymm0, %ymm1, %ymm1
2739vpsubw 4000(%r10), %ymm1, %ymm1
2740vpsubw 2464(%r10), %ymm0, %ymm0
2741vpaddw 6048(%rsp), %ymm0, %ymm0
2742vmovdqa %ymm0, 2976(%r10)
2743vmovdqa %ymm1, 3488(%r10)
2744vmovdqa 3008(%r10), %ymm0
2745vpsubw 3520(%r10), %ymm0, %ymm0
2746vmovdqa 6592(%rsp), %ymm1
2747vpsubw %ymm0, %ymm1, %ymm1
2748vpsubw 4032(%r10), %ymm1, %ymm1
2749vpsubw 2496(%r10), %ymm0, %ymm0
2750vpaddw 6080(%rsp), %ymm0, %ymm0
2751vmovdqa %ymm0, 3008(%r10)
2752vmovdqa %ymm1, 3520(%r10)
2753vpxor %ymm1, %ymm1, %ymm1
2754vmovdqa %ymm1, 4064(%r10)
2755subq $32, %rsp
2756vmovdqa 2048(%r10), %ymm0
2757vmovdqa 2112(%r10), %ymm1
2758vmovdqa 2176(%r10), %ymm2
2759vmovdqa 2240(%r10), %ymm3
2760vpunpcklwd 2080(%r10), %ymm0, %ymm4
2761vpunpckhwd 2080(%r10), %ymm0, %ymm5
2762vpunpcklwd 2144(%r10), %ymm1, %ymm6
2763vpunpckhwd 2144(%r10), %ymm1, %ymm7
2764vpunpcklwd 2208(%r10), %ymm2, %ymm8
2765vpunpckhwd 2208(%r10), %ymm2, %ymm9
2766vpunpcklwd 2272(%r10), %ymm3, %ymm10
2767vpunpckhwd 2272(%r10), %ymm3, %ymm11
2768vpunpckldq %ymm6, %ymm4, %ymm0
2769vpunpckhdq %ymm6, %ymm4, %ymm1
2770vpunpckldq %ymm7, %ymm5, %ymm2
2771vpunpckhdq %ymm7, %ymm5, %ymm3
2772vpunpckldq %ymm10, %ymm8, %ymm12
2773vpunpckhdq %ymm10, %ymm8, %ymm13
2774vpunpckldq %ymm11, %ymm9, %ymm14
2775vpunpckhdq %ymm11, %ymm9, %ymm15
2776vpunpcklqdq %ymm12, %ymm0, %ymm4
2777vpunpckhqdq %ymm12, %ymm0, %ymm5
2778vpunpcklqdq %ymm13, %ymm1, %ymm6
2779vpunpckhqdq %ymm13, %ymm1, %ymm7
2780vpunpcklqdq %ymm14, %ymm2, %ymm8
2781vpunpckhqdq %ymm14, %ymm2, %ymm9
2782vpunpcklqdq %ymm15, %ymm3, %ymm10
2783vpunpckhqdq %ymm15, %ymm3, %ymm11
2784vmovdqa 2304(%r10), %ymm0
2785vmovdqa 2368(%r10), %ymm1
2786vmovdqa 2432(%r10), %ymm2
2787vmovdqa 2496(%r10), %ymm3
2788vpunpcklwd 2336(%r10), %ymm0, %ymm12
2789vpunpckhwd 2336(%r10), %ymm0, %ymm13
2790vpunpcklwd 2400(%r10), %ymm1, %ymm14
2791vpunpckhwd 2400(%r10), %ymm1, %ymm15
2792vpunpcklwd 2464(%r10), %ymm2, %ymm0
2793vpunpckhwd 2464(%r10), %ymm2, %ymm1
2794vpunpcklwd 2528(%r10), %ymm3, %ymm2
2795vpunpckhwd 2528(%r10), %ymm3, %ymm3
2796vmovdqa %ymm11, 0(%rsp)
2797vpunpckldq %ymm14, %ymm12, %ymm11
2798vpunpckhdq %ymm14, %ymm12, %ymm12
2799vpunpckldq %ymm15, %ymm13, %ymm14
2800vpunpckhdq %ymm15, %ymm13, %ymm15
2801vpunpckldq %ymm2, %ymm0, %ymm13
2802vpunpckhdq %ymm2, %ymm0, %ymm0
2803vpunpckldq %ymm3, %ymm1, %ymm2
2804vpunpckhdq %ymm3, %ymm1, %ymm1
2805vpunpcklqdq %ymm13, %ymm11, %ymm3
2806vpunpckhqdq %ymm13, %ymm11, %ymm13
2807vpunpcklqdq %ymm0, %ymm12, %ymm11
2808vpunpckhqdq %ymm0, %ymm12, %ymm0
2809vpunpcklqdq %ymm2, %ymm14, %ymm12
2810vpunpckhqdq %ymm2, %ymm14, %ymm2
2811vpunpcklqdq %ymm1, %ymm15, %ymm14
2812vpunpckhqdq %ymm1, %ymm15, %ymm1
2813vinserti128 $1, %xmm3, %ymm4, %ymm15
2814vmovdqa %ymm15, 0(%r12)
2815vinserti128 $1, %xmm13, %ymm5, %ymm15
2816vmovdqa %ymm15, 128(%r12)
2817vinserti128 $1, %xmm11, %ymm6, %ymm15
2818vmovdqa %ymm15, 256(%r12)
2819vinserti128 $1, %xmm0, %ymm7, %ymm15
2820vmovdqa %ymm15, 384(%r12)
2821vinserti128 $1, %xmm12, %ymm8, %ymm15
2822vmovdqa %ymm15, 512(%r12)
2823vinserti128 $1, %xmm2, %ymm9, %ymm15
2824vmovdqa %ymm15, 640(%r12)
2825vinserti128 $1, %xmm14, %ymm10, %ymm15
2826vmovdqa %ymm15, 768(%r12)
2827vpermq $78, %ymm4, %ymm4
2828vpermq $78, %ymm5, %ymm5
2829vpermq $78, %ymm6, %ymm6
2830vpermq $78, %ymm7, %ymm7
2831vpermq $78, %ymm8, %ymm8
2832vpermq $78, %ymm9, %ymm9
2833vpermq $78, %ymm10, %ymm10
2834vinserti128 $0, %xmm4, %ymm3, %ymm15
2835vmovdqa %ymm15, 1024(%r12)
2836vinserti128 $0, %xmm5, %ymm13, %ymm15
2837vmovdqa %ymm15, 1152(%r12)
2838vinserti128 $0, %xmm6, %ymm11, %ymm15
2839vmovdqa %ymm15, 1280(%r12)
2840vinserti128 $0, %xmm7, %ymm0, %ymm15
2841vmovdqa %ymm15, 1408(%r12)
2842vinserti128 $0, %xmm8, %ymm12, %ymm15
2843vmovdqa %ymm15, 1536(%r12)
2844vinserti128 $0, %xmm9, %ymm2, %ymm15
2845vmovdqa %ymm15, 1664(%r12)
2846vinserti128 $0, %xmm10, %ymm14, %ymm15
2847vmovdqa %ymm15, 1792(%r12)
2848vmovdqa 0(%rsp), %ymm11
2849vinserti128 $1, %xmm1, %ymm11, %ymm14
2850vmovdqa %ymm14, 896(%r12)
2851vpermq $78, %ymm11, %ymm11
2852vinserti128 $0, %xmm11, %ymm1, %ymm1
2853vmovdqa %ymm1, 1920(%r12)
2854vmovdqa 2560(%r10), %ymm0
2855vmovdqa 2624(%r10), %ymm1
2856vmovdqa 2688(%r10), %ymm2
2857vmovdqa 2752(%r10), %ymm3
2858vpunpcklwd 2592(%r10), %ymm0, %ymm4
2859vpunpckhwd 2592(%r10), %ymm0, %ymm5
2860vpunpcklwd 2656(%r10), %ymm1, %ymm6
2861vpunpckhwd 2656(%r10), %ymm1, %ymm7
2862vpunpcklwd 2720(%r10), %ymm2, %ymm8
2863vpunpckhwd 2720(%r10), %ymm2, %ymm9
2864vpunpcklwd 2784(%r10), %ymm3, %ymm10
2865vpunpckhwd 2784(%r10), %ymm3, %ymm11
2866vpunpckldq %ymm6, %ymm4, %ymm0
2867vpunpckhdq %ymm6, %ymm4, %ymm1
2868vpunpckldq %ymm7, %ymm5, %ymm2
2869vpunpckhdq %ymm7, %ymm5, %ymm3
2870vpunpckldq %ymm10, %ymm8, %ymm12
2871vpunpckhdq %ymm10, %ymm8, %ymm13
2872vpunpckldq %ymm11, %ymm9, %ymm14
2873vpunpckhdq %ymm11, %ymm9, %ymm15
2874vpunpcklqdq %ymm12, %ymm0, %ymm4
2875vpunpckhqdq %ymm12, %ymm0, %ymm5
2876vpunpcklqdq %ymm13, %ymm1, %ymm6
2877vpunpckhqdq %ymm13, %ymm1, %ymm7
2878vpunpcklqdq %ymm14, %ymm2, %ymm8
2879vpunpckhqdq %ymm14, %ymm2, %ymm9
2880vpunpcklqdq %ymm15, %ymm3, %ymm10
2881vpunpckhqdq %ymm15, %ymm3, %ymm11
2882vmovdqa 2816(%r10), %ymm0
2883vmovdqa 2880(%r10), %ymm1
2884vmovdqa 2944(%r10), %ymm2
2885vmovdqa 3008(%r10), %ymm3
2886vpunpcklwd 2848(%r10), %ymm0, %ymm12
2887vpunpckhwd 2848(%r10), %ymm0, %ymm13
2888vpunpcklwd 2912(%r10), %ymm1, %ymm14
2889vpunpckhwd 2912(%r10), %ymm1, %ymm15
2890vpunpcklwd 2976(%r10), %ymm2, %ymm0
2891vpunpckhwd 2976(%r10), %ymm2, %ymm1
2892vpunpcklwd 3040(%r10), %ymm3, %ymm2
2893vpunpckhwd 3040(%r10), %ymm3, %ymm3
2894vmovdqa %ymm11, 0(%rsp)
2895vpunpckldq %ymm14, %ymm12, %ymm11
2896vpunpckhdq %ymm14, %ymm12, %ymm12
2897vpunpckldq %ymm15, %ymm13, %ymm14
2898vpunpckhdq %ymm15, %ymm13, %ymm15
2899vpunpckldq %ymm2, %ymm0, %ymm13
2900vpunpckhdq %ymm2, %ymm0, %ymm0
2901vpunpckldq %ymm3, %ymm1, %ymm2
2902vpunpckhdq %ymm3, %ymm1, %ymm1
2903vpunpcklqdq %ymm13, %ymm11, %ymm3
2904vpunpckhqdq %ymm13, %ymm11, %ymm13
2905vpunpcklqdq %ymm0, %ymm12, %ymm11
2906vpunpckhqdq %ymm0, %ymm12, %ymm0
2907vpunpcklqdq %ymm2, %ymm14, %ymm12
2908vpunpckhqdq %ymm2, %ymm14, %ymm2
2909vpunpcklqdq %ymm1, %ymm15, %ymm14
2910vpunpckhqdq %ymm1, %ymm15, %ymm1
2911vinserti128 $1, %xmm3, %ymm4, %ymm15
2912vmovdqa %ymm15, 32(%r12)
2913vinserti128 $1, %xmm13, %ymm5, %ymm15
2914vmovdqa %ymm15, 160(%r12)
2915vinserti128 $1, %xmm11, %ymm6, %ymm15
2916vmovdqa %ymm15, 288(%r12)
2917vinserti128 $1, %xmm0, %ymm7, %ymm15
2918vmovdqa %ymm15, 416(%r12)
2919vinserti128 $1, %xmm12, %ymm8, %ymm15
2920vmovdqa %ymm15, 544(%r12)
2921vinserti128 $1, %xmm2, %ymm9, %ymm15
2922vmovdqa %ymm15, 672(%r12)
2923vinserti128 $1, %xmm14, %ymm10, %ymm15
2924vmovdqa %ymm15, 800(%r12)
2925vpermq $78, %ymm4, %ymm4
2926vpermq $78, %ymm5, %ymm5
2927vpermq $78, %ymm6, %ymm6
2928vpermq $78, %ymm7, %ymm7
2929vpermq $78, %ymm8, %ymm8
2930vpermq $78, %ymm9, %ymm9
2931vpermq $78, %ymm10, %ymm10
2932vinserti128 $0, %xmm4, %ymm3, %ymm15
2933vmovdqa %ymm15, 1056(%r12)
2934vinserti128 $0, %xmm5, %ymm13, %ymm15
2935vmovdqa %ymm15, 1184(%r12)
2936vinserti128 $0, %xmm6, %ymm11, %ymm15
2937vmovdqa %ymm15, 1312(%r12)
2938vinserti128 $0, %xmm7, %ymm0, %ymm15
2939vmovdqa %ymm15, 1440(%r12)
2940vinserti128 $0, %xmm8, %ymm12, %ymm15
2941vmovdqa %ymm15, 1568(%r12)
2942vinserti128 $0, %xmm9, %ymm2, %ymm15
2943vmovdqa %ymm15, 1696(%r12)
2944vinserti128 $0, %xmm10, %ymm14, %ymm15
2945vmovdqa %ymm15, 1824(%r12)
2946vmovdqa 0(%rsp), %ymm11
2947vinserti128 $1, %xmm1, %ymm11, %ymm14
2948vmovdqa %ymm14, 928(%r12)
2949vpermq $78, %ymm11, %ymm11
2950vinserti128 $0, %xmm11, %ymm1, %ymm1
2951vmovdqa %ymm1, 1952(%r12)
2952vmovdqa 3072(%r10), %ymm0
2953vmovdqa 3136(%r10), %ymm1
2954vmovdqa 3200(%r10), %ymm2
2955vmovdqa 3264(%r10), %ymm3
2956vpunpcklwd 3104(%r10), %ymm0, %ymm4
2957vpunpckhwd 3104(%r10), %ymm0, %ymm5
2958vpunpcklwd 3168(%r10), %ymm1, %ymm6
2959vpunpckhwd 3168(%r10), %ymm1, %ymm7
2960vpunpcklwd 3232(%r10), %ymm2, %ymm8
2961vpunpckhwd 3232(%r10), %ymm2, %ymm9
2962vpunpcklwd 3296(%r10), %ymm3, %ymm10
2963vpunpckhwd 3296(%r10), %ymm3, %ymm11
2964vpunpckldq %ymm6, %ymm4, %ymm0
2965vpunpckhdq %ymm6, %ymm4, %ymm1
2966vpunpckldq %ymm7, %ymm5, %ymm2
2967vpunpckhdq %ymm7, %ymm5, %ymm3
2968vpunpckldq %ymm10, %ymm8, %ymm12
2969vpunpckhdq %ymm10, %ymm8, %ymm13
2970vpunpckldq %ymm11, %ymm9, %ymm14
2971vpunpckhdq %ymm11, %ymm9, %ymm15
2972vpunpcklqdq %ymm12, %ymm0, %ymm4
2973vpunpckhqdq %ymm12, %ymm0, %ymm5
2974vpunpcklqdq %ymm13, %ymm1, %ymm6
2975vpunpckhqdq %ymm13, %ymm1, %ymm7
2976vpunpcklqdq %ymm14, %ymm2, %ymm8
2977vpunpckhqdq %ymm14, %ymm2, %ymm9
2978vpunpcklqdq %ymm15, %ymm3, %ymm10
2979vpunpckhqdq %ymm15, %ymm3, %ymm11
2980vmovdqa 3328(%r10), %ymm0
2981vmovdqa 3392(%r10), %ymm1
2982vmovdqa 3456(%r10), %ymm2
2983vmovdqa 3520(%r10), %ymm3
2984vpunpcklwd 3360(%r10), %ymm0, %ymm12
2985vpunpckhwd 3360(%r10), %ymm0, %ymm13
2986vpunpcklwd 3424(%r10), %ymm1, %ymm14
2987vpunpckhwd 3424(%r10), %ymm1, %ymm15
2988vpunpcklwd 3488(%r10), %ymm2, %ymm0
2989vpunpckhwd 3488(%r10), %ymm2, %ymm1
2990vpunpcklwd 3552(%r10), %ymm3, %ymm2
2991vpunpckhwd 3552(%r10), %ymm3, %ymm3
2992vmovdqa %ymm11, 0(%rsp)
2993vpunpckldq %ymm14, %ymm12, %ymm11
2994vpunpckhdq %ymm14, %ymm12, %ymm12
2995vpunpckldq %ymm15, %ymm13, %ymm14
2996vpunpckhdq %ymm15, %ymm13, %ymm15
2997vpunpckldq %ymm2, %ymm0, %ymm13
2998vpunpckhdq %ymm2, %ymm0, %ymm0
2999vpunpckldq %ymm3, %ymm1, %ymm2
3000vpunpckhdq %ymm3, %ymm1, %ymm1
3001vpunpcklqdq %ymm13, %ymm11, %ymm3
3002vpunpckhqdq %ymm13, %ymm11, %ymm13
3003vpunpcklqdq %ymm0, %ymm12, %ymm11
3004vpunpckhqdq %ymm0, %ymm12, %ymm0
3005vpunpcklqdq %ymm2, %ymm14, %ymm12
3006vpunpckhqdq %ymm2, %ymm14, %ymm2
3007vpunpcklqdq %ymm1, %ymm15, %ymm14
3008vpunpckhqdq %ymm1, %ymm15, %ymm1
3009vinserti128 $1, %xmm3, %ymm4, %ymm15
3010vmovdqa %ymm15, 64(%r12)
3011vinserti128 $1, %xmm13, %ymm5, %ymm15
3012vmovdqa %ymm15, 192(%r12)
3013vinserti128 $1, %xmm11, %ymm6, %ymm15
3014vmovdqa %ymm15, 320(%r12)
3015vinserti128 $1, %xmm0, %ymm7, %ymm15
3016vmovdqa %ymm15, 448(%r12)
3017vinserti128 $1, %xmm12, %ymm8, %ymm15
3018vmovdqa %ymm15, 576(%r12)
3019vinserti128 $1, %xmm2, %ymm9, %ymm15
3020vmovdqa %ymm15, 704(%r12)
3021vinserti128 $1, %xmm14, %ymm10, %ymm15
3022vmovdqa %ymm15, 832(%r12)
3023vpermq $78, %ymm4, %ymm4
3024vpermq $78, %ymm5, %ymm5
3025vpermq $78, %ymm6, %ymm6
3026vpermq $78, %ymm7, %ymm7
3027vpermq $78, %ymm8, %ymm8
3028vpermq $78, %ymm9, %ymm9
3029vpermq $78, %ymm10, %ymm10
3030vinserti128 $0, %xmm4, %ymm3, %ymm15
3031vmovdqa %ymm15, 1088(%r12)
3032vinserti128 $0, %xmm5, %ymm13, %ymm15
3033vmovdqa %ymm15, 1216(%r12)
3034vinserti128 $0, %xmm6, %ymm11, %ymm15
3035vmovdqa %ymm15, 1344(%r12)
3036vinserti128 $0, %xmm7, %ymm0, %ymm15
3037vmovdqa %ymm15, 1472(%r12)
3038vinserti128 $0, %xmm8, %ymm12, %ymm15
3039vmovdqa %ymm15, 1600(%r12)
3040vinserti128 $0, %xmm9, %ymm2, %ymm15
3041vmovdqa %ymm15, 1728(%r12)
3042vinserti128 $0, %xmm10, %ymm14, %ymm15
3043vmovdqa %ymm15, 1856(%r12)
3044vmovdqa 0(%rsp), %ymm11
3045vinserti128 $1, %xmm1, %ymm11, %ymm14
3046vmovdqa %ymm14, 960(%r12)
3047vpermq $78, %ymm11, %ymm11
3048vinserti128 $0, %xmm11, %ymm1, %ymm1
3049vmovdqa %ymm1, 1984(%r12)
3050vmovdqa 3584(%r10), %ymm0
3051vmovdqa 3648(%r10), %ymm1
3052vmovdqa 3712(%r10), %ymm2
3053vmovdqa 3776(%r10), %ymm3
3054vpunpcklwd 3616(%r10), %ymm0, %ymm4
3055vpunpckhwd 3616(%r10), %ymm0, %ymm5
3056vpunpcklwd 3680(%r10), %ymm1, %ymm6
3057vpunpckhwd 3680(%r10), %ymm1, %ymm7
3058vpunpcklwd 3744(%r10), %ymm2, %ymm8
3059vpunpckhwd 3744(%r10), %ymm2, %ymm9
3060vpunpcklwd 3808(%r10), %ymm3, %ymm10
3061vpunpckhwd 3808(%r10), %ymm3, %ymm11
3062vpunpckldq %ymm6, %ymm4, %ymm0
3063vpunpckhdq %ymm6, %ymm4, %ymm1
3064vpunpckldq %ymm7, %ymm5, %ymm2
3065vpunpckhdq %ymm7, %ymm5, %ymm3
3066vpunpckldq %ymm10, %ymm8, %ymm12
3067vpunpckhdq %ymm10, %ymm8, %ymm13
3068vpunpckldq %ymm11, %ymm9, %ymm14
3069vpunpckhdq %ymm11, %ymm9, %ymm15
3070vpunpcklqdq %ymm12, %ymm0, %ymm4
3071vpunpckhqdq %ymm12, %ymm0, %ymm5
3072vpunpcklqdq %ymm13, %ymm1, %ymm6
3073vpunpckhqdq %ymm13, %ymm1, %ymm7
3074vpunpcklqdq %ymm14, %ymm2, %ymm8
3075vpunpckhqdq %ymm14, %ymm2, %ymm9
3076vpunpcklqdq %ymm15, %ymm3, %ymm10
3077vpunpckhqdq %ymm15, %ymm3, %ymm11
3078vmovdqa 3840(%r10), %ymm0
3079vmovdqa 3904(%r10), %ymm1
3080vmovdqa 3968(%r10), %ymm2
3081vmovdqa 4032(%r10), %ymm3
3082vpunpcklwd 3872(%r10), %ymm0, %ymm12
3083vpunpckhwd 3872(%r10), %ymm0, %ymm13
3084vpunpcklwd 3936(%r10), %ymm1, %ymm14
3085vpunpckhwd 3936(%r10), %ymm1, %ymm15
3086vpunpcklwd 4000(%r10), %ymm2, %ymm0
3087vpunpckhwd 4000(%r10), %ymm2, %ymm1
3088vpunpcklwd 4064(%r10), %ymm3, %ymm2
3089vpunpckhwd 4064(%r10), %ymm3, %ymm3
3090vmovdqa %ymm11, 0(%rsp)
3091vpunpckldq %ymm14, %ymm12, %ymm11
3092vpunpckhdq %ymm14, %ymm12, %ymm12
3093vpunpckldq %ymm15, %ymm13, %ymm14
3094vpunpckhdq %ymm15, %ymm13, %ymm15
3095vpunpckldq %ymm2, %ymm0, %ymm13
3096vpunpckhdq %ymm2, %ymm0, %ymm0
3097vpunpckldq %ymm3, %ymm1, %ymm2
3098vpunpckhdq %ymm3, %ymm1, %ymm1
3099vpunpcklqdq %ymm13, %ymm11, %ymm3
3100vpunpckhqdq %ymm13, %ymm11, %ymm13
3101vpunpcklqdq %ymm0, %ymm12, %ymm11
3102vpunpckhqdq %ymm0, %ymm12, %ymm0
3103vpunpcklqdq %ymm2, %ymm14, %ymm12
3104vpunpckhqdq %ymm2, %ymm14, %ymm2
3105vpunpcklqdq %ymm1, %ymm15, %ymm14
3106vpunpckhqdq %ymm1, %ymm15, %ymm1
3107vinserti128 $1, %xmm3, %ymm4, %ymm15
3108vmovdqa %ymm15, 96(%r12)
3109vinserti128 $1, %xmm13, %ymm5, %ymm15
3110vmovdqa %ymm15, 224(%r12)
3111vinserti128 $1, %xmm11, %ymm6, %ymm15
3112vmovdqa %ymm15, 352(%r12)
3113vinserti128 $1, %xmm0, %ymm7, %ymm15
3114vmovdqa %ymm15, 480(%r12)
3115vinserti128 $1, %xmm12, %ymm8, %ymm15
3116vmovdqa %ymm15, 608(%r12)
3117vinserti128 $1, %xmm2, %ymm9, %ymm15
3118vmovdqa %ymm15, 736(%r12)
3119vinserti128 $1, %xmm14, %ymm10, %ymm15
3120vmovdqa %ymm15, 864(%r12)
3121vpermq $78, %ymm4, %ymm4
3122vpermq $78, %ymm5, %ymm5
3123vpermq $78, %ymm6, %ymm6
3124vpermq $78, %ymm7, %ymm7
3125vpermq $78, %ymm8, %ymm8
3126vpermq $78, %ymm9, %ymm9
3127vpermq $78, %ymm10, %ymm10
3128vinserti128 $0, %xmm4, %ymm3, %ymm15
3129vmovdqa %ymm15, 1120(%r12)
3130vinserti128 $0, %xmm5, %ymm13, %ymm15
3131vmovdqa %ymm15, 1248(%r12)
3132vinserti128 $0, %xmm6, %ymm11, %ymm15
3133vmovdqa %ymm15, 1376(%r12)
3134vinserti128 $0, %xmm7, %ymm0, %ymm15
3135vmovdqa %ymm15, 1504(%r12)
3136vinserti128 $0, %xmm8, %ymm12, %ymm15
3137vmovdqa %ymm15, 1632(%r12)
3138vinserti128 $0, %xmm9, %ymm2, %ymm15
3139vmovdqa %ymm15, 1760(%r12)
3140vinserti128 $0, %xmm10, %ymm14, %ymm15
3141vmovdqa %ymm15, 1888(%r12)
3142vmovdqa 0(%rsp), %ymm11
3143vinserti128 $1, %xmm1, %ymm11, %ymm14
3144vmovdqa %ymm14, 992(%r12)
3145vpermq $78, %ymm11, %ymm11
3146vinserti128 $0, %xmm11, %ymm1, %ymm1
3147vmovdqa %ymm1, 2016(%r12)
3148addq $32, %rsp
3149add $1024, %rax
3150add $1024, %r11
3151add $2048, %r12
3152dec %ecx
3153jnz karatsuba_loop_1
3154sub $8192, %r12
3155add $6656, %rsp
3156subq $2400, %rsp
3157vpxor %ymm0, %ymm0, %ymm0
3158vmovdqa %ymm0, 1792(%rsp)
3159vmovdqa %ymm0, 1824(%rsp)
3160vmovdqa %ymm0, 1856(%rsp)
3161vmovdqa %ymm0, 1888(%rsp)
3162vmovdqa %ymm0, 1920(%rsp)
3163vmovdqa %ymm0, 1952(%rsp)
3164vmovdqa %ymm0, 1984(%rsp)
3165vmovdqa %ymm0, 2016(%rsp)
3166vmovdqa %ymm0, 2048(%rsp)
3167vmovdqa %ymm0, 2080(%rsp)
3168vmovdqa %ymm0, 2112(%rsp)
3169vmovdqa %ymm0, 2144(%rsp)
3170vmovdqa %ymm0, 2176(%rsp)
3171vmovdqa %ymm0, 2208(%rsp)
3172vmovdqa %ymm0, 2240(%rsp)
3173vmovdqa %ymm0, 2272(%rsp)
3174vmovdqa %ymm0, 2304(%rsp)
3175vmovdqa %ymm0, 2336(%rsp)
3176vmovdqa %ymm0, 2368(%rsp)
3177vmovdqa %ymm0, 2400(%rsp)
3178vmovdqa %ymm0, 2432(%rsp)
3179vmovdqa %ymm0, 2464(%rsp)
3180vmovdqa %ymm0, 2496(%rsp)
3181vmovdqa %ymm0, 2528(%rsp)
3182vmovdqa %ymm0, 2560(%rsp)
3183vmovdqa %ymm0, 2592(%rsp)
3184vmovdqa %ymm0, 2624(%rsp)
3185vmovdqa %ymm0, 2656(%rsp)
3186vmovdqa %ymm0, 2688(%rsp)
3187vmovdqa %ymm0, 2720(%rsp)
3188vmovdqa %ymm0, 2752(%rsp)
3189vmovdqa %ymm0, 2784(%rsp)
3190vmovdqa const729(%rip), %ymm15
3191vmovdqa const3_inv(%rip), %ymm14
3192vmovdqa const5_inv(%rip), %ymm13
3193vmovdqa const9(%rip), %ymm12
3194vmovdqa 64(%r12), %ymm0
3195vpsubw 128(%r12), %ymm0, %ymm0
3196vmovdqa 320(%r12), %ymm1
3197vpsubw %ymm0, %ymm1, %ymm1
3198vpsubw 192(%r12), %ymm1, %ymm1
3199vpsubw 0(%r12), %ymm0, %ymm0
3200vpaddw 256(%r12), %ymm0, %ymm0
3201vmovdqa 448(%r12), %ymm2
3202vpsubw 512(%r12), %ymm2, %ymm2
3203vmovdqa 704(%r12), %ymm3
3204vpsubw %ymm2, %ymm3, %ymm3
3205vpsubw 576(%r12), %ymm3, %ymm3
3206vpsubw 384(%r12), %ymm2, %ymm2
3207vpaddw 640(%r12), %ymm2, %ymm2
3208vmovdqa 832(%r12), %ymm4
3209vpsubw 896(%r12), %ymm4, %ymm4
3210vmovdqa 1088(%r12), %ymm5
3211vpsubw %ymm4, %ymm5, %ymm5
3212vpsubw 960(%r12), %ymm5, %ymm5
3213vpsubw 768(%r12), %ymm4, %ymm4
3214vpaddw 1024(%r12), %ymm4, %ymm4
3215vpsubw 384(%r12), %ymm1, %ymm1
3216vpsubw %ymm1, %ymm5, %ymm5
3217vpsubw %ymm3, %ymm5, %ymm5
3218vpsubw 0(%r12), %ymm1, %ymm1
3219vpaddw 768(%r12), %ymm1, %ymm1
3220vmovdqa 192(%r12), %ymm6
3221vpsubw %ymm2, %ymm6, %ymm7
3222vmovdqa 960(%r12), %ymm2
3223vpsubw %ymm7, %ymm2, %ymm2
3224vpsubw 576(%r12), %ymm2, %ymm2
3225vpsubw %ymm0, %ymm7, %ymm7
3226vpaddw %ymm4, %ymm7, %ymm7
3227vmovdqa 0(%r12), %ymm8
3228vmovdqa 576(%r12), %ymm9
3229vmovdqa %ymm8, 0(%rsp)
3230vmovdqa %ymm0, 32(%rsp)
3231vmovdqa %ymm1, 64(%rsp)
3232vmovdqa %ymm7, 96(%rsp)
3233vmovdqa %ymm5, 128(%rsp)
3234vmovdqa %ymm2, 160(%rsp)
3235vmovdqa %ymm3, 192(%rsp)
3236vmovdqa %ymm9, 224(%rsp)
3237vmovdqa 1216(%r12), %ymm0
3238vpsubw 1280(%r12), %ymm0, %ymm0
3239vmovdqa 1472(%r12), %ymm1
3240vpsubw %ymm0, %ymm1, %ymm1
3241vpsubw 1344(%r12), %ymm1, %ymm1
3242vpsubw 1152(%r12), %ymm0, %ymm0
3243vpaddw 1408(%r12), %ymm0, %ymm0
3244vmovdqa 1600(%r12), %ymm2
3245vpsubw 1664(%r12), %ymm2, %ymm2
3246vmovdqa 1856(%r12), %ymm3
3247vpsubw %ymm2, %ymm3, %ymm3
3248vpsubw 1728(%r12), %ymm3, %ymm3
3249vpsubw 1536(%r12), %ymm2, %ymm2
3250vpaddw 1792(%r12), %ymm2, %ymm2
3251vmovdqa 1984(%r12), %ymm4
3252vpsubw 2048(%r12), %ymm4, %ymm4
3253vmovdqa 2240(%r12), %ymm5
3254vpsubw %ymm4, %ymm5, %ymm5
3255vpsubw 2112(%r12), %ymm5, %ymm5
3256vpsubw 1920(%r12), %ymm4, %ymm4
3257vpaddw 2176(%r12), %ymm4, %ymm4
3258vpsubw 1536(%r12), %ymm1, %ymm1
3259vpsubw %ymm1, %ymm5, %ymm5
3260vpsubw %ymm3, %ymm5, %ymm5
3261vpsubw 1152(%r12), %ymm1, %ymm1
3262vpaddw 1920(%r12), %ymm1, %ymm1
3263vmovdqa 1344(%r12), %ymm6
3264vpsubw %ymm2, %ymm6, %ymm7
3265vmovdqa 2112(%r12), %ymm2
3266vpsubw %ymm7, %ymm2, %ymm2
3267vpsubw 1728(%r12), %ymm2, %ymm2
3268vpsubw %ymm0, %ymm7, %ymm7
3269vpaddw %ymm4, %ymm7, %ymm7
3270vmovdqa 1152(%r12), %ymm8
3271vmovdqa 1728(%r12), %ymm9
3272vmovdqa %ymm8, 256(%rsp)
3273vmovdqa %ymm0, 288(%rsp)
3274vmovdqa %ymm1, 320(%rsp)
3275vmovdqa %ymm7, 352(%rsp)
3276vmovdqa %ymm5, 384(%rsp)
3277vmovdqa %ymm2, 416(%rsp)
3278vmovdqa %ymm3, 448(%rsp)
3279vmovdqa %ymm9, 480(%rsp)
3280vmovdqa 2368(%r12), %ymm0
3281vpsubw 2432(%r12), %ymm0, %ymm0
3282vmovdqa 2624(%r12), %ymm1
3283vpsubw %ymm0, %ymm1, %ymm1
3284vpsubw 2496(%r12), %ymm1, %ymm1
3285vpsubw 2304(%r12), %ymm0, %ymm0
3286vpaddw 2560(%r12), %ymm0, %ymm0
3287vmovdqa 2752(%r12), %ymm2
3288vpsubw 2816(%r12), %ymm2, %ymm2
3289vmovdqa 3008(%r12), %ymm3
3290vpsubw %ymm2, %ymm3, %ymm3
3291vpsubw 2880(%r12), %ymm3, %ymm3
3292vpsubw 2688(%r12), %ymm2, %ymm2
3293vpaddw 2944(%r12), %ymm2, %ymm2
3294vmovdqa 3136(%r12), %ymm4
3295vpsubw 3200(%r12), %ymm4, %ymm4
3296vmovdqa 3392(%r12), %ymm5
3297vpsubw %ymm4, %ymm5, %ymm5
3298vpsubw 3264(%r12), %ymm5, %ymm5
3299vpsubw 3072(%r12), %ymm4, %ymm4
3300vpaddw 3328(%r12), %ymm4, %ymm4
3301vpsubw 2688(%r12), %ymm1, %ymm1
3302vpsubw %ymm1, %ymm5, %ymm5
3303vpsubw %ymm3, %ymm5, %ymm5
3304vpsubw 2304(%r12), %ymm1, %ymm1
3305vpaddw 3072(%r12), %ymm1, %ymm1
3306vmovdqa 2496(%r12), %ymm6
3307vpsubw %ymm2, %ymm6, %ymm7
3308vmovdqa 3264(%r12), %ymm2
3309vpsubw %ymm7, %ymm2, %ymm2
3310vpsubw 2880(%r12), %ymm2, %ymm2
3311vpsubw %ymm0, %ymm7, %ymm7
3312vpaddw %ymm4, %ymm7, %ymm7
3313vmovdqa 2304(%r12), %ymm8
3314vmovdqa 2880(%r12), %ymm9
3315vmovdqa %ymm8, 512(%rsp)
3316vmovdqa %ymm0, 544(%rsp)
3317vmovdqa %ymm1, 576(%rsp)
3318vmovdqa %ymm7, 608(%rsp)
3319vmovdqa %ymm5, 640(%rsp)
3320vmovdqa %ymm2, 672(%rsp)
3321vmovdqa %ymm3, 704(%rsp)
3322vmovdqa %ymm9, 736(%rsp)
3323vmovdqa 3520(%r12), %ymm0
3324vpsubw 3584(%r12), %ymm0, %ymm0
3325vmovdqa 3776(%r12), %ymm1
3326vpsubw %ymm0, %ymm1, %ymm1
3327vpsubw 3648(%r12), %ymm1, %ymm1
3328vpsubw 3456(%r12), %ymm0, %ymm0
3329vpaddw 3712(%r12), %ymm0, %ymm0
3330vmovdqa 3904(%r12), %ymm2
3331vpsubw 3968(%r12), %ymm2, %ymm2
3332vmovdqa 4160(%r12), %ymm3
3333vpsubw %ymm2, %ymm3, %ymm3
3334vpsubw 4032(%r12), %ymm3, %ymm3
3335vpsubw 3840(%r12), %ymm2, %ymm2
3336vpaddw 4096(%r12), %ymm2, %ymm2
3337vmovdqa 4288(%r12), %ymm4
3338vpsubw 4352(%r12), %ymm4, %ymm4
3339vmovdqa 4544(%r12), %ymm5
3340vpsubw %ymm4, %ymm5, %ymm5
3341vpsubw 4416(%r12), %ymm5, %ymm5
3342vpsubw 4224(%r12), %ymm4, %ymm4
3343vpaddw 4480(%r12), %ymm4, %ymm4
3344vpsubw 3840(%r12), %ymm1, %ymm1
3345vpsubw %ymm1, %ymm5, %ymm5
3346vpsubw %ymm3, %ymm5, %ymm5
3347vpsubw 3456(%r12), %ymm1, %ymm1
3348vpaddw 4224(%r12), %ymm1, %ymm1
3349vmovdqa 3648(%r12), %ymm6
3350vpsubw %ymm2, %ymm6, %ymm7
3351vmovdqa 4416(%r12), %ymm2
3352vpsubw %ymm7, %ymm2, %ymm2
3353vpsubw 4032(%r12), %ymm2, %ymm2
3354vpsubw %ymm0, %ymm7, %ymm7
3355vpaddw %ymm4, %ymm7, %ymm7
3356vmovdqa 3456(%r12), %ymm8
3357vmovdqa 4032(%r12), %ymm9
3358vmovdqa %ymm8, 768(%rsp)
3359vmovdqa %ymm0, 800(%rsp)
3360vmovdqa %ymm1, 832(%rsp)
3361vmovdqa %ymm7, 864(%rsp)
3362vmovdqa %ymm5, 896(%rsp)
3363vmovdqa %ymm2, 928(%rsp)
3364vmovdqa %ymm3, 960(%rsp)
3365vmovdqa %ymm9, 992(%rsp)
3366vmovdqa 4672(%r12), %ymm0
3367vpsubw 4736(%r12), %ymm0, %ymm0
3368vmovdqa 4928(%r12), %ymm1
3369vpsubw %ymm0, %ymm1, %ymm1
3370vpsubw 4800(%r12), %ymm1, %ymm1
3371vpsubw 4608(%r12), %ymm0, %ymm0
3372vpaddw 4864(%r12), %ymm0, %ymm0
3373vmovdqa 5056(%r12), %ymm2
3374vpsubw 5120(%r12), %ymm2, %ymm2
3375vmovdqa 5312(%r12), %ymm3
3376vpsubw %ymm2, %ymm3, %ymm3
3377vpsubw 5184(%r12), %ymm3, %ymm3
3378vpsubw 4992(%r12), %ymm2, %ymm2
3379vpaddw 5248(%r12), %ymm2, %ymm2
3380vmovdqa 5440(%r12), %ymm4
3381vpsubw 5504(%r12), %ymm4, %ymm4
3382vmovdqa 5696(%r12), %ymm5
3383vpsubw %ymm4, %ymm5, %ymm5
3384vpsubw 5568(%r12), %ymm5, %ymm5
3385vpsubw 5376(%r12), %ymm4, %ymm4
3386vpaddw 5632(%r12), %ymm4, %ymm4
3387vpsubw 4992(%r12), %ymm1, %ymm1
3388vpsubw %ymm1, %ymm5, %ymm5
3389vpsubw %ymm3, %ymm5, %ymm5
3390vpsubw 4608(%r12), %ymm1, %ymm1
3391vpaddw 5376(%r12), %ymm1, %ymm1
3392vmovdqa 4800(%r12), %ymm6
3393vpsubw %ymm2, %ymm6, %ymm7
3394vmovdqa 5568(%r12), %ymm2
3395vpsubw %ymm7, %ymm2, %ymm2
3396vpsubw 5184(%r12), %ymm2, %ymm2
3397vpsubw %ymm0, %ymm7, %ymm7
3398vpaddw %ymm4, %ymm7, %ymm7
3399vmovdqa 4608(%r12), %ymm8
3400vmovdqa 5184(%r12), %ymm9
3401vmovdqa %ymm8, 1024(%rsp)
3402vmovdqa %ymm0, 1056(%rsp)
3403vmovdqa %ymm1, 1088(%rsp)
3404vmovdqa %ymm7, 1120(%rsp)
3405vmovdqa %ymm5, 1152(%rsp)
3406vmovdqa %ymm2, 1184(%rsp)
3407vmovdqa %ymm3, 1216(%rsp)
3408vmovdqa %ymm9, 1248(%rsp)
3409vmovdqa 5824(%r12), %ymm0
3410vpsubw 5888(%r12), %ymm0, %ymm0
3411vmovdqa 6080(%r12), %ymm1
3412vpsubw %ymm0, %ymm1, %ymm1
3413vpsubw 5952(%r12), %ymm1, %ymm1
3414vpsubw 5760(%r12), %ymm0, %ymm0
3415vpaddw 6016(%r12), %ymm0, %ymm0
3416vmovdqa 6208(%r12), %ymm2
3417vpsubw 6272(%r12), %ymm2, %ymm2
3418vmovdqa 6464(%r12), %ymm3
3419vpsubw %ymm2, %ymm3, %ymm3
3420vpsubw 6336(%r12), %ymm3, %ymm3
3421vpsubw 6144(%r12), %ymm2, %ymm2
3422vpaddw 6400(%r12), %ymm2, %ymm2
3423vmovdqa 6592(%r12), %ymm4
3424vpsubw 6656(%r12), %ymm4, %ymm4
3425vmovdqa 6848(%r12), %ymm5
3426vpsubw %ymm4, %ymm5, %ymm5
3427vpsubw 6720(%r12), %ymm5, %ymm5
3428vpsubw 6528(%r12), %ymm4, %ymm4
3429vpaddw 6784(%r12), %ymm4, %ymm4
3430vpsubw 6144(%r12), %ymm1, %ymm1
3431vpsubw %ymm1, %ymm5, %ymm5
3432vpsubw %ymm3, %ymm5, %ymm5
3433vpsubw 5760(%r12), %ymm1, %ymm1
3434vpaddw 6528(%r12), %ymm1, %ymm1
3435vmovdqa 5952(%r12), %ymm6
3436vpsubw %ymm2, %ymm6, %ymm7
3437vmovdqa 6720(%r12), %ymm2
3438vpsubw %ymm7, %ymm2, %ymm2
3439vpsubw 6336(%r12), %ymm2, %ymm2
3440vpsubw %ymm0, %ymm7, %ymm7
3441vpaddw %ymm4, %ymm7, %ymm7
3442vmovdqa 5760(%r12), %ymm8
3443vmovdqa 6336(%r12), %ymm9
3444vmovdqa %ymm8, 1280(%rsp)
3445vmovdqa %ymm0, 1312(%rsp)
3446vmovdqa %ymm1, 1344(%rsp)
3447vmovdqa %ymm7, 1376(%rsp)
3448vmovdqa %ymm5, 1408(%rsp)
3449vmovdqa %ymm2, 1440(%rsp)
3450vmovdqa %ymm3, 1472(%rsp)
3451vmovdqa %ymm9, 1504(%rsp)
3452vmovdqa 6976(%r12), %ymm0
3453vpsubw 7040(%r12), %ymm0, %ymm0
3454vmovdqa 7232(%r12), %ymm1
3455vpsubw %ymm0, %ymm1, %ymm1
3456vpsubw 7104(%r12), %ymm1, %ymm1
3457vpsubw 6912(%r12), %ymm0, %ymm0
3458vpaddw 7168(%r12), %ymm0, %ymm0
3459vmovdqa 7360(%r12), %ymm2
3460vpsubw 7424(%r12), %ymm2, %ymm2
3461vmovdqa 7616(%r12), %ymm3
3462vpsubw %ymm2, %ymm3, %ymm3
3463vpsubw 7488(%r12), %ymm3, %ymm3
3464vpsubw 7296(%r12), %ymm2, %ymm2
3465vpaddw 7552(%r12), %ymm2, %ymm2
3466vmovdqa 7744(%r12), %ymm4
3467vpsubw 7808(%r12), %ymm4, %ymm4
3468vmovdqa 8000(%r12), %ymm5
3469vpsubw %ymm4, %ymm5, %ymm5
3470vpsubw 7872(%r12), %ymm5, %ymm5
3471vpsubw 7680(%r12), %ymm4, %ymm4
3472vpaddw 7936(%r12), %ymm4, %ymm4
3473vpsubw 7296(%r12), %ymm1, %ymm1
3474vpsubw %ymm1, %ymm5, %ymm5
3475vpsubw %ymm3, %ymm5, %ymm5
3476vpsubw 6912(%r12), %ymm1, %ymm1
3477vpaddw 7680(%r12), %ymm1, %ymm1
3478vmovdqa 7104(%r12), %ymm6
3479vpsubw %ymm2, %ymm6, %ymm7
3480vmovdqa 7872(%r12), %ymm2
3481vpsubw %ymm7, %ymm2, %ymm2
3482vpsubw 7488(%r12), %ymm2, %ymm2
3483vpsubw %ymm0, %ymm7, %ymm7
3484vpaddw %ymm4, %ymm7, %ymm7
3485vmovdqa 6912(%r12), %ymm8
3486vmovdqa 7488(%r12), %ymm9
3487vmovdqa %ymm8, 1536(%rsp)
3488vmovdqa %ymm0, 1568(%rsp)
3489vmovdqa %ymm1, 1600(%rsp)
3490vmovdqa %ymm7, 1632(%rsp)
3491vmovdqa %ymm5, 1664(%rsp)
3492vmovdqa %ymm2, 1696(%rsp)
3493vmovdqa %ymm3, 1728(%rsp)
3494vmovdqa %ymm9, 1760(%rsp)
3495vmovdqa 0(%rsp), %ymm11
3496vpunpcklwd const0(%rip), %ymm11, %ymm10
3497vpunpckhwd const0(%rip), %ymm11, %ymm9
3498vpslld $1, %ymm10, %ymm10
3499vpslld $1, %ymm9, %ymm9
3500vmovdqa 256(%rsp), %ymm8
3501vpunpcklwd const0(%rip), %ymm8, %ymm7
3502vpunpckhwd const0(%rip), %ymm8, %ymm8
3503vmovdqa 512(%rsp), %ymm6
3504vpunpcklwd const0(%rip), %ymm6, %ymm5
3505vpunpckhwd const0(%rip), %ymm6, %ymm6
3506vpaddd %ymm5, %ymm7, %ymm4
3507vpaddd %ymm6, %ymm8, %ymm3
3508vpsubd %ymm10, %ymm4, %ymm4
3509vpsubd %ymm9, %ymm3, %ymm3
3510vpsubd %ymm5, %ymm7, %ymm5
3511vpsubd %ymm6, %ymm8, %ymm6
3512vpsrld $1, %ymm5, %ymm5
3513vpsrld $1, %ymm6, %ymm6
3514vpand mask32_to_16(%rip), %ymm5, %ymm5
3515vpand mask32_to_16(%rip), %ymm6, %ymm6
3516vpackusdw %ymm6, %ymm5, %ymm6
3517vmovdqa 1536(%rsp), %ymm5
3518vpunpcklwd const0(%rip), %ymm5, %ymm8
3519vpunpckhwd const0(%rip), %ymm5, %ymm7
3520vpslld $1, %ymm8, %ymm8
3521vpslld $1, %ymm7, %ymm7
3522vpsubd %ymm8, %ymm4, %ymm4
3523vpsubd %ymm7, %ymm3, %ymm3
3524vpsrld $1, %ymm4, %ymm4
3525vpsrld $1, %ymm3, %ymm3
3526vpand mask32_to_16(%rip), %ymm4, %ymm4
3527vpand mask32_to_16(%rip), %ymm3, %ymm3
3528vpackusdw %ymm3, %ymm4, %ymm3
3529vmovdqa 768(%rsp), %ymm4
3530vpaddw 1024(%rsp), %ymm4, %ymm7
3531vpsubw 1024(%rsp), %ymm4, %ymm4
3532vpsrlw $2, %ymm4, %ymm4
3533vpsubw %ymm6, %ymm4, %ymm4
3534vpmullw %ymm14, %ymm4, %ymm4
3535vpsllw $1, %ymm11, %ymm8
3536vpsubw %ymm8, %ymm7, %ymm8
3537vpsllw $7, %ymm5, %ymm7
3538vpsubw %ymm7, %ymm8, %ymm7
3539vpsrlw $3, %ymm7, %ymm7
3540vpsubw %ymm3, %ymm7, %ymm7
3541vmovdqa 1280(%rsp), %ymm8
3542vpsubw %ymm11, %ymm8, %ymm8
3543vpmullw %ymm15, %ymm5, %ymm9
3544vpsubw %ymm9, %ymm8, %ymm9
3545vpmullw %ymm14, %ymm7, %ymm7
3546vpsubw %ymm7, %ymm3, %ymm3
3547vpmullw %ymm12, %ymm7, %ymm8
3548vpaddw %ymm8, %ymm3, %ymm8
3549vpmullw %ymm12, %ymm8, %ymm8
3550vpsubw %ymm8, %ymm9, %ymm8
3551vpmullw %ymm14, %ymm8, %ymm8
3552vpsubw %ymm6, %ymm8, %ymm8
3553vpsrlw $3, %ymm8, %ymm8
3554vpsubw %ymm4, %ymm8, %ymm8
3555vpsubw %ymm8, %ymm4, %ymm4
3556vpsubw %ymm4, %ymm6, %ymm6
3557vpmullw %ymm13, %ymm8, %ymm8
3558vpsubw %ymm8, %ymm6, %ymm6
3559vpshufb shuf48_16(%rip), %ymm7, %ymm7
3560vpand mask3_5_3_5(%rip), %ymm7, %ymm9
3561vpand mask5_3_5_3(%rip), %ymm7, %ymm7
3562vpermq $206, %ymm9, %ymm9
3563vpand mask_keephigh(%rip), %ymm9, %ymm10
3564vpor %ymm10, %ymm7, %ymm7
3565vpaddw %ymm7, %ymm11, %ymm11
3566vmovdqa %xmm9, 2048(%rsp)
3567vpshufb shuf48_16(%rip), %ymm8, %ymm8
3568vpand mask3_5_3_5(%rip), %ymm8, %ymm9
3569vpand mask5_3_5_3(%rip), %ymm8, %ymm8
3570vpermq $206, %ymm9, %ymm9
3571vpand mask_keephigh(%rip), %ymm9, %ymm10
3572vpor %ymm10, %ymm8, %ymm8
3573vpaddw %ymm8, %ymm6, %ymm6
3574vmovdqa %xmm9, 2304(%rsp)
3575vpshufb shuf48_16(%rip), %ymm5, %ymm5
3576vpand mask3_5_3_5(%rip), %ymm5, %ymm9
3577vpand mask5_3_5_3(%rip), %ymm5, %ymm5
3578vpermq $206, %ymm9, %ymm9
3579vpand mask_keephigh(%rip), %ymm9, %ymm10
3580vpor %ymm10, %ymm5, %ymm5
3581vpaddw %ymm5, %ymm3, %ymm3
3582vmovdqa %xmm9, 2560(%rsp)
3583vmovdqa %ymm11, 0(%rdi)
3584vmovdqa %ymm6, 256(%rdi)
3585vmovdqa %ymm3, 512(%rdi)
3586vmovdqa %ymm4, 768(%rdi)
3587vmovdqa 32(%rsp), %ymm5
3588vpunpcklwd const0(%rip), %ymm5, %ymm8
3589vpunpckhwd const0(%rip), %ymm5, %ymm7
3590vpslld $1, %ymm8, %ymm8
3591vpslld $1, %ymm7, %ymm7
3592vmovdqa 288(%rsp), %ymm4
3593vpunpcklwd const0(%rip), %ymm4, %ymm3
3594vpunpckhwd const0(%rip), %ymm4, %ymm4
3595vmovdqa 544(%rsp), %ymm6
3596vpunpcklwd const0(%rip), %ymm6, %ymm11
3597vpunpckhwd const0(%rip), %ymm6, %ymm6
3598vpaddd %ymm11, %ymm3, %ymm9
3599vpaddd %ymm6, %ymm4, %ymm10
3600vpsubd %ymm8, %ymm9, %ymm9
3601vpsubd %ymm7, %ymm10, %ymm10
3602vpsubd %ymm11, %ymm3, %ymm11
3603vpsubd %ymm6, %ymm4, %ymm6
3604vpsrld $1, %ymm11, %ymm11
3605vpsrld $1, %ymm6, %ymm6
3606vpand mask32_to_16(%rip), %ymm11, %ymm11
3607vpand mask32_to_16(%rip), %ymm6, %ymm6
3608vpackusdw %ymm6, %ymm11, %ymm6
3609vmovdqa 1568(%rsp), %ymm11
3610vpunpcklwd const0(%rip), %ymm11, %ymm4
3611vpunpckhwd const0(%rip), %ymm11, %ymm3
3612vpslld $1, %ymm4, %ymm4
3613vpslld $1, %ymm3, %ymm3
3614vpsubd %ymm4, %ymm9, %ymm9
3615vpsubd %ymm3, %ymm10, %ymm10
3616vpsrld $1, %ymm9, %ymm9
3617vpsrld $1, %ymm10, %ymm10
3618vpand mask32_to_16(%rip), %ymm9, %ymm9
3619vpand mask32_to_16(%rip), %ymm10, %ymm10
3620vpackusdw %ymm10, %ymm9, %ymm10
3621vmovdqa 800(%rsp), %ymm9
3622vpaddw 1056(%rsp), %ymm9, %ymm3
3623vpsubw 1056(%rsp), %ymm9, %ymm9
3624vpsrlw $2, %ymm9, %ymm9
3625vpsubw %ymm6, %ymm9, %ymm9
3626vpmullw %ymm14, %ymm9, %ymm9
3627vpsllw $1, %ymm5, %ymm4
3628vpsubw %ymm4, %ymm3, %ymm4
3629vpsllw $7, %ymm11, %ymm3
3630vpsubw %ymm3, %ymm4, %ymm3
3631vpsrlw $3, %ymm3, %ymm3
3632vpsubw %ymm10, %ymm3, %ymm3
3633vmovdqa 1312(%rsp), %ymm4
3634vpsubw %ymm5, %ymm4, %ymm4
3635vpmullw %ymm15, %ymm11, %ymm7
3636vpsubw %ymm7, %ymm4, %ymm7
3637vpmullw %ymm14, %ymm3, %ymm3
3638vpsubw %ymm3, %ymm10, %ymm10
3639vpmullw %ymm12, %ymm3, %ymm4
3640vpaddw %ymm4, %ymm10, %ymm4
3641vpmullw %ymm12, %ymm4, %ymm4
3642vpsubw %ymm4, %ymm7, %ymm4
3643vpmullw %ymm14, %ymm4, %ymm4
3644vpsubw %ymm6, %ymm4, %ymm4
3645vpsrlw $3, %ymm4, %ymm4
3646vpsubw %ymm9, %ymm4, %ymm4
3647vpsubw %ymm4, %ymm9, %ymm9
3648vpsubw %ymm9, %ymm6, %ymm6
3649vpmullw %ymm13, %ymm4, %ymm4
3650vpsubw %ymm4, %ymm6, %ymm6
3651vpshufb shuf48_16(%rip), %ymm3, %ymm3
3652vpand mask3_5_3_5(%rip), %ymm3, %ymm7
3653vpand mask5_3_5_3(%rip), %ymm3, %ymm3
3654vpermq $206, %ymm7, %ymm7
3655vpand mask_keephigh(%rip), %ymm7, %ymm8
3656vpor %ymm8, %ymm3, %ymm3
3657vpaddw %ymm3, %ymm5, %ymm5
3658vmovdqa %xmm7, 2080(%rsp)
3659vpshufb shuf48_16(%rip), %ymm4, %ymm4
3660vpand mask3_5_3_5(%rip), %ymm4, %ymm7
3661vpand mask5_3_5_3(%rip), %ymm4, %ymm4
3662vpermq $206, %ymm7, %ymm7
3663vpand mask_keephigh(%rip), %ymm7, %ymm8
3664vpor %ymm8, %ymm4, %ymm4
3665vpaddw %ymm4, %ymm6, %ymm6
3666vmovdqa %xmm7, 2336(%rsp)
3667vpshufb shuf48_16(%rip), %ymm11, %ymm11
3668vpand mask3_5_3_5(%rip), %ymm11, %ymm7
3669vpand mask5_3_5_3(%rip), %ymm11, %ymm11
3670vpermq $206, %ymm7, %ymm7
3671vpand mask_keephigh(%rip), %ymm7, %ymm8
3672vpor %ymm8, %ymm11, %ymm11
3673vpaddw %ymm11, %ymm10, %ymm10
3674vmovdqa %xmm7, 2592(%rsp)
3675vmovdqa %ymm5, 64(%rdi)
3676vmovdqa %ymm6, 320(%rdi)
3677vmovdqa %ymm10, 576(%rdi)
3678vmovdqa %ymm9, 832(%rdi)
3679vmovdqa 64(%rsp), %ymm11
3680vpunpcklwd const0(%rip), %ymm11, %ymm4
3681vpunpckhwd const0(%rip), %ymm11, %ymm3
3682vpslld $1, %ymm4, %ymm4
3683vpslld $1, %ymm3, %ymm3
3684vmovdqa 320(%rsp), %ymm9
3685vpunpcklwd const0(%rip), %ymm9, %ymm10
3686vpunpckhwd const0(%rip), %ymm9, %ymm9
3687vmovdqa 576(%rsp), %ymm6
3688vpunpcklwd const0(%rip), %ymm6, %ymm5
3689vpunpckhwd const0(%rip), %ymm6, %ymm6
3690vpaddd %ymm5, %ymm10, %ymm7
3691vpaddd %ymm6, %ymm9, %ymm8
3692vpsubd %ymm4, %ymm7, %ymm7
3693vpsubd %ymm3, %ymm8, %ymm8
3694vpsubd %ymm5, %ymm10, %ymm5
3695vpsubd %ymm6, %ymm9, %ymm6
3696vpsrld $1, %ymm5, %ymm5
3697vpsrld $1, %ymm6, %ymm6
3698vpand mask32_to_16(%rip), %ymm5, %ymm5
3699vpand mask32_to_16(%rip), %ymm6, %ymm6
3700vpackusdw %ymm6, %ymm5, %ymm6
3701vmovdqa 1600(%rsp), %ymm5
3702vpunpcklwd const0(%rip), %ymm5, %ymm9
3703vpunpckhwd const0(%rip), %ymm5, %ymm10
3704vpslld $1, %ymm9, %ymm9
3705vpslld $1, %ymm10, %ymm10
3706vpsubd %ymm9, %ymm7, %ymm7
3707vpsubd %ymm10, %ymm8, %ymm8
3708vpsrld $1, %ymm7, %ymm7
3709vpsrld $1, %ymm8, %ymm8
3710vpand mask32_to_16(%rip), %ymm7, %ymm7
3711vpand mask32_to_16(%rip), %ymm8, %ymm8
3712vpackusdw %ymm8, %ymm7, %ymm8
3713vmovdqa 832(%rsp), %ymm7
3714vpaddw 1088(%rsp), %ymm7, %ymm10
3715vpsubw 1088(%rsp), %ymm7, %ymm7
3716vpsrlw $2, %ymm7, %ymm7
3717vpsubw %ymm6, %ymm7, %ymm7
3718vpmullw %ymm14, %ymm7, %ymm7
3719vpsllw $1, %ymm11, %ymm9
3720vpsubw %ymm9, %ymm10, %ymm9
3721vpsllw $7, %ymm5, %ymm10
3722vpsubw %ymm10, %ymm9, %ymm10
3723vpsrlw $3, %ymm10, %ymm10
3724vpsubw %ymm8, %ymm10, %ymm10
3725vmovdqa 1344(%rsp), %ymm9
3726vpsubw %ymm11, %ymm9, %ymm9
3727vpmullw %ymm15, %ymm5, %ymm3
3728vpsubw %ymm3, %ymm9, %ymm3
3729vpmullw %ymm14, %ymm10, %ymm10
3730vpsubw %ymm10, %ymm8, %ymm8
3731vpmullw %ymm12, %ymm10, %ymm9
3732vpaddw %ymm9, %ymm8, %ymm9
3733vpmullw %ymm12, %ymm9, %ymm9
3734vpsubw %ymm9, %ymm3, %ymm9
3735vpmullw %ymm14, %ymm9, %ymm9
3736vpsubw %ymm6, %ymm9, %ymm9
3737vpsrlw $3, %ymm9, %ymm9
3738vpsubw %ymm7, %ymm9, %ymm9
3739vpsubw %ymm9, %ymm7, %ymm7
3740vpsubw %ymm7, %ymm6, %ymm6
3741vpmullw %ymm13, %ymm9, %ymm9
3742vpsubw %ymm9, %ymm6, %ymm6
3743vpshufb shuf48_16(%rip), %ymm10, %ymm10
3744vpand mask3_5_3_5(%rip), %ymm10, %ymm3
3745vpand mask5_3_5_3(%rip), %ymm10, %ymm10
3746vpermq $206, %ymm3, %ymm3
3747vpand mask_keephigh(%rip), %ymm3, %ymm4
3748vpor %ymm4, %ymm10, %ymm10
3749vpaddw %ymm10, %ymm11, %ymm11
3750vmovdqa %xmm3, 2112(%rsp)
3751vpshufb shuf48_16(%rip), %ymm9, %ymm9
3752vpand mask3_5_3_5(%rip), %ymm9, %ymm3
3753vpand mask5_3_5_3(%rip), %ymm9, %ymm9
3754vpermq $206, %ymm3, %ymm3
3755vpand mask_keephigh(%rip), %ymm3, %ymm4
3756vpor %ymm4, %ymm9, %ymm9
3757vpaddw %ymm9, %ymm6, %ymm6
3758vmovdqa %xmm3, 2368(%rsp)
3759vpshufb shuf48_16(%rip), %ymm5, %ymm5
3760vpand mask3_5_3_5(%rip), %ymm5, %ymm3
3761vpand mask5_3_5_3(%rip), %ymm5, %ymm5
3762vpermq $206, %ymm3, %ymm3
3763vpand mask_keephigh(%rip), %ymm3, %ymm4
3764vpor %ymm4, %ymm5, %ymm5
3765vpaddw %ymm5, %ymm8, %ymm8
3766vmovdqa %xmm3, 2624(%rsp)
3767vmovdqa %ymm11, 128(%rdi)
3768vmovdqa %ymm6, 384(%rdi)
3769vmovdqa %ymm8, 640(%rdi)
3770vmovdqa %ymm7, 896(%rdi)
3771vmovdqa 96(%rsp), %ymm5
3772vpunpcklwd const0(%rip), %ymm5, %ymm9
3773vpunpckhwd const0(%rip), %ymm5, %ymm10
3774vpslld $1, %ymm9, %ymm9
3775vpslld $1, %ymm10, %ymm10
3776vmovdqa 352(%rsp), %ymm7
3777vpunpcklwd const0(%rip), %ymm7, %ymm8
3778vpunpckhwd const0(%rip), %ymm7, %ymm7
3779vmovdqa 608(%rsp), %ymm6
3780vpunpcklwd const0(%rip), %ymm6, %ymm11
3781vpunpckhwd const0(%rip), %ymm6, %ymm6
3782vpaddd %ymm11, %ymm8, %ymm3
3783vpaddd %ymm6, %ymm7, %ymm4
3784vpsubd %ymm9, %ymm3, %ymm3
3785vpsubd %ymm10, %ymm4, %ymm4
3786vpsubd %ymm11, %ymm8, %ymm11
3787vpsubd %ymm6, %ymm7, %ymm6
3788vpsrld $1, %ymm11, %ymm11
3789vpsrld $1, %ymm6, %ymm6
3790vpand mask32_to_16(%rip), %ymm11, %ymm11
3791vpand mask32_to_16(%rip), %ymm6, %ymm6
3792vpackusdw %ymm6, %ymm11, %ymm6
3793vmovdqa 1632(%rsp), %ymm11
3794vpunpcklwd const0(%rip), %ymm11, %ymm7
3795vpunpckhwd const0(%rip), %ymm11, %ymm8
3796vpslld $1, %ymm7, %ymm7
3797vpslld $1, %ymm8, %ymm8
3798vpsubd %ymm7, %ymm3, %ymm3
3799vpsubd %ymm8, %ymm4, %ymm4
3800vpsrld $1, %ymm3, %ymm3
3801vpsrld $1, %ymm4, %ymm4
3802vpand mask32_to_16(%rip), %ymm3, %ymm3
3803vpand mask32_to_16(%rip), %ymm4, %ymm4
3804vpackusdw %ymm4, %ymm3, %ymm4
3805vmovdqa 864(%rsp), %ymm3
3806vpaddw 1120(%rsp), %ymm3, %ymm8
3807vpsubw 1120(%rsp), %ymm3, %ymm3
3808vpsrlw $2, %ymm3, %ymm3
3809vpsubw %ymm6, %ymm3, %ymm3
3810vpmullw %ymm14, %ymm3, %ymm3
3811vpsllw $1, %ymm5, %ymm7
3812vpsubw %ymm7, %ymm8, %ymm7
3813vpsllw $7, %ymm11, %ymm8
3814vpsubw %ymm8, %ymm7, %ymm8
3815vpsrlw $3, %ymm8, %ymm8
3816vpsubw %ymm4, %ymm8, %ymm8
3817vmovdqa 1376(%rsp), %ymm7
3818vpsubw %ymm5, %ymm7, %ymm7
3819vpmullw %ymm15, %ymm11, %ymm10
3820vpsubw %ymm10, %ymm7, %ymm10
3821vpmullw %ymm14, %ymm8, %ymm8
3822vpsubw %ymm8, %ymm4, %ymm4
3823vpmullw %ymm12, %ymm8, %ymm7
3824vpaddw %ymm7, %ymm4, %ymm7
3825vpmullw %ymm12, %ymm7, %ymm7
3826vpsubw %ymm7, %ymm10, %ymm7
3827vpmullw %ymm14, %ymm7, %ymm7
3828vpsubw %ymm6, %ymm7, %ymm7
3829vpsrlw $3, %ymm7, %ymm7
3830vpsubw %ymm3, %ymm7, %ymm7
3831vpsubw %ymm7, %ymm3, %ymm3
3832vpsubw %ymm3, %ymm6, %ymm6
3833vpmullw %ymm13, %ymm7, %ymm7
3834vpsubw %ymm7, %ymm6, %ymm6
3835vpshufb shuf48_16(%rip), %ymm8, %ymm8
3836vpand mask3_5_3_5(%rip), %ymm8, %ymm10
3837vpand mask5_3_5_3(%rip), %ymm8, %ymm8
3838vpermq $206, %ymm10, %ymm10
3839vpand mask_keephigh(%rip), %ymm10, %ymm9
3840vpor %ymm9, %ymm8, %ymm8
3841vpaddw %ymm8, %ymm5, %ymm5
3842vmovdqa %xmm10, 2144(%rsp)
3843vpshufb shuf48_16(%rip), %ymm7, %ymm7
3844vpand mask3_5_3_5(%rip), %ymm7, %ymm10
3845vpand mask5_3_5_3(%rip), %ymm7, %ymm7
3846vpermq $206, %ymm10, %ymm10
3847vpand mask_keephigh(%rip), %ymm10, %ymm9
3848vpor %ymm9, %ymm7, %ymm7
3849vpaddw %ymm7, %ymm6, %ymm6
3850vmovdqa %xmm10, 2400(%rsp)
3851vpshufb shuf48_16(%rip), %ymm11, %ymm11
3852vpand mask3_5_3_5(%rip), %ymm11, %ymm10
3853vpand mask5_3_5_3(%rip), %ymm11, %ymm11
3854vpermq $206, %ymm10, %ymm10
3855vpand mask_keephigh(%rip), %ymm10, %ymm9
3856vpor %ymm9, %ymm11, %ymm11
3857vpaddw %ymm11, %ymm4, %ymm4
3858vmovdqa %xmm10, 2656(%rsp)
3859vmovdqa %ymm5, 192(%rdi)
3860vmovdqa %ymm6, 448(%rdi)
3861vmovdqa %ymm4, 704(%rdi)
3862vmovdqa %ymm3, 960(%rdi)
3863vmovdqa 128(%rsp), %ymm11
3864vpunpcklwd const0(%rip), %ymm11, %ymm7
3865vpunpckhwd const0(%rip), %ymm11, %ymm8
3866vpslld $1, %ymm7, %ymm7
3867vpslld $1, %ymm8, %ymm8
3868vmovdqa 384(%rsp), %ymm3
3869vpunpcklwd const0(%rip), %ymm3, %ymm4
3870vpunpckhwd const0(%rip), %ymm3, %ymm3
3871vmovdqa 640(%rsp), %ymm6
3872vpunpcklwd const0(%rip), %ymm6, %ymm5
3873vpunpckhwd const0(%rip), %ymm6, %ymm6
3874vpaddd %ymm5, %ymm4, %ymm10
3875vpaddd %ymm6, %ymm3, %ymm9
3876vpsubd %ymm7, %ymm10, %ymm10
3877vpsubd %ymm8, %ymm9, %ymm9
3878vpsubd %ymm5, %ymm4, %ymm5
3879vpsubd %ymm6, %ymm3, %ymm6
3880vpsrld $1, %ymm5, %ymm5
3881vpsrld $1, %ymm6, %ymm6
3882vpand mask32_to_16(%rip), %ymm5, %ymm5
3883vpand mask32_to_16(%rip), %ymm6, %ymm6
3884vpackusdw %ymm6, %ymm5, %ymm6
3885vmovdqa 1664(%rsp), %ymm5
3886vpunpcklwd const0(%rip), %ymm5, %ymm3
3887vpunpckhwd const0(%rip), %ymm5, %ymm4
3888vpslld $1, %ymm3, %ymm3
3889vpslld $1, %ymm4, %ymm4
3890vpsubd %ymm3, %ymm10, %ymm10
3891vpsubd %ymm4, %ymm9, %ymm9
3892vpsrld $1, %ymm10, %ymm10
3893vpsrld $1, %ymm9, %ymm9
3894vpand mask32_to_16(%rip), %ymm10, %ymm10
3895vpand mask32_to_16(%rip), %ymm9, %ymm9
3896vpackusdw %ymm9, %ymm10, %ymm9
3897vmovdqa 896(%rsp), %ymm10
3898vpaddw 1152(%rsp), %ymm10, %ymm4
3899vpsubw 1152(%rsp), %ymm10, %ymm10
3900vpsrlw $2, %ymm10, %ymm10
3901vpsubw %ymm6, %ymm10, %ymm10
3902vpmullw %ymm14, %ymm10, %ymm10
3903vpsllw $1, %ymm11, %ymm3
3904vpsubw %ymm3, %ymm4, %ymm3
3905vpsllw $7, %ymm5, %ymm4
3906vpsubw %ymm4, %ymm3, %ymm4
3907vpsrlw $3, %ymm4, %ymm4
3908vpsubw %ymm9, %ymm4, %ymm4
3909vmovdqa 1408(%rsp), %ymm3
3910vpsubw %ymm11, %ymm3, %ymm3
3911vpmullw %ymm15, %ymm5, %ymm8
3912vpsubw %ymm8, %ymm3, %ymm8
3913vpmullw %ymm14, %ymm4, %ymm4
3914vpsubw %ymm4, %ymm9, %ymm9
3915vpmullw %ymm12, %ymm4, %ymm3
3916vpaddw %ymm3, %ymm9, %ymm3
3917vpmullw %ymm12, %ymm3, %ymm3
3918vpsubw %ymm3, %ymm8, %ymm3
3919vpmullw %ymm14, %ymm3, %ymm3
3920vpsubw %ymm6, %ymm3, %ymm3
3921vpsrlw $3, %ymm3, %ymm3
3922vpsubw %ymm10, %ymm3, %ymm3
3923vpsubw %ymm3, %ymm10, %ymm10
3924vpsubw %ymm10, %ymm6, %ymm6
3925vpmullw %ymm13, %ymm3, %ymm3
3926vpsubw %ymm3, %ymm6, %ymm6
3927vmovdqa 256(%rdi), %ymm8
3928vmovdqa 512(%rdi), %ymm7
3929vmovdqa 768(%rdi), %ymm2
3930vpaddw %ymm11, %ymm8, %ymm11
3931vpaddw %ymm6, %ymm7, %ymm6
3932vpaddw %ymm9, %ymm2, %ymm9
3933vpshufb shuf48_16(%rip), %ymm10, %ymm10
3934vpand mask3_5_3_5(%rip), %ymm10, %ymm2
3935vpand mask5_3_5_3(%rip), %ymm10, %ymm10
3936vpermq $206, %ymm2, %ymm2
3937vpand mask_keephigh(%rip), %ymm2, %ymm7
3938vpor %ymm7, %ymm10, %ymm10
3939vmovdqa 0(%rdi), %ymm7
3940vpaddw %ymm10, %ymm7, %ymm7
3941vmovdqa %ymm7, 0(%rdi)
3942vmovdqa %xmm2, 1920(%rsp)
3943vpshufb shuf48_16(%rip), %ymm4, %ymm4
3944vpand mask3_5_3_5(%rip), %ymm4, %ymm2
3945vpand mask5_3_5_3(%rip), %ymm4, %ymm4
3946vpermq $206, %ymm2, %ymm2
3947vpand mask_keephigh(%rip), %ymm2, %ymm7
3948vpor %ymm7, %ymm4, %ymm4
3949vpaddw %ymm4, %ymm11, %ymm11
3950vmovdqa %xmm2, 2176(%rsp)
3951vpshufb shuf48_16(%rip), %ymm3, %ymm3
3952vpand mask3_5_3_5(%rip), %ymm3, %ymm2
3953vpand mask5_3_5_3(%rip), %ymm3, %ymm3
3954vpermq $206, %ymm2, %ymm2
3955vpand mask_keephigh(%rip), %ymm2, %ymm7
3956vpor %ymm7, %ymm3, %ymm3
3957vpaddw %ymm3, %ymm6, %ymm6
3958vmovdqa %xmm2, 2432(%rsp)
3959vpshufb shuf48_16(%rip), %ymm5, %ymm5
3960vpand mask3_5_3_5(%rip), %ymm5, %ymm2
3961vpand mask5_3_5_3(%rip), %ymm5, %ymm5
3962vpermq $206, %ymm2, %ymm2
3963vpand mask_keephigh(%rip), %ymm2, %ymm7
3964vpor %ymm7, %ymm5, %ymm5
3965vpaddw %ymm5, %ymm9, %ymm9
3966vmovdqa %xmm2, 2688(%rsp)
3967vmovdqa %ymm11, 256(%rdi)
3968vmovdqa %ymm6, 512(%rdi)
3969vmovdqa %ymm9, 768(%rdi)
3970vmovdqa 160(%rsp), %ymm5
3971vpunpcklwd const0(%rip), %ymm5, %ymm3
3972vpunpckhwd const0(%rip), %ymm5, %ymm4
3973vpslld $1, %ymm3, %ymm3
3974vpslld $1, %ymm4, %ymm4
3975vmovdqa 416(%rsp), %ymm10
3976vpunpcklwd const0(%rip), %ymm10, %ymm9
3977vpunpckhwd const0(%rip), %ymm10, %ymm10
3978vmovdqa 672(%rsp), %ymm6
3979vpunpcklwd const0(%rip), %ymm6, %ymm11
3980vpunpckhwd const0(%rip), %ymm6, %ymm6
3981vpaddd %ymm11, %ymm9, %ymm2
3982vpaddd %ymm6, %ymm10, %ymm7
3983vpsubd %ymm3, %ymm2, %ymm2
3984vpsubd %ymm4, %ymm7, %ymm7
3985vpsubd %ymm11, %ymm9, %ymm11
3986vpsubd %ymm6, %ymm10, %ymm6
3987vpsrld $1, %ymm11, %ymm11
3988vpsrld $1, %ymm6, %ymm6
3989vpand mask32_to_16(%rip), %ymm11, %ymm11
3990vpand mask32_to_16(%rip), %ymm6, %ymm6
3991vpackusdw %ymm6, %ymm11, %ymm6
3992vmovdqa 1696(%rsp), %ymm11
3993vpunpcklwd const0(%rip), %ymm11, %ymm10
3994vpunpckhwd const0(%rip), %ymm11, %ymm9
3995vpslld $1, %ymm10, %ymm10
3996vpslld $1, %ymm9, %ymm9
3997vpsubd %ymm10, %ymm2, %ymm2
3998vpsubd %ymm9, %ymm7, %ymm7
3999vpsrld $1, %ymm2, %ymm2
4000vpsrld $1, %ymm7, %ymm7
4001vpand mask32_to_16(%rip), %ymm2, %ymm2
4002vpand mask32_to_16(%rip), %ymm7, %ymm7
4003vpackusdw %ymm7, %ymm2, %ymm7
4004vmovdqa 928(%rsp), %ymm2
4005vpaddw 1184(%rsp), %ymm2, %ymm9
4006vpsubw 1184(%rsp), %ymm2, %ymm2
4007vpsrlw $2, %ymm2, %ymm2
4008vpsubw %ymm6, %ymm2, %ymm2
4009vpmullw %ymm14, %ymm2, %ymm2
4010vpsllw $1, %ymm5, %ymm10
4011vpsubw %ymm10, %ymm9, %ymm10
4012vpsllw $7, %ymm11, %ymm9
4013vpsubw %ymm9, %ymm10, %ymm9
4014vpsrlw $3, %ymm9, %ymm9
4015vpsubw %ymm7, %ymm9, %ymm9
4016vmovdqa 1440(%rsp), %ymm10
4017vpsubw %ymm5, %ymm10, %ymm10
4018vpmullw %ymm15, %ymm11, %ymm4
4019vpsubw %ymm4, %ymm10, %ymm4
4020vpmullw %ymm14, %ymm9, %ymm9
4021vpsubw %ymm9, %ymm7, %ymm7
4022vpmullw %ymm12, %ymm9, %ymm10
4023vpaddw %ymm10, %ymm7, %ymm10
4024vpmullw %ymm12, %ymm10, %ymm10
4025vpsubw %ymm10, %ymm4, %ymm10
4026vpmullw %ymm14, %ymm10, %ymm10
4027vpsubw %ymm6, %ymm10, %ymm10
4028vpsrlw $3, %ymm10, %ymm10
4029vpsubw %ymm2, %ymm10, %ymm10
4030vpsubw %ymm10, %ymm2, %ymm2
4031vpsubw %ymm2, %ymm6, %ymm6
4032vpmullw %ymm13, %ymm10, %ymm10
4033vpsubw %ymm10, %ymm6, %ymm6
4034vmovdqa 320(%rdi), %ymm4
4035vmovdqa 576(%rdi), %ymm3
4036vmovdqa 832(%rdi), %ymm8
4037vpaddw %ymm5, %ymm4, %ymm5
4038vpaddw %ymm6, %ymm3, %ymm6
4039vpaddw %ymm7, %ymm8, %ymm7
4040vpshufb shuf48_16(%rip), %ymm2, %ymm2
4041vpand mask3_5_3_5(%rip), %ymm2, %ymm8
4042vpand mask5_3_5_3(%rip), %ymm2, %ymm2
4043vpermq $206, %ymm8, %ymm8
4044vpand mask_keephigh(%rip), %ymm8, %ymm3
4045vpor %ymm3, %ymm2, %ymm2
4046vmovdqa 64(%rdi), %ymm3
4047vpaddw %ymm2, %ymm3, %ymm3
4048vmovdqa %ymm3, 64(%rdi)
4049vmovdqa %xmm8, 1952(%rsp)
4050vpshufb shuf48_16(%rip), %ymm9, %ymm9
4051vpand mask3_5_3_5(%rip), %ymm9, %ymm8
4052vpand mask5_3_5_3(%rip), %ymm9, %ymm9
4053vpermq $206, %ymm8, %ymm8
4054vpand mask_keephigh(%rip), %ymm8, %ymm3
4055vpor %ymm3, %ymm9, %ymm9
4056vpaddw %ymm9, %ymm5, %ymm5
4057vmovdqa %xmm8, 2208(%rsp)
4058vpshufb shuf48_16(%rip), %ymm10, %ymm10
4059vpand mask3_5_3_5(%rip), %ymm10, %ymm8
4060vpand mask5_3_5_3(%rip), %ymm10, %ymm10
4061vpermq $206, %ymm8, %ymm8
4062vpand mask_keephigh(%rip), %ymm8, %ymm3
4063vpor %ymm3, %ymm10, %ymm10
4064vpaddw %ymm10, %ymm6, %ymm6
4065vmovdqa %xmm8, 2464(%rsp)
4066vpshufb shuf48_16(%rip), %ymm11, %ymm11
4067vpand mask3_5_3_5(%rip), %ymm11, %ymm8
4068vpand mask5_3_5_3(%rip), %ymm11, %ymm11
4069vpermq $206, %ymm8, %ymm8
4070vpand mask_keephigh(%rip), %ymm8, %ymm3
4071vpor %ymm3, %ymm11, %ymm11
4072vpaddw %ymm11, %ymm7, %ymm7
4073vmovdqa %xmm8, 2720(%rsp)
4074vmovdqa %ymm5, 320(%rdi)
4075vmovdqa %ymm6, 576(%rdi)
4076vmovdqa %ymm7, 832(%rdi)
4077vmovdqa 192(%rsp), %ymm11
4078vpunpcklwd const0(%rip), %ymm11, %ymm10
4079vpunpckhwd const0(%rip), %ymm11, %ymm9
4080vpslld $1, %ymm10, %ymm10
4081vpslld $1, %ymm9, %ymm9
4082vmovdqa 448(%rsp), %ymm2
4083vpunpcklwd const0(%rip), %ymm2, %ymm7
4084vpunpckhwd const0(%rip), %ymm2, %ymm2
4085vmovdqa 704(%rsp), %ymm6
4086vpunpcklwd const0(%rip), %ymm6, %ymm5
4087vpunpckhwd const0(%rip), %ymm6, %ymm6
4088vpaddd %ymm5, %ymm7, %ymm8
4089vpaddd %ymm6, %ymm2, %ymm3
4090vpsubd %ymm10, %ymm8, %ymm8
4091vpsubd %ymm9, %ymm3, %ymm3
4092vpsubd %ymm5, %ymm7, %ymm5
4093vpsubd %ymm6, %ymm2, %ymm6
4094vpsrld $1, %ymm5, %ymm5
4095vpsrld $1, %ymm6, %ymm6
4096vpand mask32_to_16(%rip), %ymm5, %ymm5
4097vpand mask32_to_16(%rip), %ymm6, %ymm6
4098vpackusdw %ymm6, %ymm5, %ymm6
4099vmovdqa 1728(%rsp), %ymm5
4100vpunpcklwd const0(%rip), %ymm5, %ymm2
4101vpunpckhwd const0(%rip), %ymm5, %ymm7
4102vpslld $1, %ymm2, %ymm2
4103vpslld $1, %ymm7, %ymm7
4104vpsubd %ymm2, %ymm8, %ymm8
4105vpsubd %ymm7, %ymm3, %ymm3
4106vpsrld $1, %ymm8, %ymm8
4107vpsrld $1, %ymm3, %ymm3
4108vpand mask32_to_16(%rip), %ymm8, %ymm8
4109vpand mask32_to_16(%rip), %ymm3, %ymm3
4110vpackusdw %ymm3, %ymm8, %ymm3
4111vmovdqa 960(%rsp), %ymm8
4112vpaddw 1216(%rsp), %ymm8, %ymm7
4113vpsubw 1216(%rsp), %ymm8, %ymm8
4114vpsrlw $2, %ymm8, %ymm8
4115vpsubw %ymm6, %ymm8, %ymm8
4116vpmullw %ymm14, %ymm8, %ymm8
4117vpsllw $1, %ymm11, %ymm2
4118vpsubw %ymm2, %ymm7, %ymm2
4119vpsllw $7, %ymm5, %ymm7
4120vpsubw %ymm7, %ymm2, %ymm7
4121vpsrlw $3, %ymm7, %ymm7
4122vpsubw %ymm3, %ymm7, %ymm7
4123vmovdqa 1472(%rsp), %ymm2
4124vpsubw %ymm11, %ymm2, %ymm2
4125vpmullw %ymm15, %ymm5, %ymm9
4126vpsubw %ymm9, %ymm2, %ymm9
4127vpmullw %ymm14, %ymm7, %ymm7
4128vpsubw %ymm7, %ymm3, %ymm3
4129vpmullw %ymm12, %ymm7, %ymm2
4130vpaddw %ymm2, %ymm3, %ymm2
4131vpmullw %ymm12, %ymm2, %ymm2
4132vpsubw %ymm2, %ymm9, %ymm2
4133vpmullw %ymm14, %ymm2, %ymm2
4134vpsubw %ymm6, %ymm2, %ymm2
4135vpsrlw $3, %ymm2, %ymm2
4136vpsubw %ymm8, %ymm2, %ymm2
4137vpsubw %ymm2, %ymm8, %ymm8
4138vpsubw %ymm8, %ymm6, %ymm6
4139vpmullw %ymm13, %ymm2, %ymm2
4140vpsubw %ymm2, %ymm6, %ymm6
4141vmovdqa 384(%rdi), %ymm9
4142vmovdqa 640(%rdi), %ymm10
4143vmovdqa 896(%rdi), %ymm4
4144vpaddw %ymm11, %ymm9, %ymm11
4145vpaddw %ymm6, %ymm10, %ymm6
4146vpaddw %ymm3, %ymm4, %ymm3
4147vpshufb shuf48_16(%rip), %ymm8, %ymm8
4148vpand mask3_5_3_5(%rip), %ymm8, %ymm4
4149vpand mask5_3_5_3(%rip), %ymm8, %ymm8
4150vpermq $206, %ymm4, %ymm4
4151vpand mask_keephigh(%rip), %ymm4, %ymm10
4152vpor %ymm10, %ymm8, %ymm8
4153vmovdqa 128(%rdi), %ymm10
4154vpaddw %ymm8, %ymm10, %ymm10
4155vmovdqa %ymm10, 128(%rdi)
4156vmovdqa %xmm4, 1984(%rsp)
4157vpshufb shuf48_16(%rip), %ymm7, %ymm7
4158vpand mask3_5_3_5(%rip), %ymm7, %ymm4
4159vpand mask5_3_5_3(%rip), %ymm7, %ymm7
4160vpermq $206, %ymm4, %ymm4
4161vpand mask_keephigh(%rip), %ymm4, %ymm10
4162vpor %ymm10, %ymm7, %ymm7
4163vpaddw %ymm7, %ymm11, %ymm11
4164vmovdqa %xmm4, 2240(%rsp)
4165vpshufb shuf48_16(%rip), %ymm2, %ymm2
4166vpand mask3_5_3_5(%rip), %ymm2, %ymm4
4167vpand mask5_3_5_3(%rip), %ymm2, %ymm2
4168vpermq $206, %ymm4, %ymm4
4169vpand mask_keephigh(%rip), %ymm4, %ymm10
4170vpor %ymm10, %ymm2, %ymm2
4171vpaddw %ymm2, %ymm6, %ymm6
4172vmovdqa %xmm4, 2496(%rsp)
4173vpshufb shuf48_16(%rip), %ymm5, %ymm5
4174vpand mask3_5_3_5(%rip), %ymm5, %ymm4
4175vpand mask5_3_5_3(%rip), %ymm5, %ymm5
4176vpermq $206, %ymm4, %ymm4
4177vpand mask_keephigh(%rip), %ymm4, %ymm10
4178vpor %ymm10, %ymm5, %ymm5
4179vpaddw %ymm5, %ymm3, %ymm3
4180vmovdqa %xmm4, 2752(%rsp)
4181vmovdqa %ymm11, 384(%rdi)
4182vmovdqa %ymm6, 640(%rdi)
4183vmovdqa %ymm3, 896(%rdi)
4184vmovdqa 224(%rsp), %ymm5
4185vpunpcklwd const0(%rip), %ymm5, %ymm2
4186vpunpckhwd const0(%rip), %ymm5, %ymm7
4187vpslld $1, %ymm2, %ymm2
4188vpslld $1, %ymm7, %ymm7
4189vmovdqa 480(%rsp), %ymm8
4190vpunpcklwd const0(%rip), %ymm8, %ymm3
4191vpunpckhwd const0(%rip), %ymm8, %ymm8
4192vmovdqa 736(%rsp), %ymm6
4193vpunpcklwd const0(%rip), %ymm6, %ymm11
4194vpunpckhwd const0(%rip), %ymm6, %ymm6
4195vpaddd %ymm11, %ymm3, %ymm4
4196vpaddd %ymm6, %ymm8, %ymm10
4197vpsubd %ymm2, %ymm4, %ymm4
4198vpsubd %ymm7, %ymm10, %ymm10
4199vpsubd %ymm11, %ymm3, %ymm11
4200vpsubd %ymm6, %ymm8, %ymm6
4201vpsrld $1, %ymm11, %ymm11
4202vpsrld $1, %ymm6, %ymm6
4203vpand mask32_to_16(%rip), %ymm11, %ymm11
4204vpand mask32_to_16(%rip), %ymm6, %ymm6
4205vpackusdw %ymm6, %ymm11, %ymm6
4206vmovdqa 1760(%rsp), %ymm11
4207vpunpcklwd const0(%rip), %ymm11, %ymm8
4208vpunpckhwd const0(%rip), %ymm11, %ymm3
4209vpslld $1, %ymm8, %ymm8
4210vpslld $1, %ymm3, %ymm3
4211vpsubd %ymm8, %ymm4, %ymm4
4212vpsubd %ymm3, %ymm10, %ymm10
4213vpsrld $1, %ymm4, %ymm4
4214vpsrld $1, %ymm10, %ymm10
4215vpand mask32_to_16(%rip), %ymm4, %ymm4
4216vpand mask32_to_16(%rip), %ymm10, %ymm10
4217vpackusdw %ymm10, %ymm4, %ymm10
4218vmovdqa 992(%rsp), %ymm4
4219vpaddw 1248(%rsp), %ymm4, %ymm3
4220vpsubw 1248(%rsp), %ymm4, %ymm4
4221vpsrlw $2, %ymm4, %ymm4
4222vpsubw %ymm6, %ymm4, %ymm4
4223vpmullw %ymm14, %ymm4, %ymm4
4224vpsllw $1, %ymm5, %ymm8
4225vpsubw %ymm8, %ymm3, %ymm8
4226vpsllw $7, %ymm11, %ymm3
4227vpsubw %ymm3, %ymm8, %ymm3
4228vpsrlw $3, %ymm3, %ymm3
4229vpsubw %ymm10, %ymm3, %ymm3
4230vmovdqa 1504(%rsp), %ymm8
4231vpsubw %ymm5, %ymm8, %ymm8
4232vpmullw %ymm15, %ymm11, %ymm7
4233vpsubw %ymm7, %ymm8, %ymm7
4234vpmullw %ymm14, %ymm3, %ymm3
4235vpsubw %ymm3, %ymm10, %ymm10
4236vpmullw %ymm12, %ymm3, %ymm8
4237vpaddw %ymm8, %ymm10, %ymm8
4238vpmullw %ymm12, %ymm8, %ymm8
4239vpsubw %ymm8, %ymm7, %ymm8
4240vpmullw %ymm14, %ymm8, %ymm8
4241vpsubw %ymm6, %ymm8, %ymm8
4242vpsrlw $3, %ymm8, %ymm8
4243vpsubw %ymm4, %ymm8, %ymm8
4244vpsubw %ymm8, %ymm4, %ymm4
4245vpsubw %ymm4, %ymm6, %ymm6
4246vpmullw %ymm13, %ymm8, %ymm8
4247vpsubw %ymm8, %ymm6, %ymm6
4248vmovdqa 448(%rdi), %ymm7
4249vmovdqa 704(%rdi), %ymm2
4250vmovdqa 960(%rdi), %ymm9
4251vpaddw %ymm5, %ymm7, %ymm5
4252vpaddw %ymm6, %ymm2, %ymm6
4253vpaddw %ymm10, %ymm9, %ymm10
4254vpshufb shuf48_16(%rip), %ymm4, %ymm4
4255vpand mask3_5_3_5(%rip), %ymm4, %ymm9
4256vpand mask5_3_5_3(%rip), %ymm4, %ymm4
4257vpermq $206, %ymm9, %ymm9
4258vpand mask_keephigh(%rip), %ymm9, %ymm2
4259vpor %ymm2, %ymm4, %ymm4
4260vmovdqa 192(%rdi), %ymm2
4261vpaddw %ymm4, %ymm2, %ymm2
4262vmovdqa %ymm2, 192(%rdi)
4263vmovdqa %xmm9, 2016(%rsp)
4264vpshufb shuf48_16(%rip), %ymm3, %ymm3
4265vpand mask3_5_3_5(%rip), %ymm3, %ymm9
4266vpand mask5_3_5_3(%rip), %ymm3, %ymm3
4267vpermq $206, %ymm9, %ymm9
4268vpand mask_keephigh(%rip), %ymm9, %ymm2
4269vpor %ymm2, %ymm3, %ymm3
4270vpaddw %ymm3, %ymm5, %ymm5
4271vmovdqa %xmm9, 2272(%rsp)
4272vpshufb shuf48_16(%rip), %ymm8, %ymm8
4273vpand mask3_5_3_5(%rip), %ymm8, %ymm9
4274vpand mask5_3_5_3(%rip), %ymm8, %ymm8
4275vpermq $206, %ymm9, %ymm9
4276vpand mask_keephigh(%rip), %ymm9, %ymm2
4277vpor %ymm2, %ymm8, %ymm8
4278vpaddw %ymm8, %ymm6, %ymm6
4279vmovdqa %xmm9, 2528(%rsp)
4280vpshufb shuf48_16(%rip), %ymm11, %ymm11
4281vpand mask3_5_3_5(%rip), %ymm11, %ymm9
4282vpand mask5_3_5_3(%rip), %ymm11, %ymm11
4283vpermq $206, %ymm9, %ymm9
4284vpand mask_keephigh(%rip), %ymm9, %ymm2
4285vpor %ymm2, %ymm11, %ymm11
4286vpaddw %ymm11, %ymm10, %ymm10
4287vmovdqa %xmm9, 2784(%rsp)
4288vmovdqa %ymm5, 448(%rdi)
4289vmovdqa %ymm6, 704(%rdi)
4290vmovdqa %ymm10, 960(%rdi)
4291vmovdqa 96(%r12), %ymm0
4292vpsubw 160(%r12), %ymm0, %ymm0
4293vmovdqa 352(%r12), %ymm1
4294vpsubw %ymm0, %ymm1, %ymm1
4295vpsubw 224(%r12), %ymm1, %ymm1
4296vpsubw 32(%r12), %ymm0, %ymm0
4297vpaddw 288(%r12), %ymm0, %ymm0
4298vmovdqa 480(%r12), %ymm2
4299vpsubw 544(%r12), %ymm2, %ymm2
4300vmovdqa 736(%r12), %ymm3
4301vpsubw %ymm2, %ymm3, %ymm3
4302vpsubw 608(%r12), %ymm3, %ymm3
4303vpsubw 416(%r12), %ymm2, %ymm2
4304vpaddw 672(%r12), %ymm2, %ymm2
4305vmovdqa 864(%r12), %ymm4
4306vpsubw 928(%r12), %ymm4, %ymm4
4307vmovdqa 1120(%r12), %ymm5
4308vpsubw %ymm4, %ymm5, %ymm5
4309vpsubw 992(%r12), %ymm5, %ymm5
4310vpsubw 800(%r12), %ymm4, %ymm4
4311vpaddw 1056(%r12), %ymm4, %ymm4
4312vpsubw 416(%r12), %ymm1, %ymm1
4313vpsubw %ymm1, %ymm5, %ymm5
4314vpsubw %ymm3, %ymm5, %ymm5
4315vpsubw 32(%r12), %ymm1, %ymm1
4316vpaddw 800(%r12), %ymm1, %ymm1
4317vmovdqa 224(%r12), %ymm6
4318vpsubw %ymm2, %ymm6, %ymm7
4319vmovdqa 992(%r12), %ymm2
4320vpsubw %ymm7, %ymm2, %ymm2
4321vpsubw 608(%r12), %ymm2, %ymm2
4322vpsubw %ymm0, %ymm7, %ymm7
4323vpaddw %ymm4, %ymm7, %ymm7
4324vmovdqa 32(%r12), %ymm8
4325vmovdqa 608(%r12), %ymm9
4326vmovdqa %ymm8, 0(%rsp)
4327vmovdqa %ymm0, 32(%rsp)
4328vmovdqa %ymm1, 64(%rsp)
4329vmovdqa %ymm7, 96(%rsp)
4330vmovdqa %ymm5, 128(%rsp)
4331vmovdqa %ymm2, 160(%rsp)
4332vmovdqa %ymm3, 192(%rsp)
4333vmovdqa %ymm9, 224(%rsp)
4334vmovdqa 1248(%r12), %ymm0
4335vpsubw 1312(%r12), %ymm0, %ymm0
4336vmovdqa 1504(%r12), %ymm1
4337vpsubw %ymm0, %ymm1, %ymm1
4338vpsubw 1376(%r12), %ymm1, %ymm1
4339vpsubw 1184(%r12), %ymm0, %ymm0
4340vpaddw 1440(%r12), %ymm0, %ymm0
4341vmovdqa 1632(%r12), %ymm2
4342vpsubw 1696(%r12), %ymm2, %ymm2
4343vmovdqa 1888(%r12), %ymm3
4344vpsubw %ymm2, %ymm3, %ymm3
4345vpsubw 1760(%r12), %ymm3, %ymm3
4346vpsubw 1568(%r12), %ymm2, %ymm2
4347vpaddw 1824(%r12), %ymm2, %ymm2
4348vmovdqa 2016(%r12), %ymm4
4349vpsubw 2080(%r12), %ymm4, %ymm4
4350vmovdqa 2272(%r12), %ymm5
4351vpsubw %ymm4, %ymm5, %ymm5
4352vpsubw 2144(%r12), %ymm5, %ymm5
4353vpsubw 1952(%r12), %ymm4, %ymm4
4354vpaddw 2208(%r12), %ymm4, %ymm4
4355vpsubw 1568(%r12), %ymm1, %ymm1
4356vpsubw %ymm1, %ymm5, %ymm5
4357vpsubw %ymm3, %ymm5, %ymm5
4358vpsubw 1184(%r12), %ymm1, %ymm1
4359vpaddw 1952(%r12), %ymm1, %ymm1
4360vmovdqa 1376(%r12), %ymm6
4361vpsubw %ymm2, %ymm6, %ymm7
4362vmovdqa 2144(%r12), %ymm2
4363vpsubw %ymm7, %ymm2, %ymm2
4364vpsubw 1760(%r12), %ymm2, %ymm2
4365vpsubw %ymm0, %ymm7, %ymm7
4366vpaddw %ymm4, %ymm7, %ymm7
4367vmovdqa 1184(%r12), %ymm8
4368vmovdqa 1760(%r12), %ymm9
4369vmovdqa %ymm8, 256(%rsp)
4370vmovdqa %ymm0, 288(%rsp)
4371vmovdqa %ymm1, 320(%rsp)
4372vmovdqa %ymm7, 352(%rsp)
4373vmovdqa %ymm5, 384(%rsp)
4374vmovdqa %ymm2, 416(%rsp)
4375vmovdqa %ymm3, 448(%rsp)
4376vmovdqa %ymm9, 480(%rsp)
4377vmovdqa 2400(%r12), %ymm0
4378vpsubw 2464(%r12), %ymm0, %ymm0
4379vmovdqa 2656(%r12), %ymm1
4380vpsubw %ymm0, %ymm1, %ymm1
4381vpsubw 2528(%r12), %ymm1, %ymm1
4382vpsubw 2336(%r12), %ymm0, %ymm0
4383vpaddw 2592(%r12), %ymm0, %ymm0
4384vmovdqa 2784(%r12), %ymm2
4385vpsubw 2848(%r12), %ymm2, %ymm2
4386vmovdqa 3040(%r12), %ymm3
4387vpsubw %ymm2, %ymm3, %ymm3
4388vpsubw 2912(%r12), %ymm3, %ymm3
4389vpsubw 2720(%r12), %ymm2, %ymm2
4390vpaddw 2976(%r12), %ymm2, %ymm2
4391vmovdqa 3168(%r12), %ymm4
4392vpsubw 3232(%r12), %ymm4, %ymm4
4393vmovdqa 3424(%r12), %ymm5
4394vpsubw %ymm4, %ymm5, %ymm5
4395vpsubw 3296(%r12), %ymm5, %ymm5
4396vpsubw 3104(%r12), %ymm4, %ymm4
4397vpaddw 3360(%r12), %ymm4, %ymm4
4398vpsubw 2720(%r12), %ymm1, %ymm1
4399vpsubw %ymm1, %ymm5, %ymm5
4400vpsubw %ymm3, %ymm5, %ymm5
4401vpsubw 2336(%r12), %ymm1, %ymm1
4402vpaddw 3104(%r12), %ymm1, %ymm1
4403vmovdqa 2528(%r12), %ymm6
4404vpsubw %ymm2, %ymm6, %ymm7
4405vmovdqa 3296(%r12), %ymm2
4406vpsubw %ymm7, %ymm2, %ymm2
4407vpsubw 2912(%r12), %ymm2, %ymm2
4408vpsubw %ymm0, %ymm7, %ymm7
4409vpaddw %ymm4, %ymm7, %ymm7
4410vmovdqa 2336(%r12), %ymm8
4411vmovdqa 2912(%r12), %ymm9
4412vmovdqa %ymm8, 512(%rsp)
4413vmovdqa %ymm0, 544(%rsp)
4414vmovdqa %ymm1, 576(%rsp)
4415vmovdqa %ymm7, 608(%rsp)
4416vmovdqa %ymm5, 640(%rsp)
4417vmovdqa %ymm2, 672(%rsp)
4418vmovdqa %ymm3, 704(%rsp)
4419vmovdqa %ymm9, 736(%rsp)
4420vmovdqa 3552(%r12), %ymm0
4421vpsubw 3616(%r12), %ymm0, %ymm0
4422vmovdqa 3808(%r12), %ymm1
4423vpsubw %ymm0, %ymm1, %ymm1
4424vpsubw 3680(%r12), %ymm1, %ymm1
4425vpsubw 3488(%r12), %ymm0, %ymm0
4426vpaddw 3744(%r12), %ymm0, %ymm0
4427vmovdqa 3936(%r12), %ymm2
4428vpsubw 4000(%r12), %ymm2, %ymm2
4429vmovdqa 4192(%r12), %ymm3
4430vpsubw %ymm2, %ymm3, %ymm3
4431vpsubw 4064(%r12), %ymm3, %ymm3
4432vpsubw 3872(%r12), %ymm2, %ymm2
4433vpaddw 4128(%r12), %ymm2, %ymm2
4434vmovdqa 4320(%r12), %ymm4
4435vpsubw 4384(%r12), %ymm4, %ymm4
4436vmovdqa 4576(%r12), %ymm5
4437vpsubw %ymm4, %ymm5, %ymm5
4438vpsubw 4448(%r12), %ymm5, %ymm5
4439vpsubw 4256(%r12), %ymm4, %ymm4
4440vpaddw 4512(%r12), %ymm4, %ymm4
4441vpsubw 3872(%r12), %ymm1, %ymm1
4442vpsubw %ymm1, %ymm5, %ymm5
4443vpsubw %ymm3, %ymm5, %ymm5
4444vpsubw 3488(%r12), %ymm1, %ymm1
4445vpaddw 4256(%r12), %ymm1, %ymm1
4446vmovdqa 3680(%r12), %ymm6
4447vpsubw %ymm2, %ymm6, %ymm7
4448vmovdqa 4448(%r12), %ymm2
4449vpsubw %ymm7, %ymm2, %ymm2
4450vpsubw 4064(%r12), %ymm2, %ymm2
4451vpsubw %ymm0, %ymm7, %ymm7
4452vpaddw %ymm4, %ymm7, %ymm7
4453vmovdqa 3488(%r12), %ymm8
4454vmovdqa 4064(%r12), %ymm9
4455vmovdqa %ymm8, 768(%rsp)
4456vmovdqa %ymm0, 800(%rsp)
4457vmovdqa %ymm1, 832(%rsp)
4458vmovdqa %ymm7, 864(%rsp)
4459vmovdqa %ymm5, 896(%rsp)
4460vmovdqa %ymm2, 928(%rsp)
4461vmovdqa %ymm3, 960(%rsp)
4462vmovdqa %ymm9, 992(%rsp)
4463vmovdqa 4704(%r12), %ymm0
4464vpsubw 4768(%r12), %ymm0, %ymm0
4465vmovdqa 4960(%r12), %ymm1
4466vpsubw %ymm0, %ymm1, %ymm1
4467vpsubw 4832(%r12), %ymm1, %ymm1
4468vpsubw 4640(%r12), %ymm0, %ymm0
4469vpaddw 4896(%r12), %ymm0, %ymm0
4470vmovdqa 5088(%r12), %ymm2
4471vpsubw 5152(%r12), %ymm2, %ymm2
4472vmovdqa 5344(%r12), %ymm3
4473vpsubw %ymm2, %ymm3, %ymm3
4474vpsubw 5216(%r12), %ymm3, %ymm3
4475vpsubw 5024(%r12), %ymm2, %ymm2
4476vpaddw 5280(%r12), %ymm2, %ymm2
4477vmovdqa 5472(%r12), %ymm4
4478vpsubw 5536(%r12), %ymm4, %ymm4
4479vmovdqa 5728(%r12), %ymm5
4480vpsubw %ymm4, %ymm5, %ymm5
4481vpsubw 5600(%r12), %ymm5, %ymm5
4482vpsubw 5408(%r12), %ymm4, %ymm4
4483vpaddw 5664(%r12), %ymm4, %ymm4
4484vpsubw 5024(%r12), %ymm1, %ymm1
4485vpsubw %ymm1, %ymm5, %ymm5
4486vpsubw %ymm3, %ymm5, %ymm5
4487vpsubw 4640(%r12), %ymm1, %ymm1
4488vpaddw 5408(%r12), %ymm1, %ymm1
4489vmovdqa 4832(%r12), %ymm6
4490vpsubw %ymm2, %ymm6, %ymm7
4491vmovdqa 5600(%r12), %ymm2
4492vpsubw %ymm7, %ymm2, %ymm2
4493vpsubw 5216(%r12), %ymm2, %ymm2
4494vpsubw %ymm0, %ymm7, %ymm7
4495vpaddw %ymm4, %ymm7, %ymm7
4496vmovdqa 4640(%r12), %ymm8
4497vmovdqa 5216(%r12), %ymm9
4498vmovdqa %ymm8, 1024(%rsp)
4499vmovdqa %ymm0, 1056(%rsp)
4500vmovdqa %ymm1, 1088(%rsp)
4501vmovdqa %ymm7, 1120(%rsp)
4502vmovdqa %ymm5, 1152(%rsp)
4503vmovdqa %ymm2, 1184(%rsp)
4504vmovdqa %ymm3, 1216(%rsp)
4505vmovdqa %ymm9, 1248(%rsp)
4506vmovdqa 5856(%r12), %ymm0
4507vpsubw 5920(%r12), %ymm0, %ymm0
4508vmovdqa 6112(%r12), %ymm1
4509vpsubw %ymm0, %ymm1, %ymm1
4510vpsubw 5984(%r12), %ymm1, %ymm1
4511vpsubw 5792(%r12), %ymm0, %ymm0
4512vpaddw 6048(%r12), %ymm0, %ymm0
4513vmovdqa 6240(%r12), %ymm2
4514vpsubw 6304(%r12), %ymm2, %ymm2
4515vmovdqa 6496(%r12), %ymm3
4516vpsubw %ymm2, %ymm3, %ymm3
4517vpsubw 6368(%r12), %ymm3, %ymm3
4518vpsubw 6176(%r12), %ymm2, %ymm2
4519vpaddw 6432(%r12), %ymm2, %ymm2
4520vmovdqa 6624(%r12), %ymm4
4521vpsubw 6688(%r12), %ymm4, %ymm4
4522vmovdqa 6880(%r12), %ymm5
4523vpsubw %ymm4, %ymm5, %ymm5
4524vpsubw 6752(%r12), %ymm5, %ymm5
4525vpsubw 6560(%r12), %ymm4, %ymm4
4526vpaddw 6816(%r12), %ymm4, %ymm4
4527vpsubw 6176(%r12), %ymm1, %ymm1
4528vpsubw %ymm1, %ymm5, %ymm5
4529vpsubw %ymm3, %ymm5, %ymm5
4530vpsubw 5792(%r12), %ymm1, %ymm1
4531vpaddw 6560(%r12), %ymm1, %ymm1
4532vmovdqa 5984(%r12), %ymm6
4533vpsubw %ymm2, %ymm6, %ymm7
4534vmovdqa 6752(%r12), %ymm2
4535vpsubw %ymm7, %ymm2, %ymm2
4536vpsubw 6368(%r12), %ymm2, %ymm2
4537vpsubw %ymm0, %ymm7, %ymm7
4538vpaddw %ymm4, %ymm7, %ymm7
4539vmovdqa 5792(%r12), %ymm8
4540vmovdqa 6368(%r12), %ymm9
4541vmovdqa %ymm8, 1280(%rsp)
4542vmovdqa %ymm0, 1312(%rsp)
4543vmovdqa %ymm1, 1344(%rsp)
4544vmovdqa %ymm7, 1376(%rsp)
4545vmovdqa %ymm5, 1408(%rsp)
4546vmovdqa %ymm2, 1440(%rsp)
4547vmovdqa %ymm3, 1472(%rsp)
4548vmovdqa %ymm9, 1504(%rsp)
4549vmovdqa 7008(%r12), %ymm0
4550vpsubw 7072(%r12), %ymm0, %ymm0
4551vmovdqa 7264(%r12), %ymm1
4552vpsubw %ymm0, %ymm1, %ymm1
4553vpsubw 7136(%r12), %ymm1, %ymm1
4554vpsubw 6944(%r12), %ymm0, %ymm0
4555vpaddw 7200(%r12), %ymm0, %ymm0
4556vmovdqa 7392(%r12), %ymm2
4557vpsubw 7456(%r12), %ymm2, %ymm2
4558vmovdqa 7648(%r12), %ymm3
4559vpsubw %ymm2, %ymm3, %ymm3
4560vpsubw 7520(%r12), %ymm3, %ymm3
4561vpsubw 7328(%r12), %ymm2, %ymm2
4562vpaddw 7584(%r12), %ymm2, %ymm2
4563vmovdqa 7776(%r12), %ymm4
4564vpsubw 7840(%r12), %ymm4, %ymm4
4565vmovdqa 8032(%r12), %ymm5
4566vpsubw %ymm4, %ymm5, %ymm5
4567vpsubw 7904(%r12), %ymm5, %ymm5
4568vpsubw 7712(%r12), %ymm4, %ymm4
4569vpaddw 7968(%r12), %ymm4, %ymm4
4570vpsubw 7328(%r12), %ymm1, %ymm1
4571vpsubw %ymm1, %ymm5, %ymm5
4572vpsubw %ymm3, %ymm5, %ymm5
4573vpsubw 6944(%r12), %ymm1, %ymm1
4574vpaddw 7712(%r12), %ymm1, %ymm1
4575vmovdqa 7136(%r12), %ymm6
4576vpsubw %ymm2, %ymm6, %ymm7
4577vmovdqa 7904(%r12), %ymm2
4578vpsubw %ymm7, %ymm2, %ymm2
4579vpsubw 7520(%r12), %ymm2, %ymm2
4580vpsubw %ymm0, %ymm7, %ymm7
4581vpaddw %ymm4, %ymm7, %ymm7
4582vmovdqa 6944(%r12), %ymm8
4583vmovdqa 7520(%r12), %ymm9
4584vmovdqa %ymm8, 1536(%rsp)
4585vmovdqa %ymm0, 1568(%rsp)
4586vmovdqa %ymm1, 1600(%rsp)
4587vmovdqa %ymm7, 1632(%rsp)
4588vmovdqa %ymm5, 1664(%rsp)
4589vmovdqa %ymm2, 1696(%rsp)
4590vmovdqa %ymm3, 1728(%rsp)
4591vmovdqa %ymm9, 1760(%rsp)
4592vmovdqa 0(%rsp), %ymm11
4593vpunpcklwd const0(%rip), %ymm11, %ymm8
4594vpunpckhwd const0(%rip), %ymm11, %ymm3
4595vpslld $1, %ymm8, %ymm8
4596vpslld $1, %ymm3, %ymm3
4597vmovdqa 256(%rsp), %ymm4
4598vpunpcklwd const0(%rip), %ymm4, %ymm10
4599vpunpckhwd const0(%rip), %ymm4, %ymm4
4600vmovdqa 512(%rsp), %ymm6
4601vpunpcklwd const0(%rip), %ymm6, %ymm5
4602vpunpckhwd const0(%rip), %ymm6, %ymm6
4603vpaddd %ymm5, %ymm10, %ymm9
4604vpaddd %ymm6, %ymm4, %ymm2
4605vpsubd %ymm8, %ymm9, %ymm9
4606vpsubd %ymm3, %ymm2, %ymm2
4607vpsubd %ymm5, %ymm10, %ymm5
4608vpsubd %ymm6, %ymm4, %ymm6
4609vpsrld $1, %ymm5, %ymm5
4610vpsrld $1, %ymm6, %ymm6
4611vpand mask32_to_16(%rip), %ymm5, %ymm5
4612vpand mask32_to_16(%rip), %ymm6, %ymm6
4613vpackusdw %ymm6, %ymm5, %ymm6
4614vmovdqa 1536(%rsp), %ymm5
4615vpunpcklwd const0(%rip), %ymm5, %ymm4
4616vpunpckhwd const0(%rip), %ymm5, %ymm10
4617vpslld $1, %ymm4, %ymm4
4618vpslld $1, %ymm10, %ymm10
4619vpsubd %ymm4, %ymm9, %ymm9
4620vpsubd %ymm10, %ymm2, %ymm2
4621vpsrld $1, %ymm9, %ymm9
4622vpsrld $1, %ymm2, %ymm2
4623vpand mask32_to_16(%rip), %ymm9, %ymm9
4624vpand mask32_to_16(%rip), %ymm2, %ymm2
4625vpackusdw %ymm2, %ymm9, %ymm2
4626vmovdqa 768(%rsp), %ymm9
4627vpaddw 1024(%rsp), %ymm9, %ymm10
4628vpsubw 1024(%rsp), %ymm9, %ymm9
4629vpsrlw $2, %ymm9, %ymm9
4630vpsubw %ymm6, %ymm9, %ymm9
4631vpmullw %ymm14, %ymm9, %ymm9
4632vpsllw $1, %ymm11, %ymm4
4633vpsubw %ymm4, %ymm10, %ymm4
4634vpsllw $7, %ymm5, %ymm10
4635vpsubw %ymm10, %ymm4, %ymm10
4636vpsrlw $3, %ymm10, %ymm10
4637vpsubw %ymm2, %ymm10, %ymm10
4638vmovdqa 1280(%rsp), %ymm4
4639vpsubw %ymm11, %ymm4, %ymm4
4640vpmullw %ymm15, %ymm5, %ymm3
4641vpsubw %ymm3, %ymm4, %ymm3
4642vpmullw %ymm14, %ymm10, %ymm10
4643vpsubw %ymm10, %ymm2, %ymm2
4644vpmullw %ymm12, %ymm10, %ymm4
4645vpaddw %ymm4, %ymm2, %ymm4
4646vpmullw %ymm12, %ymm4, %ymm4
4647vpsubw %ymm4, %ymm3, %ymm4
4648vpmullw %ymm14, %ymm4, %ymm4
4649vpsubw %ymm6, %ymm4, %ymm4
4650vpsrlw $3, %ymm4, %ymm4
4651vpsubw %ymm9, %ymm4, %ymm4
4652vpsubw %ymm4, %ymm9, %ymm9
4653vpsubw %ymm9, %ymm6, %ymm6
4654vpmullw %ymm13, %ymm4, %ymm4
4655vpsubw %ymm4, %ymm6, %ymm6
4656vpshufb shuf48_16(%rip), %ymm10, %ymm10
4657vpand mask3_5_3_5(%rip), %ymm10, %ymm3
4658vpand mask5_3_5_3(%rip), %ymm10, %ymm10
4659vpermq $206, %ymm3, %ymm3
4660vpand mask_keephigh(%rip), %ymm3, %ymm8
4661vpor %ymm8, %ymm10, %ymm10
4662vpaddw 2048(%rsp), %ymm11, %ymm11
4663vpaddw %ymm10, %ymm11, %ymm11
4664vmovdqa %xmm3, 2048(%rsp)
4665vpshufb shuf48_16(%rip), %ymm4, %ymm4
4666vpand mask3_5_3_5(%rip), %ymm4, %ymm3
4667vpand mask5_3_5_3(%rip), %ymm4, %ymm4
4668vpermq $206, %ymm3, %ymm3
4669vpand mask_keephigh(%rip), %ymm3, %ymm8
4670vpor %ymm8, %ymm4, %ymm4
4671vpaddw 2304(%rsp), %ymm6, %ymm6
4672vpaddw %ymm4, %ymm6, %ymm6
4673vmovdqa %xmm3, 2304(%rsp)
4674vpshufb shuf48_16(%rip), %ymm5, %ymm5
4675vpand mask3_5_3_5(%rip), %ymm5, %ymm3
4676vpand mask5_3_5_3(%rip), %ymm5, %ymm5
4677vpermq $206, %ymm3, %ymm3
4678vpand mask_keephigh(%rip), %ymm3, %ymm8
4679vpor %ymm8, %ymm5, %ymm5
4680vpaddw 2560(%rsp), %ymm2, %ymm2
4681vpaddw %ymm5, %ymm2, %ymm2
4682vmovdqa %xmm3, 2560(%rsp)
4683vmovdqa %ymm11, 32(%rdi)
4684vmovdqa %ymm6, 288(%rdi)
4685vmovdqa %ymm2, 544(%rdi)
4686vmovdqa %ymm9, 800(%rdi)
4687vmovdqa 32(%rsp), %ymm5
4688vpunpcklwd const0(%rip), %ymm5, %ymm4
4689vpunpckhwd const0(%rip), %ymm5, %ymm10
4690vpslld $1, %ymm4, %ymm4
4691vpslld $1, %ymm10, %ymm10
4692vmovdqa 288(%rsp), %ymm9
4693vpunpcklwd const0(%rip), %ymm9, %ymm2
4694vpunpckhwd const0(%rip), %ymm9, %ymm9
4695vmovdqa 544(%rsp), %ymm6
4696vpunpcklwd const0(%rip), %ymm6, %ymm11
4697vpunpckhwd const0(%rip), %ymm6, %ymm6
4698vpaddd %ymm11, %ymm2, %ymm3
4699vpaddd %ymm6, %ymm9, %ymm8
4700vpsubd %ymm4, %ymm3, %ymm3
4701vpsubd %ymm10, %ymm8, %ymm8
4702vpsubd %ymm11, %ymm2, %ymm11
4703vpsubd %ymm6, %ymm9, %ymm6
4704vpsrld $1, %ymm11, %ymm11
4705vpsrld $1, %ymm6, %ymm6
4706vpand mask32_to_16(%rip), %ymm11, %ymm11
4707vpand mask32_to_16(%rip), %ymm6, %ymm6
4708vpackusdw %ymm6, %ymm11, %ymm6
4709vmovdqa 1568(%rsp), %ymm11
4710vpunpcklwd const0(%rip), %ymm11, %ymm9
4711vpunpckhwd const0(%rip), %ymm11, %ymm2
4712vpslld $1, %ymm9, %ymm9
4713vpslld $1, %ymm2, %ymm2
4714vpsubd %ymm9, %ymm3, %ymm3
4715vpsubd %ymm2, %ymm8, %ymm8
4716vpsrld $1, %ymm3, %ymm3
4717vpsrld $1, %ymm8, %ymm8
4718vpand mask32_to_16(%rip), %ymm3, %ymm3
4719vpand mask32_to_16(%rip), %ymm8, %ymm8
4720vpackusdw %ymm8, %ymm3, %ymm8
4721vmovdqa 800(%rsp), %ymm3
4722vpaddw 1056(%rsp), %ymm3, %ymm2
4723vpsubw 1056(%rsp), %ymm3, %ymm3
4724vpsrlw $2, %ymm3, %ymm3
4725vpsubw %ymm6, %ymm3, %ymm3
4726vpmullw %ymm14, %ymm3, %ymm3
4727vpsllw $1, %ymm5, %ymm9
4728vpsubw %ymm9, %ymm2, %ymm9
4729vpsllw $7, %ymm11, %ymm2
4730vpsubw %ymm2, %ymm9, %ymm2
4731vpsrlw $3, %ymm2, %ymm2
4732vpsubw %ymm8, %ymm2, %ymm2
4733vmovdqa 1312(%rsp), %ymm9
4734vpsubw %ymm5, %ymm9, %ymm9
4735vpmullw %ymm15, %ymm11, %ymm10
4736vpsubw %ymm10, %ymm9, %ymm10
4737vpmullw %ymm14, %ymm2, %ymm2
4738vpsubw %ymm2, %ymm8, %ymm8
4739vpmullw %ymm12, %ymm2, %ymm9
4740vpaddw %ymm9, %ymm8, %ymm9
4741vpmullw %ymm12, %ymm9, %ymm9
4742vpsubw %ymm9, %ymm10, %ymm9
4743vpmullw %ymm14, %ymm9, %ymm9
4744vpsubw %ymm6, %ymm9, %ymm9
4745vpsrlw $3, %ymm9, %ymm9
4746vpsubw %ymm3, %ymm9, %ymm9
4747vpsubw %ymm9, %ymm3, %ymm3
4748vpsubw %ymm3, %ymm6, %ymm6
4749vpmullw %ymm13, %ymm9, %ymm9
4750vpsubw %ymm9, %ymm6, %ymm6
4751vpshufb shuf48_16(%rip), %ymm2, %ymm2
4752vpand mask3_5_3_5(%rip), %ymm2, %ymm10
4753vpand mask5_3_5_3(%rip), %ymm2, %ymm2
4754vpermq $206, %ymm10, %ymm10
4755vpand mask_keephigh(%rip), %ymm10, %ymm4
4756vpor %ymm4, %ymm2, %ymm2
4757vpaddw 2080(%rsp), %ymm5, %ymm5
4758vpaddw %ymm2, %ymm5, %ymm5
4759vmovdqa %xmm10, 2080(%rsp)
4760vpshufb shuf48_16(%rip), %ymm9, %ymm9
4761vpand mask3_5_3_5(%rip), %ymm9, %ymm10
4762vpand mask5_3_5_3(%rip), %ymm9, %ymm9
4763vpermq $206, %ymm10, %ymm10
4764vpand mask_keephigh(%rip), %ymm10, %ymm4
4765vpor %ymm4, %ymm9, %ymm9
4766vpaddw 2336(%rsp), %ymm6, %ymm6
4767vpaddw %ymm9, %ymm6, %ymm6
4768vmovdqa %xmm10, 2336(%rsp)
4769vpshufb shuf48_16(%rip), %ymm11, %ymm11
4770vpand mask3_5_3_5(%rip), %ymm11, %ymm10
4771vpand mask5_3_5_3(%rip), %ymm11, %ymm11
4772vpermq $206, %ymm10, %ymm10
4773vpand mask_keephigh(%rip), %ymm10, %ymm4
4774vpor %ymm4, %ymm11, %ymm11
4775vpaddw 2592(%rsp), %ymm8, %ymm8
4776vpaddw %ymm11, %ymm8, %ymm8
4777vmovdqa %xmm10, 2592(%rsp)
4778vmovdqa %ymm5, 96(%rdi)
4779vmovdqa %ymm6, 352(%rdi)
4780vmovdqa %ymm8, 608(%rdi)
4781vmovdqa %ymm3, 864(%rdi)
4782vmovdqa 64(%rsp), %ymm11
4783vpunpcklwd const0(%rip), %ymm11, %ymm9
4784vpunpckhwd const0(%rip), %ymm11, %ymm2
4785vpslld $1, %ymm9, %ymm9
4786vpslld $1, %ymm2, %ymm2
4787vmovdqa 320(%rsp), %ymm3
4788vpunpcklwd const0(%rip), %ymm3, %ymm8
4789vpunpckhwd const0(%rip), %ymm3, %ymm3
4790vmovdqa 576(%rsp), %ymm6
4791vpunpcklwd const0(%rip), %ymm6, %ymm5
4792vpunpckhwd const0(%rip), %ymm6, %ymm6
4793vpaddd %ymm5, %ymm8, %ymm10
4794vpaddd %ymm6, %ymm3, %ymm4
4795vpsubd %ymm9, %ymm10, %ymm10
4796vpsubd %ymm2, %ymm4, %ymm4
4797vpsubd %ymm5, %ymm8, %ymm5
4798vpsubd %ymm6, %ymm3, %ymm6
4799vpsrld $1, %ymm5, %ymm5
4800vpsrld $1, %ymm6, %ymm6
4801vpand mask32_to_16(%rip), %ymm5, %ymm5
4802vpand mask32_to_16(%rip), %ymm6, %ymm6
4803vpackusdw %ymm6, %ymm5, %ymm6
4804vmovdqa 1600(%rsp), %ymm5
4805vpunpcklwd const0(%rip), %ymm5, %ymm3
4806vpunpckhwd const0(%rip), %ymm5, %ymm8
4807vpslld $1, %ymm3, %ymm3
4808vpslld $1, %ymm8, %ymm8
4809vpsubd %ymm3, %ymm10, %ymm10
4810vpsubd %ymm8, %ymm4, %ymm4
4811vpsrld $1, %ymm10, %ymm10
4812vpsrld $1, %ymm4, %ymm4
4813vpand mask32_to_16(%rip), %ymm10, %ymm10
4814vpand mask32_to_16(%rip), %ymm4, %ymm4
4815vpackusdw %ymm4, %ymm10, %ymm4
4816vmovdqa 832(%rsp), %ymm10
4817vpaddw 1088(%rsp), %ymm10, %ymm8
4818vpsubw 1088(%rsp), %ymm10, %ymm10
4819vpsrlw $2, %ymm10, %ymm10
4820vpsubw %ymm6, %ymm10, %ymm10
4821vpmullw %ymm14, %ymm10, %ymm10
4822vpsllw $1, %ymm11, %ymm3
4823vpsubw %ymm3, %ymm8, %ymm3
4824vpsllw $7, %ymm5, %ymm8
4825vpsubw %ymm8, %ymm3, %ymm8
4826vpsrlw $3, %ymm8, %ymm8
4827vpsubw %ymm4, %ymm8, %ymm8
4828vmovdqa 1344(%rsp), %ymm3
4829vpsubw %ymm11, %ymm3, %ymm3
4830vpmullw %ymm15, %ymm5, %ymm2
4831vpsubw %ymm2, %ymm3, %ymm2
4832vpmullw %ymm14, %ymm8, %ymm8
4833vpsubw %ymm8, %ymm4, %ymm4
4834vpmullw %ymm12, %ymm8, %ymm3
4835vpaddw %ymm3, %ymm4, %ymm3
4836vpmullw %ymm12, %ymm3, %ymm3
4837vpsubw %ymm3, %ymm2, %ymm3
4838vpmullw %ymm14, %ymm3, %ymm3
4839vpsubw %ymm6, %ymm3, %ymm3
4840vpsrlw $3, %ymm3, %ymm3
4841vpsubw %ymm10, %ymm3, %ymm3
4842vpsubw %ymm3, %ymm10, %ymm10
4843vpsubw %ymm10, %ymm6, %ymm6
4844vpmullw %ymm13, %ymm3, %ymm3
4845vpsubw %ymm3, %ymm6, %ymm6
4846vpshufb shuf48_16(%rip), %ymm8, %ymm8
4847vpand mask3_5_3_5(%rip), %ymm8, %ymm2
4848vpand mask5_3_5_3(%rip), %ymm8, %ymm8
4849vpermq $206, %ymm2, %ymm2
4850vpand mask_keephigh(%rip), %ymm2, %ymm9
4851vpor %ymm9, %ymm8, %ymm8
4852vpaddw 2112(%rsp), %ymm11, %ymm11
4853vpaddw %ymm8, %ymm11, %ymm11
4854vmovdqa %xmm2, 2112(%rsp)
4855vpshufb shuf48_16(%rip), %ymm3, %ymm3
4856vpand mask3_5_3_5(%rip), %ymm3, %ymm2
4857vpand mask5_3_5_3(%rip), %ymm3, %ymm3
4858vpermq $206, %ymm2, %ymm2
4859vpand mask_keephigh(%rip), %ymm2, %ymm9
4860vpor %ymm9, %ymm3, %ymm3
4861vpaddw 2368(%rsp), %ymm6, %ymm6
4862vpaddw %ymm3, %ymm6, %ymm6
4863vmovdqa %xmm2, 2368(%rsp)
4864vpshufb shuf48_16(%rip), %ymm5, %ymm5
4865vpand mask3_5_3_5(%rip), %ymm5, %ymm2
4866vpand mask5_3_5_3(%rip), %ymm5, %ymm5
4867vpermq $206, %ymm2, %ymm2
4868vpand mask_keephigh(%rip), %ymm2, %ymm9
4869vpor %ymm9, %ymm5, %ymm5
4870vpaddw 2624(%rsp), %ymm4, %ymm4
4871vpaddw %ymm5, %ymm4, %ymm4
4872vmovdqa %xmm2, 2624(%rsp)
4873vmovdqa %ymm11, 160(%rdi)
4874vmovdqa %ymm6, 416(%rdi)
4875vmovdqa %ymm4, 672(%rdi)
4876vmovdqa %ymm10, 928(%rdi)
4877vmovdqa 96(%rsp), %ymm5
4878vpunpcklwd const0(%rip), %ymm5, %ymm3
4879vpunpckhwd const0(%rip), %ymm5, %ymm8
4880vpslld $1, %ymm3, %ymm3
4881vpslld $1, %ymm8, %ymm8
4882vmovdqa 352(%rsp), %ymm10
4883vpunpcklwd const0(%rip), %ymm10, %ymm4
4884vpunpckhwd const0(%rip), %ymm10, %ymm10
4885vmovdqa 608(%rsp), %ymm6
4886vpunpcklwd const0(%rip), %ymm6, %ymm11
4887vpunpckhwd const0(%rip), %ymm6, %ymm6
4888vpaddd %ymm11, %ymm4, %ymm2
4889vpaddd %ymm6, %ymm10, %ymm9
4890vpsubd %ymm3, %ymm2, %ymm2
4891vpsubd %ymm8, %ymm9, %ymm9
4892vpsubd %ymm11, %ymm4, %ymm11
4893vpsubd %ymm6, %ymm10, %ymm6
4894vpsrld $1, %ymm11, %ymm11
4895vpsrld $1, %ymm6, %ymm6
4896vpand mask32_to_16(%rip), %ymm11, %ymm11
4897vpand mask32_to_16(%rip), %ymm6, %ymm6
4898vpackusdw %ymm6, %ymm11, %ymm6
4899vmovdqa 1632(%rsp), %ymm11
4900vpunpcklwd const0(%rip), %ymm11, %ymm10
4901vpunpckhwd const0(%rip), %ymm11, %ymm4
4902vpslld $1, %ymm10, %ymm10
4903vpslld $1, %ymm4, %ymm4
4904vpsubd %ymm10, %ymm2, %ymm2
4905vpsubd %ymm4, %ymm9, %ymm9
4906vpsrld $1, %ymm2, %ymm2
4907vpsrld $1, %ymm9, %ymm9
4908vpand mask32_to_16(%rip), %ymm2, %ymm2
4909vpand mask32_to_16(%rip), %ymm9, %ymm9
4910vpackusdw %ymm9, %ymm2, %ymm9
4911vmovdqa 864(%rsp), %ymm2
4912vpaddw 1120(%rsp), %ymm2, %ymm4
4913vpsubw 1120(%rsp), %ymm2, %ymm2
4914vpsrlw $2, %ymm2, %ymm2
4915vpsubw %ymm6, %ymm2, %ymm2
4916vpmullw %ymm14, %ymm2, %ymm2
4917vpsllw $1, %ymm5, %ymm10
4918vpsubw %ymm10, %ymm4, %ymm10
4919vpsllw $7, %ymm11, %ymm4
4920vpsubw %ymm4, %ymm10, %ymm4
4921vpsrlw $3, %ymm4, %ymm4
4922vpsubw %ymm9, %ymm4, %ymm4
4923vmovdqa 1376(%rsp), %ymm10
4924vpsubw %ymm5, %ymm10, %ymm10
4925vpmullw %ymm15, %ymm11, %ymm8
4926vpsubw %ymm8, %ymm10, %ymm8
4927vpmullw %ymm14, %ymm4, %ymm4
4928vpsubw %ymm4, %ymm9, %ymm9
4929vpmullw %ymm12, %ymm4, %ymm10
4930vpaddw %ymm10, %ymm9, %ymm10
4931vpmullw %ymm12, %ymm10, %ymm10
4932vpsubw %ymm10, %ymm8, %ymm10
4933vpmullw %ymm14, %ymm10, %ymm10
4934vpsubw %ymm6, %ymm10, %ymm10
4935vpsrlw $3, %ymm10, %ymm10
4936vpsubw %ymm2, %ymm10, %ymm10
4937vpsubw %ymm10, %ymm2, %ymm2
4938vpsubw %ymm2, %ymm6, %ymm6
4939vpmullw %ymm13, %ymm10, %ymm10
4940vpsubw %ymm10, %ymm6, %ymm6
4941vpshufb shuf48_16(%rip), %ymm4, %ymm4
4942vpand mask3_5_3_5(%rip), %ymm4, %ymm8
4943vpand mask5_3_5_3(%rip), %ymm4, %ymm4
4944vpermq $206, %ymm8, %ymm8
4945vpand mask_keephigh(%rip), %ymm8, %ymm3
4946vpor %ymm3, %ymm4, %ymm4
4947vpaddw 2144(%rsp), %ymm5, %ymm5
4948vpaddw %ymm4, %ymm5, %ymm5
4949vmovdqa %xmm8, 2144(%rsp)
4950vpshufb shuf48_16(%rip), %ymm10, %ymm10
4951vpand mask3_5_3_5(%rip), %ymm10, %ymm8
4952vpand mask5_3_5_3(%rip), %ymm10, %ymm10
4953vpermq $206, %ymm8, %ymm8
4954vpand mask_keephigh(%rip), %ymm8, %ymm3
4955vpor %ymm3, %ymm10, %ymm10
4956vpaddw 2400(%rsp), %ymm6, %ymm6
4957vpaddw %ymm10, %ymm6, %ymm6
4958vmovdqa %xmm8, 2400(%rsp)
4959vpshufb shuf48_16(%rip), %ymm11, %ymm11
4960vpand mask3_5_3_5(%rip), %ymm11, %ymm8
4961vpand mask5_3_5_3(%rip), %ymm11, %ymm11
4962vpermq $206, %ymm8, %ymm8
4963vpand mask_keephigh(%rip), %ymm8, %ymm3
4964vpor %ymm3, %ymm11, %ymm11
4965vpaddw 2656(%rsp), %ymm9, %ymm9
4966vpaddw %ymm11, %ymm9, %ymm9
4967vmovdqa %xmm8, 2656(%rsp)
4968vmovdqa %ymm5, 224(%rdi)
4969vextracti128 $1, %ymm5, %xmm5
4970vpshufb shufmin5_mask3(%rip), %ymm5, %ymm5
4971vmovdqa %xmm5, 1792(%rsp)
4972vmovdqa %ymm6, 480(%rdi)
4973vextracti128 $1, %ymm6, %xmm6
4974vpshufb shufmin5_mask3(%rip), %ymm6, %ymm6
4975vmovdqa %xmm6, 1824(%rsp)
4976vmovdqa %ymm9, 736(%rdi)
4977vextracti128 $1, %ymm9, %xmm9
4978vpshufb shufmin5_mask3(%rip), %ymm9, %ymm9
4979vmovdqa %xmm9, 1856(%rsp)
4980vmovdqa %ymm2, 992(%rdi)
4981vextracti128 $1, %ymm2, %xmm2
4982vpshufb shufmin5_mask3(%rip), %ymm2, %ymm2
4983vmovdqa %xmm2, 1888(%rsp)
4984vmovdqa 128(%rsp), %ymm11
4985vpunpcklwd const0(%rip), %ymm11, %ymm10
4986vpunpckhwd const0(%rip), %ymm11, %ymm4
4987vpslld $1, %ymm10, %ymm10
4988vpslld $1, %ymm4, %ymm4
4989vmovdqa 384(%rsp), %ymm2
4990vpunpcklwd const0(%rip), %ymm2, %ymm9
4991vpunpckhwd const0(%rip), %ymm2, %ymm2
4992vmovdqa 640(%rsp), %ymm6
4993vpunpcklwd const0(%rip), %ymm6, %ymm5
4994vpunpckhwd const0(%rip), %ymm6, %ymm6
4995vpaddd %ymm5, %ymm9, %ymm8
4996vpaddd %ymm6, %ymm2, %ymm3
4997vpsubd %ymm10, %ymm8, %ymm8
4998vpsubd %ymm4, %ymm3, %ymm3
4999vpsubd %ymm5, %ymm9, %ymm5
5000vpsubd %ymm6, %ymm2, %ymm6
5001vpsrld $1, %ymm5, %ymm5
5002vpsrld $1, %ymm6, %ymm6
5003vpand mask32_to_16(%rip), %ymm5, %ymm5
5004vpand mask32_to_16(%rip), %ymm6, %ymm6
5005vpackusdw %ymm6, %ymm5, %ymm6
5006vmovdqa 1664(%rsp), %ymm5
5007vpunpcklwd const0(%rip), %ymm5, %ymm2
5008vpunpckhwd const0(%rip), %ymm5, %ymm9
5009vpslld $1, %ymm2, %ymm2
5010vpslld $1, %ymm9, %ymm9
5011vpsubd %ymm2, %ymm8, %ymm8
5012vpsubd %ymm9, %ymm3, %ymm3
5013vpsrld $1, %ymm8, %ymm8
5014vpsrld $1, %ymm3, %ymm3
5015vpand mask32_to_16(%rip), %ymm8, %ymm8
5016vpand mask32_to_16(%rip), %ymm3, %ymm3
5017vpackusdw %ymm3, %ymm8, %ymm3
5018vmovdqa 896(%rsp), %ymm8
5019vpaddw 1152(%rsp), %ymm8, %ymm9
5020vpsubw 1152(%rsp), %ymm8, %ymm8
5021vpsrlw $2, %ymm8, %ymm8
5022vpsubw %ymm6, %ymm8, %ymm8
5023vpmullw %ymm14, %ymm8, %ymm8
5024vpsllw $1, %ymm11, %ymm2
5025vpsubw %ymm2, %ymm9, %ymm2
5026vpsllw $7, %ymm5, %ymm9
5027vpsubw %ymm9, %ymm2, %ymm9
5028vpsrlw $3, %ymm9, %ymm9
5029vpsubw %ymm3, %ymm9, %ymm9
5030vmovdqa 1408(%rsp), %ymm2
5031vpsubw %ymm11, %ymm2, %ymm2
5032vpmullw %ymm15, %ymm5, %ymm4
5033vpsubw %ymm4, %ymm2, %ymm4
5034vpmullw %ymm14, %ymm9, %ymm9
5035vpsubw %ymm9, %ymm3, %ymm3
5036vpmullw %ymm12, %ymm9, %ymm2
5037vpaddw %ymm2, %ymm3, %ymm2
5038vpmullw %ymm12, %ymm2, %ymm2
5039vpsubw %ymm2, %ymm4, %ymm2
5040vpmullw %ymm14, %ymm2, %ymm2
5041vpsubw %ymm6, %ymm2, %ymm2
5042vpsrlw $3, %ymm2, %ymm2
5043vpsubw %ymm8, %ymm2, %ymm2
5044vpsubw %ymm2, %ymm8, %ymm8
5045vpsubw %ymm8, %ymm6, %ymm6
5046vpmullw %ymm13, %ymm2, %ymm2
5047vpsubw %ymm2, %ymm6, %ymm6
5048vmovdqa 288(%rdi), %ymm4
5049vmovdqa 544(%rdi), %ymm10
5050vmovdqa 800(%rdi), %ymm7
5051vpaddw %ymm11, %ymm4, %ymm11
5052vpaddw %ymm6, %ymm10, %ymm6
5053vpaddw %ymm3, %ymm7, %ymm3
5054vpshufb shuf48_16(%rip), %ymm8, %ymm8
5055vpand mask3_5_3_5(%rip), %ymm8, %ymm7
5056vpand mask5_3_5_3(%rip), %ymm8, %ymm8
5057vpermq $206, %ymm7, %ymm7
5058vpand mask_keephigh(%rip), %ymm7, %ymm10
5059vpor %ymm10, %ymm8, %ymm8
5060vmovdqa 32(%rdi), %ymm10
5061vpaddw 1920(%rsp), %ymm10, %ymm10
5062vpaddw %ymm8, %ymm10, %ymm10
5063vmovdqa %ymm10, 32(%rdi)
5064vmovdqa %xmm7, 1920(%rsp)
5065vpshufb shuf48_16(%rip), %ymm9, %ymm9
5066vpand mask3_5_3_5(%rip), %ymm9, %ymm7
5067vpand mask5_3_5_3(%rip), %ymm9, %ymm9
5068vpermq $206, %ymm7, %ymm7
5069vpand mask_keephigh(%rip), %ymm7, %ymm10
5070vpor %ymm10, %ymm9, %ymm9
5071vpaddw 2176(%rsp), %ymm11, %ymm11
5072vpaddw %ymm9, %ymm11, %ymm11
5073vmovdqa %xmm7, 2176(%rsp)
5074vpshufb shuf48_16(%rip), %ymm2, %ymm2
5075vpand mask3_5_3_5(%rip), %ymm2, %ymm7
5076vpand mask5_3_5_3(%rip), %ymm2, %ymm2
5077vpermq $206, %ymm7, %ymm7
5078vpand mask_keephigh(%rip), %ymm7, %ymm10
5079vpor %ymm10, %ymm2, %ymm2
5080vpaddw 2432(%rsp), %ymm6, %ymm6
5081vpaddw %ymm2, %ymm6, %ymm6
5082vmovdqa %xmm7, 2432(%rsp)
5083vpshufb shuf48_16(%rip), %ymm5, %ymm5
5084vpand mask3_5_3_5(%rip), %ymm5, %ymm7
5085vpand mask5_3_5_3(%rip), %ymm5, %ymm5
5086vpermq $206, %ymm7, %ymm7
5087vpand mask_keephigh(%rip), %ymm7, %ymm10
5088vpor %ymm10, %ymm5, %ymm5
5089vpaddw 2688(%rsp), %ymm3, %ymm3
5090vpaddw %ymm5, %ymm3, %ymm3
5091vmovdqa %xmm7, 2688(%rsp)
5092vmovdqa %ymm11, 288(%rdi)
5093vmovdqa %ymm6, 544(%rdi)
5094vmovdqa %ymm3, 800(%rdi)
5095vmovdqa 160(%rsp), %ymm5
5096vpunpcklwd const0(%rip), %ymm5, %ymm2
5097vpunpckhwd const0(%rip), %ymm5, %ymm9
5098vpslld $1, %ymm2, %ymm2
5099vpslld $1, %ymm9, %ymm9
5100vmovdqa 416(%rsp), %ymm8
5101vpunpcklwd const0(%rip), %ymm8, %ymm3
5102vpunpckhwd const0(%rip), %ymm8, %ymm8
5103vmovdqa 672(%rsp), %ymm6
5104vpunpcklwd const0(%rip), %ymm6, %ymm11
5105vpunpckhwd const0(%rip), %ymm6, %ymm6
5106vpaddd %ymm11, %ymm3, %ymm7
5107vpaddd %ymm6, %ymm8, %ymm10
5108vpsubd %ymm2, %ymm7, %ymm7
5109vpsubd %ymm9, %ymm10, %ymm10
5110vpsubd %ymm11, %ymm3, %ymm11
5111vpsubd %ymm6, %ymm8, %ymm6
5112vpsrld $1, %ymm11, %ymm11
5113vpsrld $1, %ymm6, %ymm6
5114vpand mask32_to_16(%rip), %ymm11, %ymm11
5115vpand mask32_to_16(%rip), %ymm6, %ymm6
5116vpackusdw %ymm6, %ymm11, %ymm6
5117vmovdqa 1696(%rsp), %ymm11
5118vpunpcklwd const0(%rip), %ymm11, %ymm8
5119vpunpckhwd const0(%rip), %ymm11, %ymm3
5120vpslld $1, %ymm8, %ymm8
5121vpslld $1, %ymm3, %ymm3
5122vpsubd %ymm8, %ymm7, %ymm7
5123vpsubd %ymm3, %ymm10, %ymm10
5124vpsrld $1, %ymm7, %ymm7
5125vpsrld $1, %ymm10, %ymm10
5126vpand mask32_to_16(%rip), %ymm7, %ymm7
5127vpand mask32_to_16(%rip), %ymm10, %ymm10
5128vpackusdw %ymm10, %ymm7, %ymm10
5129vmovdqa 928(%rsp), %ymm7
5130vpaddw 1184(%rsp), %ymm7, %ymm3
5131vpsubw 1184(%rsp), %ymm7, %ymm7
5132vpsrlw $2, %ymm7, %ymm7
5133vpsubw %ymm6, %ymm7, %ymm7
5134vpmullw %ymm14, %ymm7, %ymm7
5135vpsllw $1, %ymm5, %ymm8
5136vpsubw %ymm8, %ymm3, %ymm8
5137vpsllw $7, %ymm11, %ymm3
5138vpsubw %ymm3, %ymm8, %ymm3
5139vpsrlw $3, %ymm3, %ymm3
5140vpsubw %ymm10, %ymm3, %ymm3
5141vmovdqa 1440(%rsp), %ymm8
5142vpsubw %ymm5, %ymm8, %ymm8
5143vpmullw %ymm15, %ymm11, %ymm9
5144vpsubw %ymm9, %ymm8, %ymm9
5145vpmullw %ymm14, %ymm3, %ymm3
5146vpsubw %ymm3, %ymm10, %ymm10
5147vpmullw %ymm12, %ymm3, %ymm8
5148vpaddw %ymm8, %ymm10, %ymm8
5149vpmullw %ymm12, %ymm8, %ymm8
5150vpsubw %ymm8, %ymm9, %ymm8
5151vpmullw %ymm14, %ymm8, %ymm8
5152vpsubw %ymm6, %ymm8, %ymm8
5153vpsrlw $3, %ymm8, %ymm8
5154vpsubw %ymm7, %ymm8, %ymm8
5155vpsubw %ymm8, %ymm7, %ymm7
5156vpsubw %ymm7, %ymm6, %ymm6
5157vpmullw %ymm13, %ymm8, %ymm8
5158vpsubw %ymm8, %ymm6, %ymm6
5159vmovdqa 352(%rdi), %ymm9
5160vmovdqa 608(%rdi), %ymm2
5161vmovdqa 864(%rdi), %ymm4
5162vpaddw %ymm5, %ymm9, %ymm5
5163vpaddw %ymm6, %ymm2, %ymm6
5164vpaddw %ymm10, %ymm4, %ymm10
5165vpshufb shuf48_16(%rip), %ymm7, %ymm7
5166vpand mask3_5_3_5(%rip), %ymm7, %ymm4
5167vpand mask5_3_5_3(%rip), %ymm7, %ymm7
5168vpermq $206, %ymm4, %ymm4
5169vpand mask_keephigh(%rip), %ymm4, %ymm2
5170vpor %ymm2, %ymm7, %ymm7
5171vmovdqa 96(%rdi), %ymm2
5172vpaddw 1952(%rsp), %ymm2, %ymm2
5173vpaddw %ymm7, %ymm2, %ymm2
5174vmovdqa %ymm2, 96(%rdi)
5175vmovdqa %xmm4, 1952(%rsp)
5176vpshufb shuf48_16(%rip), %ymm3, %ymm3
5177vpand mask3_5_3_5(%rip), %ymm3, %ymm4
5178vpand mask5_3_5_3(%rip), %ymm3, %ymm3
5179vpermq $206, %ymm4, %ymm4
5180vpand mask_keephigh(%rip), %ymm4, %ymm2
5181vpor %ymm2, %ymm3, %ymm3
5182vpaddw 2208(%rsp), %ymm5, %ymm5
5183vpaddw %ymm3, %ymm5, %ymm5
5184vmovdqa %xmm4, 2208(%rsp)
5185vpshufb shuf48_16(%rip), %ymm8, %ymm8
5186vpand mask3_5_3_5(%rip), %ymm8, %ymm4
5187vpand mask5_3_5_3(%rip), %ymm8, %ymm8
5188vpermq $206, %ymm4, %ymm4
5189vpand mask_keephigh(%rip), %ymm4, %ymm2
5190vpor %ymm2, %ymm8, %ymm8
5191vpaddw 2464(%rsp), %ymm6, %ymm6
5192vpaddw %ymm8, %ymm6, %ymm6
5193vmovdqa %xmm4, 2464(%rsp)
5194vpshufb shuf48_16(%rip), %ymm11, %ymm11
5195vpand mask3_5_3_5(%rip), %ymm11, %ymm4
5196vpand mask5_3_5_3(%rip), %ymm11, %ymm11
5197vpermq $206, %ymm4, %ymm4
5198vpand mask_keephigh(%rip), %ymm4, %ymm2
5199vpor %ymm2, %ymm11, %ymm11
5200vpaddw 2720(%rsp), %ymm10, %ymm10
5201vpaddw %ymm11, %ymm10, %ymm10
5202vmovdqa %xmm4, 2720(%rsp)
5203vmovdqa %ymm5, 352(%rdi)
5204vmovdqa %ymm6, 608(%rdi)
5205vmovdqa %ymm10, 864(%rdi)
5206vmovdqa 192(%rsp), %ymm11
5207vpunpcklwd const0(%rip), %ymm11, %ymm8
5208vpunpckhwd const0(%rip), %ymm11, %ymm3
5209vpslld $1, %ymm8, %ymm8
5210vpslld $1, %ymm3, %ymm3
5211vmovdqa 448(%rsp), %ymm7
5212vpunpcklwd const0(%rip), %ymm7, %ymm10
5213vpunpckhwd const0(%rip), %ymm7, %ymm7
5214vmovdqa 704(%rsp), %ymm6
5215vpunpcklwd const0(%rip), %ymm6, %ymm5
5216vpunpckhwd const0(%rip), %ymm6, %ymm6
5217vpaddd %ymm5, %ymm10, %ymm4
5218vpaddd %ymm6, %ymm7, %ymm2
5219vpsubd %ymm8, %ymm4, %ymm4
5220vpsubd %ymm3, %ymm2, %ymm2
5221vpsubd %ymm5, %ymm10, %ymm5
5222vpsubd %ymm6, %ymm7, %ymm6
5223vpsrld $1, %ymm5, %ymm5
5224vpsrld $1, %ymm6, %ymm6
5225vpand mask32_to_16(%rip), %ymm5, %ymm5
5226vpand mask32_to_16(%rip), %ymm6, %ymm6
5227vpackusdw %ymm6, %ymm5, %ymm6
5228vmovdqa 1728(%rsp), %ymm5
5229vpunpcklwd const0(%rip), %ymm5, %ymm7
5230vpunpckhwd const0(%rip), %ymm5, %ymm10
5231vpslld $1, %ymm7, %ymm7
5232vpslld $1, %ymm10, %ymm10
5233vpsubd %ymm7, %ymm4, %ymm4
5234vpsubd %ymm10, %ymm2, %ymm2
5235vpsrld $1, %ymm4, %ymm4
5236vpsrld $1, %ymm2, %ymm2
5237vpand mask32_to_16(%rip), %ymm4, %ymm4
5238vpand mask32_to_16(%rip), %ymm2, %ymm2
5239vpackusdw %ymm2, %ymm4, %ymm2
5240vmovdqa 960(%rsp), %ymm4
5241vpaddw 1216(%rsp), %ymm4, %ymm10
5242vpsubw 1216(%rsp), %ymm4, %ymm4
5243vpsrlw $2, %ymm4, %ymm4
5244vpsubw %ymm6, %ymm4, %ymm4
5245vpmullw %ymm14, %ymm4, %ymm4
5246vpsllw $1, %ymm11, %ymm7
5247vpsubw %ymm7, %ymm10, %ymm7
5248vpsllw $7, %ymm5, %ymm10
5249vpsubw %ymm10, %ymm7, %ymm10
5250vpsrlw $3, %ymm10, %ymm10
5251vpsubw %ymm2, %ymm10, %ymm10
5252vmovdqa 1472(%rsp), %ymm7
5253vpsubw %ymm11, %ymm7, %ymm7
5254vpmullw %ymm15, %ymm5, %ymm3
5255vpsubw %ymm3, %ymm7, %ymm3
5256vpmullw %ymm14, %ymm10, %ymm10
5257vpsubw %ymm10, %ymm2, %ymm2
5258vpmullw %ymm12, %ymm10, %ymm7
5259vpaddw %ymm7, %ymm2, %ymm7
5260vpmullw %ymm12, %ymm7, %ymm7
5261vpsubw %ymm7, %ymm3, %ymm7
5262vpmullw %ymm14, %ymm7, %ymm7
5263vpsubw %ymm6, %ymm7, %ymm7
5264vpsrlw $3, %ymm7, %ymm7
5265vpsubw %ymm4, %ymm7, %ymm7
5266vpsubw %ymm7, %ymm4, %ymm4
5267vpsubw %ymm4, %ymm6, %ymm6
5268vpmullw %ymm13, %ymm7, %ymm7
5269vpsubw %ymm7, %ymm6, %ymm6
5270vmovdqa 416(%rdi), %ymm3
5271vmovdqa 672(%rdi), %ymm8
5272vmovdqa 928(%rdi), %ymm9
5273vpaddw %ymm11, %ymm3, %ymm11
5274vpaddw %ymm6, %ymm8, %ymm6
5275vpaddw %ymm2, %ymm9, %ymm2
5276vpshufb shuf48_16(%rip), %ymm4, %ymm4
5277vpand mask3_5_3_5(%rip), %ymm4, %ymm9
5278vpand mask5_3_5_3(%rip), %ymm4, %ymm4
5279vpermq $206, %ymm9, %ymm9
5280vpand mask_keephigh(%rip), %ymm9, %ymm8
5281vpor %ymm8, %ymm4, %ymm4
5282vmovdqa 160(%rdi), %ymm8
5283vpaddw 1984(%rsp), %ymm8, %ymm8
5284vpaddw %ymm4, %ymm8, %ymm8
5285vmovdqa %ymm8, 160(%rdi)
5286vmovdqa %xmm9, 1984(%rsp)
5287vpshufb shuf48_16(%rip), %ymm10, %ymm10
5288vpand mask3_5_3_5(%rip), %ymm10, %ymm9
5289vpand mask5_3_5_3(%rip), %ymm10, %ymm10
5290vpermq $206, %ymm9, %ymm9
5291vpand mask_keephigh(%rip), %ymm9, %ymm8
5292vpor %ymm8, %ymm10, %ymm10
5293vpaddw 2240(%rsp), %ymm11, %ymm11
5294vpaddw %ymm10, %ymm11, %ymm11
5295vmovdqa %xmm9, 2240(%rsp)
5296vpshufb shuf48_16(%rip), %ymm7, %ymm7
5297vpand mask3_5_3_5(%rip), %ymm7, %ymm9
5298vpand mask5_3_5_3(%rip), %ymm7, %ymm7
5299vpermq $206, %ymm9, %ymm9
5300vpand mask_keephigh(%rip), %ymm9, %ymm8
5301vpor %ymm8, %ymm7, %ymm7
5302vpaddw 2496(%rsp), %ymm6, %ymm6
5303vpaddw %ymm7, %ymm6, %ymm6
5304vmovdqa %xmm9, 2496(%rsp)
5305vpshufb shuf48_16(%rip), %ymm5, %ymm5
5306vpand mask3_5_3_5(%rip), %ymm5, %ymm9
5307vpand mask5_3_5_3(%rip), %ymm5, %ymm5
5308vpermq $206, %ymm9, %ymm9
5309vpand mask_keephigh(%rip), %ymm9, %ymm8
5310vpor %ymm8, %ymm5, %ymm5
5311vpaddw 2752(%rsp), %ymm2, %ymm2
5312vpaddw %ymm5, %ymm2, %ymm2
5313vmovdqa %xmm9, 2752(%rsp)
5314vmovdqa %ymm11, 416(%rdi)
5315vmovdqa %ymm6, 672(%rdi)
5316vmovdqa %ymm2, 928(%rdi)
5317vmovdqa 224(%rsp), %ymm5
5318vpunpcklwd const0(%rip), %ymm5, %ymm7
5319vpunpckhwd const0(%rip), %ymm5, %ymm10
5320vpslld $1, %ymm7, %ymm7
5321vpslld $1, %ymm10, %ymm10
5322vmovdqa 480(%rsp), %ymm4
5323vpunpcklwd const0(%rip), %ymm4, %ymm2
5324vpunpckhwd const0(%rip), %ymm4, %ymm4
5325vmovdqa 736(%rsp), %ymm6
5326vpunpcklwd const0(%rip), %ymm6, %ymm11
5327vpunpckhwd const0(%rip), %ymm6, %ymm6
5328vpaddd %ymm11, %ymm2, %ymm9
5329vpaddd %ymm6, %ymm4, %ymm8
5330vpsubd %ymm7, %ymm9, %ymm9
5331vpsubd %ymm10, %ymm8, %ymm8
5332vpsubd %ymm11, %ymm2, %ymm11
5333vpsubd %ymm6, %ymm4, %ymm6
5334vpsrld $1, %ymm11, %ymm11
5335vpsrld $1, %ymm6, %ymm6
5336vpand mask32_to_16(%rip), %ymm11, %ymm11
5337vpand mask32_to_16(%rip), %ymm6, %ymm6
5338vpackusdw %ymm6, %ymm11, %ymm6
5339vmovdqa 1760(%rsp), %ymm11
5340vpunpcklwd const0(%rip), %ymm11, %ymm4
5341vpunpckhwd const0(%rip), %ymm11, %ymm2
5342vpslld $1, %ymm4, %ymm4
5343vpslld $1, %ymm2, %ymm2
5344vpsubd %ymm4, %ymm9, %ymm9
5345vpsubd %ymm2, %ymm8, %ymm8
5346vpsrld $1, %ymm9, %ymm9
5347vpsrld $1, %ymm8, %ymm8
5348vpand mask32_to_16(%rip), %ymm9, %ymm9
5349vpand mask32_to_16(%rip), %ymm8, %ymm8
5350vpackusdw %ymm8, %ymm9, %ymm8
5351vmovdqa 992(%rsp), %ymm9
5352vpaddw 1248(%rsp), %ymm9, %ymm2
5353vpsubw 1248(%rsp), %ymm9, %ymm9
5354vpsrlw $2, %ymm9, %ymm9
5355vpsubw %ymm6, %ymm9, %ymm9
5356vpmullw %ymm14, %ymm9, %ymm9
5357vpsllw $1, %ymm5, %ymm4
5358vpsubw %ymm4, %ymm2, %ymm4
5359vpsllw $7, %ymm11, %ymm2
5360vpsubw %ymm2, %ymm4, %ymm2
5361vpsrlw $3, %ymm2, %ymm2
5362vpsubw %ymm8, %ymm2, %ymm2
5363vmovdqa 1504(%rsp), %ymm4
5364vpsubw %ymm5, %ymm4, %ymm4
5365vpmullw %ymm15, %ymm11, %ymm10
5366vpsubw %ymm10, %ymm4, %ymm10
5367vpmullw %ymm14, %ymm2, %ymm2
5368vpsubw %ymm2, %ymm8, %ymm8
5369vpmullw %ymm12, %ymm2, %ymm4
5370vpaddw %ymm4, %ymm8, %ymm4
5371vpmullw %ymm12, %ymm4, %ymm4
5372vpsubw %ymm4, %ymm10, %ymm4
5373vpmullw %ymm14, %ymm4, %ymm4
5374vpsubw %ymm6, %ymm4, %ymm4
5375vpsrlw $3, %ymm4, %ymm4
5376vpsubw %ymm9, %ymm4, %ymm4
5377vpsubw %ymm4, %ymm9, %ymm9
5378vpsubw %ymm9, %ymm6, %ymm6
5379vpmullw %ymm13, %ymm4, %ymm4
5380vpsubw %ymm4, %ymm6, %ymm6
5381vextracti128 $1, %ymm8, %xmm10
5382vpshufb shufmin5_mask3(%rip), %ymm10, %ymm10
5383vmovdqa %ymm10, 2816(%rsp)
5384vextracti128 $1, %ymm9, %xmm10
5385vpshufb shufmin5_mask3(%rip), %ymm10, %ymm10
5386vmovdqa %ymm10, 2848(%rsp)
5387vextracti128 $1, %ymm2, %xmm10
5388vpshufb shufmin5_mask3(%rip), %ymm10, %ymm10
5389vmovdqa %ymm10, 2880(%rsp)
5390vmovdqa 480(%rdi), %ymm10
5391vmovdqa 736(%rdi), %ymm7
5392vmovdqa 992(%rdi), %ymm3
5393vpaddw %ymm5, %ymm10, %ymm5
5394vpaddw %ymm6, %ymm7, %ymm6
5395vpaddw %ymm8, %ymm3, %ymm8
5396vpshufb shuf48_16(%rip), %ymm9, %ymm9
5397vpand mask3_5_3_5(%rip), %ymm9, %ymm3
5398vpand mask5_3_5_3(%rip), %ymm9, %ymm9
5399vpermq $206, %ymm3, %ymm3
5400vpand mask_keephigh(%rip), %ymm3, %ymm7
5401vpor %ymm7, %ymm9, %ymm9
5402vmovdqa 224(%rdi), %ymm7
5403vpaddw 2016(%rsp), %ymm7, %ymm7
5404vpaddw %ymm9, %ymm7, %ymm7
5405vmovdqa %ymm7, 224(%rdi)
5406vextracti128 $1, %ymm7, %xmm7
5407vpshufb shufmin5_mask3(%rip), %ymm7, %ymm7
5408vmovdqa %xmm7, 1792(%rsp)
5409vmovdqa %xmm3, 2016(%rsp)
5410vpshufb shuf48_16(%rip), %ymm2, %ymm2
5411vpand mask3_5_3_5(%rip), %ymm2, %ymm3
5412vpand mask5_3_5_3(%rip), %ymm2, %ymm2
5413vpermq $206, %ymm3, %ymm3
5414vpand mask_keephigh(%rip), %ymm3, %ymm7
5415vpor %ymm7, %ymm2, %ymm2
5416vpaddw 2272(%rsp), %ymm5, %ymm5
5417vpaddw %ymm2, %ymm5, %ymm5
5418vmovdqa %xmm3, 2272(%rsp)
5419vpshufb shuf48_16(%rip), %ymm4, %ymm4
5420vpand mask3_5_3_5(%rip), %ymm4, %ymm3
5421vpand mask5_3_5_3(%rip), %ymm4, %ymm4
5422vpermq $206, %ymm3, %ymm3
5423vpand mask_keephigh(%rip), %ymm3, %ymm7
5424vpor %ymm7, %ymm4, %ymm4
5425vpaddw 2528(%rsp), %ymm6, %ymm6
5426vpaddw %ymm4, %ymm6, %ymm6
5427vmovdqa %xmm3, 2528(%rsp)
5428vpshufb shuf48_16(%rip), %ymm11, %ymm11
5429vpand mask3_5_3_5(%rip), %ymm11, %ymm3
5430vpand mask5_3_5_3(%rip), %ymm11, %ymm11
5431vpermq $206, %ymm3, %ymm3
5432vpand mask_keephigh(%rip), %ymm3, %ymm7
5433vpor %ymm7, %ymm11, %ymm11
5434vpaddw 2784(%rsp), %ymm8, %ymm8
5435vpaddw %ymm11, %ymm8, %ymm8
5436vmovdqa %xmm3, 2784(%rsp)
5437vmovdqa %ymm5, 480(%rdi)
5438vmovdqa %ymm6, 736(%rdi)
5439vmovdqa %ymm8, 992(%rdi)
5440vmovdqa 0(%rdi), %ymm11
5441vpaddw 1888(%rsp), %ymm11, %ymm11
5442vpaddw 2816(%rsp), %ymm11, %ymm11
5443vmovdqa %ymm11, 0(%rdi)
5444vmovdqa 256(%rdi), %ymm11
5445vpaddw 2528(%rsp), %ymm11, %ymm11
5446vpaddw 2848(%rsp), %ymm11, %ymm11
5447vmovdqa %ymm11, 256(%rdi)
5448vmovdqa 512(%rdi), %ymm11
5449vpaddw 2784(%rsp), %ymm11, %ymm11
5450vpaddw 2880(%rsp), %ymm11, %ymm11
5451vmovdqa %ymm11, 512(%rdi)
5452vmovdqa 64(%rdi), %ymm11
5453vpaddw 2048(%rsp), %ymm11, %ymm11
5454vpaddw 1920(%rsp), %ymm11, %ymm11
5455vmovdqa %ymm11, 64(%rdi)
5456vmovdqa 320(%rdi), %ymm11
5457vpaddw 2304(%rsp), %ymm11, %ymm11
5458vmovdqa %ymm11, 320(%rdi)
5459vmovdqa 576(%rdi), %ymm11
5460vpaddw 2560(%rsp), %ymm11, %ymm11
5461vmovdqa %ymm11, 576(%rdi)
5462vmovdqa 128(%rdi), %ymm11
5463vpaddw 2080(%rsp), %ymm11, %ymm11
5464vpaddw 1952(%rsp), %ymm11, %ymm11
5465vmovdqa %ymm11, 128(%rdi)
5466vmovdqa 384(%rdi), %ymm11
5467vpaddw 2336(%rsp), %ymm11, %ymm11
5468vmovdqa %ymm11, 384(%rdi)
5469vmovdqa 640(%rdi), %ymm11
5470vpaddw 2592(%rsp), %ymm11, %ymm11
5471vmovdqa %ymm11, 640(%rdi)
5472vmovdqa 192(%rdi), %ymm11
5473vpaddw 2112(%rsp), %ymm11, %ymm11
5474vpaddw 1984(%rsp), %ymm11, %ymm11
5475vmovdqa %ymm11, 192(%rdi)
5476vmovdqa 448(%rdi), %ymm11
5477vpaddw 2368(%rsp), %ymm11, %ymm11
5478vmovdqa %ymm11, 448(%rdi)
5479vmovdqa 704(%rdi), %ymm11
5480vpaddw 2624(%rsp), %ymm11, %ymm11
5481vmovdqa %ymm11, 704(%rdi)
5482vmovdqa 256(%rdi), %ymm11
5483vpaddw 2144(%rsp), %ymm11, %ymm11
5484vmovdqa %ymm11, 256(%rdi)
5485vmovdqa 512(%rdi), %ymm11
5486vpaddw 2400(%rsp), %ymm11, %ymm11
5487vmovdqa %ymm11, 512(%rdi)
5488vmovdqa 768(%rdi), %ymm11
5489vpaddw 2656(%rsp), %ymm11, %ymm11
5490vmovdqa %ymm11, 768(%rdi)
5491vmovdqa 320(%rdi), %ymm11
5492vpaddw 2176(%rsp), %ymm11, %ymm11
5493vmovdqa %ymm11, 320(%rdi)
5494vmovdqa 576(%rdi), %ymm11
5495vpaddw 2432(%rsp), %ymm11, %ymm11
5496vmovdqa %ymm11, 576(%rdi)
5497vmovdqa 832(%rdi), %ymm11
5498vpaddw 2688(%rsp), %ymm11, %ymm11
5499vmovdqa %ymm11, 832(%rdi)
5500vmovdqa 384(%rdi), %ymm11
5501vpaddw 2208(%rsp), %ymm11, %ymm11
5502vmovdqa %ymm11, 384(%rdi)
5503vmovdqa 640(%rdi), %ymm11
5504vpaddw 2464(%rsp), %ymm11, %ymm11
5505vmovdqa %ymm11, 640(%rdi)
5506vmovdqa 896(%rdi), %ymm11
5507vpaddw 2720(%rsp), %ymm11, %ymm11
5508vmovdqa %ymm11, 896(%rdi)
5509vmovdqa 448(%rdi), %ymm11
5510vpaddw 2240(%rsp), %ymm11, %ymm11
5511vmovdqa %ymm11, 448(%rdi)
5512vmovdqa 704(%rdi), %ymm11
5513vpaddw 2496(%rsp), %ymm11, %ymm11
5514vmovdqa %ymm11, 704(%rdi)
5515vmovdqa 960(%rdi), %ymm11
5516vpaddw 2752(%rsp), %ymm11, %ymm11
5517vmovdqa %ymm11, 960(%rdi)
5518mov %r8, %rsp
5519pop %r12
5520ret
5521