• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (c) 2017, the HRSS authors.
2//
3// Permission to use, copy, modify, and/or distribute this software for any
4// purpose with or without fee is hereby granted, provided that the above
5// copyright notice and this permission notice appear in all copies.
6//
7// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
10// SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
12// OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
13// CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
14
15#if !defined(OPENSSL_NO_ASM) && !defined(OPENSSL_SMALL) && defined(__linux__) && defined(__x86_64__)
16
17#if defined(BORINGSSL_PREFIX)
18#include <boringssl_prefix_symbols_asm.h>
19#endif
20
21// This is the polynomial multiplication function from [HRSS], provided by kind
22// permission of the authors.
23//
24// HRSS: https://eprint.iacr.org/2017/1005
25
26# This file was generated by poly_rq_mul.py
27.text
28.align 32
29const3:
30.word 3
31.word 3
32.word 3
33.word 3
34.word 3
35.word 3
36.word 3
37.word 3
38.word 3
39.word 3
40.word 3
41.word 3
42.word 3
43.word 3
44.word 3
45.word 3
46const9:
47.word 9
48.word 9
49.word 9
50.word 9
51.word 9
52.word 9
53.word 9
54.word 9
55.word 9
56.word 9
57.word 9
58.word 9
59.word 9
60.word 9
61.word 9
62.word 9
63const0:
64.word 0
65.word 0
66.word 0
67.word 0
68.word 0
69.word 0
70.word 0
71.word 0
72.word 0
73.word 0
74.word 0
75.word 0
76.word 0
77.word 0
78.word 0
79.word 0
80const729:
81.word 729
82.word 729
83.word 729
84.word 729
85.word 729
86.word 729
87.word 729
88.word 729
89.word 729
90.word 729
91.word 729
92.word 729
93.word 729
94.word 729
95.word 729
96.word 729
97const3_inv:
98.word 43691
99.word 43691
100.word 43691
101.word 43691
102.word 43691
103.word 43691
104.word 43691
105.word 43691
106.word 43691
107.word 43691
108.word 43691
109.word 43691
110.word 43691
111.word 43691
112.word 43691
113.word 43691
114const5_inv:
115.word 52429
116.word 52429
117.word 52429
118.word 52429
119.word 52429
120.word 52429
121.word 52429
122.word 52429
123.word 52429
124.word 52429
125.word 52429
126.word 52429
127.word 52429
128.word 52429
129.word 52429
130.word 52429
131shuf48_16:
132.byte 10
133.byte 11
134.byte 12
135.byte 13
136.byte 14
137.byte 15
138.byte 0
139.byte 1
140.byte 2
141.byte 3
142.byte 4
143.byte 5
144.byte 6
145.byte 7
146.byte 8
147.byte 9
148.byte 10
149.byte 11
150.byte 12
151.byte 13
152.byte 14
153.byte 15
154.byte 0
155.byte 1
156.byte 2
157.byte 3
158.byte 4
159.byte 5
160.byte 6
161.byte 7
162.byte 8
163.byte 9
164shufmin1_mask3:
165.byte 2
166.byte 3
167.byte 4
168.byte 5
169.byte 6
170.byte 7
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
188.byte 255
189.byte 255
190.byte 255
191.byte 255
192.byte 255
193.byte 255
194.byte 255
195.byte 255
196.byte 255
197mask32_to_16:
198.word 0xffff
199.word 0x0
200.word 0xffff
201.word 0x0
202.word 0xffff
203.word 0x0
204.word 0xffff
205.word 0x0
206.word 0xffff
207.word 0x0
208.word 0xffff
209.word 0x0
210.word 0xffff
211.word 0x0
212.word 0xffff
213.word 0x0
214mask5_3_5_3:
215.word 0
216.word 0
217.word 0
218.word 65535
219.word 65535
220.word 65535
221.word 65535
222.word 65535
223.word 0
224.word 0
225.word 0
226.word 65535
227.word 65535
228.word 65535
229.word 65535
230.word 65535
231mask3_5_3_5:
232.word 65535
233.word 65535
234.word 65535
235.word 0
236.word 0
237.word 0
238.word 0
239.word 0
240.word 65535
241.word 65535
242.word 65535
243.word 0
244.word 0
245.word 0
246.word 0
247.word 0
248mask3_5_4_3_1:
249.word 65535
250.word 65535
251.word 65535
252.word 0
253.word 0
254.word 0
255.word 0
256.word 0
257.word 0
258.word 0
259.word 0
260.word 0
261.word 65535
262.word 65535
263.word 65535
264.word 0
265mask_keephigh:
266.word 0
267.word 0
268.word 0
269.word 0
270.word 0
271.word 0
272.word 0
273.word 0
274.word 65535
275.word 65535
276.word 65535
277.word 65535
278.word 65535
279.word 65535
280.word 65535
281.word 65535
282mask_mod8192:
283.word 8191
284.word 8191
285.word 8191
286.word 8191
287.word 8191
288.word 8191
289.word 8191
290.word 8191
291.word 8191
292.word 8191
293.word 8191
294.word 8191
295.word 8191
296.word 8191
297.word 8191
298.word 8191
299.text
300.global poly_Rq_mul
301.hidden poly_Rq_mul
302.type poly_Rq_mul, @function
303.att_syntax prefix
304poly_Rq_mul:
305.cfi_startproc
306push %rbp
307.cfi_adjust_cfa_offset 8
308.cfi_offset rbp, -16
309movq %rsp, %rbp
310.cfi_def_cfa_register rbp
311push %r12
312.cfi_offset r12, -24
313# This function originally used a significant amount of stack space. As an
314# alternative, the needed scratch space is now passed in as the 4th argument.
315# The amount of scratch space used must thus be kept in sync with
316# POLY_MUL_RQ_SCRATCH_SPACE in internal.h.
317#
318# Setting RSP to point into the given scratch space upsets the ABI tests
319# therefore all references to RSP are switched to R8.
320mov %rcx, %r8
321addq $6144+12288+512+9408+32, %r8
322mov %r8, %rax
323subq $6144, %r8
324mov %r8, %r11
325subq $12288, %r8
326mov %r8, %r12
327subq $512, %r8
328vmovdqa const3(%rip), %ymm3
329vmovdqu 0(%rsi), %ymm0
330vmovdqu 88(%rsi), %ymm1
331vmovdqu 176(%rsi), %ymm2
332vmovdqu 264(%rsi), %ymm12
333vmovdqu 1056(%rsi), %ymm4
334vmovdqu 1144(%rsi), %ymm5
335vmovdqu 1232(%rsi), %ymm6
336vmovdqu 1320(%rsi), %ymm7
337vmovdqu 352(%rsi), %ymm8
338vmovdqu 440(%rsi), %ymm9
339vmovdqu 528(%rsi), %ymm10
340vmovdqu 616(%rsi), %ymm11
341vmovdqa %ymm0, 0(%rax)
342vmovdqa %ymm1, 96(%rax)
343vpaddw %ymm0, %ymm1, %ymm14
344vmovdqa %ymm14, 192(%rax)
345vmovdqa %ymm2, 288(%rax)
346vmovdqa %ymm12, 384(%rax)
347vpaddw %ymm2, %ymm12, %ymm14
348vmovdqa %ymm14, 480(%rax)
349vpaddw %ymm0, %ymm2, %ymm14
350vmovdqa %ymm14, 576(%rax)
351vpaddw %ymm1, %ymm12, %ymm15
352vmovdqa %ymm15, 672(%rax)
353vpaddw %ymm14, %ymm15, %ymm14
354vmovdqa %ymm14, 768(%rax)
355vmovdqa %ymm4, 5184(%rax)
356vmovdqa %ymm5, 5280(%rax)
357vpaddw %ymm4, %ymm5, %ymm14
358vmovdqa %ymm14, 5376(%rax)
359vmovdqa %ymm6, 5472(%rax)
360vmovdqa %ymm7, 5568(%rax)
361vpaddw %ymm6, %ymm7, %ymm14
362vmovdqa %ymm14, 5664(%rax)
363vpaddw %ymm4, %ymm6, %ymm14
364vmovdqa %ymm14, 5760(%rax)
365vpaddw %ymm5, %ymm7, %ymm15
366vmovdqa %ymm15, 5856(%rax)
367vpaddw %ymm14, %ymm15, %ymm14
368vmovdqa %ymm14, 5952(%rax)
369vmovdqa %ymm0, 0(%r8)
370vmovdqa %ymm1, 32(%r8)
371vmovdqa %ymm2, 64(%r8)
372vmovdqa %ymm12, 96(%r8)
373vmovdqa %ymm8, 128(%r8)
374vmovdqa %ymm9, 160(%r8)
375vmovdqa %ymm10, 192(%r8)
376vmovdqa %ymm11, 224(%r8)
377vmovdqu 704(%rsi), %ymm0
378vpaddw 0(%r8), %ymm0, %ymm1
379vpaddw 128(%r8), %ymm4, %ymm2
380vpaddw %ymm2, %ymm1, %ymm8
381vpsubw %ymm2, %ymm1, %ymm12
382vmovdqa %ymm0, 256(%r8)
383vmovdqu 792(%rsi), %ymm0
384vpaddw 32(%r8), %ymm0, %ymm1
385vpaddw 160(%r8), %ymm5, %ymm2
386vpaddw %ymm2, %ymm1, %ymm9
387vpsubw %ymm2, %ymm1, %ymm13
388vmovdqa %ymm0, 288(%r8)
389vmovdqu 880(%rsi), %ymm0
390vpaddw 64(%r8), %ymm0, %ymm1
391vpaddw 192(%r8), %ymm6, %ymm2
392vpaddw %ymm2, %ymm1, %ymm10
393vpsubw %ymm2, %ymm1, %ymm14
394vmovdqa %ymm0, 320(%r8)
395vmovdqu 968(%rsi), %ymm0
396vpaddw 96(%r8), %ymm0, %ymm1
397vpaddw 224(%r8), %ymm7, %ymm2
398vpaddw %ymm2, %ymm1, %ymm11
399vpsubw %ymm2, %ymm1, %ymm15
400vmovdqa %ymm0, 352(%r8)
401vmovdqa %ymm8, 864(%rax)
402vmovdqa %ymm9, 960(%rax)
403vpaddw %ymm8, %ymm9, %ymm0
404vmovdqa %ymm0, 1056(%rax)
405vmovdqa %ymm10, 1152(%rax)
406vmovdqa %ymm11, 1248(%rax)
407vpaddw %ymm10, %ymm11, %ymm0
408vmovdqa %ymm0, 1344(%rax)
409vpaddw %ymm8, %ymm10, %ymm0
410vmovdqa %ymm0, 1440(%rax)
411vpaddw %ymm9, %ymm11, %ymm1
412vmovdqa %ymm1, 1536(%rax)
413vpaddw %ymm0, %ymm1, %ymm0
414vmovdqa %ymm0, 1632(%rax)
415vmovdqa %ymm12, 1728(%rax)
416vmovdqa %ymm13, 1824(%rax)
417vpaddw %ymm12, %ymm13, %ymm0
418vmovdqa %ymm0, 1920(%rax)
419vmovdqa %ymm14, 2016(%rax)
420vmovdqa %ymm15, 2112(%rax)
421vpaddw %ymm14, %ymm15, %ymm0
422vmovdqa %ymm0, 2208(%rax)
423vpaddw %ymm12, %ymm14, %ymm0
424vmovdqa %ymm0, 2304(%rax)
425vpaddw %ymm13, %ymm15, %ymm1
426vmovdqa %ymm1, 2400(%rax)
427vpaddw %ymm0, %ymm1, %ymm0
428vmovdqa %ymm0, 2496(%rax)
429vmovdqa 256(%r8), %ymm0
430vpsllw $2, %ymm0, %ymm0
431vpaddw 0(%r8), %ymm0, %ymm0
432vpsllw $2, %ymm4, %ymm1
433vpaddw 128(%r8), %ymm1, %ymm1
434vpsllw $1, %ymm1, %ymm1
435vpaddw %ymm1, %ymm0, %ymm8
436vpsubw %ymm1, %ymm0, %ymm12
437vmovdqa 288(%r8), %ymm0
438vpsllw $2, %ymm0, %ymm0
439vpaddw 32(%r8), %ymm0, %ymm0
440vpsllw $2, %ymm5, %ymm1
441vpaddw 160(%r8), %ymm1, %ymm1
442vpsllw $1, %ymm1, %ymm1
443vpaddw %ymm1, %ymm0, %ymm9
444vpsubw %ymm1, %ymm0, %ymm13
445vmovdqa 320(%r8), %ymm0
446vpsllw $2, %ymm0, %ymm0
447vpaddw 64(%r8), %ymm0, %ymm0
448vpsllw $2, %ymm6, %ymm1
449vpaddw 192(%r8), %ymm1, %ymm1
450vpsllw $1, %ymm1, %ymm1
451vpaddw %ymm1, %ymm0, %ymm10
452vpsubw %ymm1, %ymm0, %ymm14
453vmovdqa 352(%r8), %ymm0
454vpsllw $2, %ymm0, %ymm0
455vpaddw 96(%r8), %ymm0, %ymm0
456vpsllw $2, %ymm7, %ymm1
457vpaddw 224(%r8), %ymm1, %ymm1
458vpsllw $1, %ymm1, %ymm1
459vpaddw %ymm1, %ymm0, %ymm11
460vpsubw %ymm1, %ymm0, %ymm15
461vmovdqa %ymm8, 2592(%rax)
462vmovdqa %ymm9, 2688(%rax)
463vpaddw %ymm8, %ymm9, %ymm0
464vmovdqa %ymm0, 2784(%rax)
465vmovdqa %ymm10, 2880(%rax)
466vmovdqa %ymm11, 2976(%rax)
467vpaddw %ymm10, %ymm11, %ymm0
468vmovdqa %ymm0, 3072(%rax)
469vpaddw %ymm8, %ymm10, %ymm0
470vmovdqa %ymm0, 3168(%rax)
471vpaddw %ymm9, %ymm11, %ymm1
472vmovdqa %ymm1, 3264(%rax)
473vpaddw %ymm0, %ymm1, %ymm0
474vmovdqa %ymm0, 3360(%rax)
475vmovdqa %ymm12, 3456(%rax)
476vmovdqa %ymm13, 3552(%rax)
477vpaddw %ymm12, %ymm13, %ymm0
478vmovdqa %ymm0, 3648(%rax)
479vmovdqa %ymm14, 3744(%rax)
480vmovdqa %ymm15, 3840(%rax)
481vpaddw %ymm14, %ymm15, %ymm0
482vmovdqa %ymm0, 3936(%rax)
483vpaddw %ymm12, %ymm14, %ymm0
484vmovdqa %ymm0, 4032(%rax)
485vpaddw %ymm13, %ymm15, %ymm1
486vmovdqa %ymm1, 4128(%rax)
487vpaddw %ymm0, %ymm1, %ymm0
488vmovdqa %ymm0, 4224(%rax)
489vpmullw %ymm3, %ymm4, %ymm0
490vpaddw 256(%r8), %ymm0, %ymm0
491vpmullw %ymm3, %ymm0, %ymm0
492vpaddw 128(%r8), %ymm0, %ymm0
493vpmullw %ymm3, %ymm0, %ymm0
494vpaddw 0(%r8), %ymm0, %ymm12
495vpmullw %ymm3, %ymm5, %ymm0
496vpaddw 288(%r8), %ymm0, %ymm0
497vpmullw %ymm3, %ymm0, %ymm0
498vpaddw 160(%r8), %ymm0, %ymm0
499vpmullw %ymm3, %ymm0, %ymm0
500vpaddw 32(%r8), %ymm0, %ymm13
501vpmullw %ymm3, %ymm6, %ymm0
502vpaddw 320(%r8), %ymm0, %ymm0
503vpmullw %ymm3, %ymm0, %ymm0
504vpaddw 192(%r8), %ymm0, %ymm0
505vpmullw %ymm3, %ymm0, %ymm0
506vpaddw 64(%r8), %ymm0, %ymm14
507vpmullw %ymm3, %ymm7, %ymm0
508vpaddw 352(%r8), %ymm0, %ymm0
509vpmullw %ymm3, %ymm0, %ymm0
510vpaddw 224(%r8), %ymm0, %ymm0
511vpmullw %ymm3, %ymm0, %ymm0
512vpaddw 96(%r8), %ymm0, %ymm15
513vmovdqa %ymm12, 4320(%rax)
514vmovdqa %ymm13, 4416(%rax)
515vpaddw %ymm12, %ymm13, %ymm0
516vmovdqa %ymm0, 4512(%rax)
517vmovdqa %ymm14, 4608(%rax)
518vmovdqa %ymm15, 4704(%rax)
519vpaddw %ymm14, %ymm15, %ymm0
520vmovdqa %ymm0, 4800(%rax)
521vpaddw %ymm12, %ymm14, %ymm0
522vmovdqa %ymm0, 4896(%rax)
523vpaddw %ymm13, %ymm15, %ymm1
524vmovdqa %ymm1, 4992(%rax)
525vpaddw %ymm0, %ymm1, %ymm0
526vmovdqa %ymm0, 5088(%rax)
527vmovdqu 32(%rsi), %ymm0
528vmovdqu 120(%rsi), %ymm1
529vmovdqu 208(%rsi), %ymm2
530vmovdqu 296(%rsi), %ymm12
531vmovdqu 1088(%rsi), %ymm4
532vmovdqu 1176(%rsi), %ymm5
533vmovdqu 1264(%rsi), %ymm6
534vmovdqu 1352(%rsi), %ymm7
535vmovdqu 384(%rsi), %ymm8
536vmovdqu 472(%rsi), %ymm9
537vmovdqu 560(%rsi), %ymm10
538vmovdqu 648(%rsi), %ymm11
539vmovdqa %ymm0, 32(%rax)
540vmovdqa %ymm1, 128(%rax)
541vpaddw %ymm0, %ymm1, %ymm14
542vmovdqa %ymm14, 224(%rax)
543vmovdqa %ymm2, 320(%rax)
544vmovdqa %ymm12, 416(%rax)
545vpaddw %ymm2, %ymm12, %ymm14
546vmovdqa %ymm14, 512(%rax)
547vpaddw %ymm0, %ymm2, %ymm14
548vmovdqa %ymm14, 608(%rax)
549vpaddw %ymm1, %ymm12, %ymm15
550vmovdqa %ymm15, 704(%rax)
551vpaddw %ymm14, %ymm15, %ymm14
552vmovdqa %ymm14, 800(%rax)
553vmovdqa %ymm4, 5216(%rax)
554vmovdqa %ymm5, 5312(%rax)
555vpaddw %ymm4, %ymm5, %ymm14
556vmovdqa %ymm14, 5408(%rax)
557vmovdqa %ymm6, 5504(%rax)
558vmovdqa %ymm7, 5600(%rax)
559vpaddw %ymm6, %ymm7, %ymm14
560vmovdqa %ymm14, 5696(%rax)
561vpaddw %ymm4, %ymm6, %ymm14
562vmovdqa %ymm14, 5792(%rax)
563vpaddw %ymm5, %ymm7, %ymm15
564vmovdqa %ymm15, 5888(%rax)
565vpaddw %ymm14, %ymm15, %ymm14
566vmovdqa %ymm14, 5984(%rax)
567vmovdqa %ymm0, 0(%r8)
568vmovdqa %ymm1, 32(%r8)
569vmovdqa %ymm2, 64(%r8)
570vmovdqa %ymm12, 96(%r8)
571vmovdqa %ymm8, 128(%r8)
572vmovdqa %ymm9, 160(%r8)
573vmovdqa %ymm10, 192(%r8)
574vmovdqa %ymm11, 224(%r8)
575vmovdqu 736(%rsi), %ymm0
576vpaddw 0(%r8), %ymm0, %ymm1
577vpaddw 128(%r8), %ymm4, %ymm2
578vpaddw %ymm2, %ymm1, %ymm8
579vpsubw %ymm2, %ymm1, %ymm12
580vmovdqa %ymm0, 256(%r8)
581vmovdqu 824(%rsi), %ymm0
582vpaddw 32(%r8), %ymm0, %ymm1
583vpaddw 160(%r8), %ymm5, %ymm2
584vpaddw %ymm2, %ymm1, %ymm9
585vpsubw %ymm2, %ymm1, %ymm13
586vmovdqa %ymm0, 288(%r8)
587vmovdqu 912(%rsi), %ymm0
588vpaddw 64(%r8), %ymm0, %ymm1
589vpaddw 192(%r8), %ymm6, %ymm2
590vpaddw %ymm2, %ymm1, %ymm10
591vpsubw %ymm2, %ymm1, %ymm14
592vmovdqa %ymm0, 320(%r8)
593vmovdqu 1000(%rsi), %ymm0
594vpaddw 96(%r8), %ymm0, %ymm1
595vpaddw 224(%r8), %ymm7, %ymm2
596vpaddw %ymm2, %ymm1, %ymm11
597vpsubw %ymm2, %ymm1, %ymm15
598vmovdqa %ymm0, 352(%r8)
599vmovdqa %ymm8, 896(%rax)
600vmovdqa %ymm9, 992(%rax)
601vpaddw %ymm8, %ymm9, %ymm0
602vmovdqa %ymm0, 1088(%rax)
603vmovdqa %ymm10, 1184(%rax)
604vmovdqa %ymm11, 1280(%rax)
605vpaddw %ymm10, %ymm11, %ymm0
606vmovdqa %ymm0, 1376(%rax)
607vpaddw %ymm8, %ymm10, %ymm0
608vmovdqa %ymm0, 1472(%rax)
609vpaddw %ymm9, %ymm11, %ymm1
610vmovdqa %ymm1, 1568(%rax)
611vpaddw %ymm0, %ymm1, %ymm0
612vmovdqa %ymm0, 1664(%rax)
613vmovdqa %ymm12, 1760(%rax)
614vmovdqa %ymm13, 1856(%rax)
615vpaddw %ymm12, %ymm13, %ymm0
616vmovdqa %ymm0, 1952(%rax)
617vmovdqa %ymm14, 2048(%rax)
618vmovdqa %ymm15, 2144(%rax)
619vpaddw %ymm14, %ymm15, %ymm0
620vmovdqa %ymm0, 2240(%rax)
621vpaddw %ymm12, %ymm14, %ymm0
622vmovdqa %ymm0, 2336(%rax)
623vpaddw %ymm13, %ymm15, %ymm1
624vmovdqa %ymm1, 2432(%rax)
625vpaddw %ymm0, %ymm1, %ymm0
626vmovdqa %ymm0, 2528(%rax)
627vmovdqa 256(%r8), %ymm0
628vpsllw $2, %ymm0, %ymm0
629vpaddw 0(%r8), %ymm0, %ymm0
630vpsllw $2, %ymm4, %ymm1
631vpaddw 128(%r8), %ymm1, %ymm1
632vpsllw $1, %ymm1, %ymm1
633vpaddw %ymm1, %ymm0, %ymm8
634vpsubw %ymm1, %ymm0, %ymm12
635vmovdqa 288(%r8), %ymm0
636vpsllw $2, %ymm0, %ymm0
637vpaddw 32(%r8), %ymm0, %ymm0
638vpsllw $2, %ymm5, %ymm1
639vpaddw 160(%r8), %ymm1, %ymm1
640vpsllw $1, %ymm1, %ymm1
641vpaddw %ymm1, %ymm0, %ymm9
642vpsubw %ymm1, %ymm0, %ymm13
643vmovdqa 320(%r8), %ymm0
644vpsllw $2, %ymm0, %ymm0
645vpaddw 64(%r8), %ymm0, %ymm0
646vpsllw $2, %ymm6, %ymm1
647vpaddw 192(%r8), %ymm1, %ymm1
648vpsllw $1, %ymm1, %ymm1
649vpaddw %ymm1, %ymm0, %ymm10
650vpsubw %ymm1, %ymm0, %ymm14
651vmovdqa 352(%r8), %ymm0
652vpsllw $2, %ymm0, %ymm0
653vpaddw 96(%r8), %ymm0, %ymm0
654vpsllw $2, %ymm7, %ymm1
655vpaddw 224(%r8), %ymm1, %ymm1
656vpsllw $1, %ymm1, %ymm1
657vpaddw %ymm1, %ymm0, %ymm11
658vpsubw %ymm1, %ymm0, %ymm15
659vmovdqa %ymm8, 2624(%rax)
660vmovdqa %ymm9, 2720(%rax)
661vpaddw %ymm8, %ymm9, %ymm0
662vmovdqa %ymm0, 2816(%rax)
663vmovdqa %ymm10, 2912(%rax)
664vmovdqa %ymm11, 3008(%rax)
665vpaddw %ymm10, %ymm11, %ymm0
666vmovdqa %ymm0, 3104(%rax)
667vpaddw %ymm8, %ymm10, %ymm0
668vmovdqa %ymm0, 3200(%rax)
669vpaddw %ymm9, %ymm11, %ymm1
670vmovdqa %ymm1, 3296(%rax)
671vpaddw %ymm0, %ymm1, %ymm0
672vmovdqa %ymm0, 3392(%rax)
673vmovdqa %ymm12, 3488(%rax)
674vmovdqa %ymm13, 3584(%rax)
675vpaddw %ymm12, %ymm13, %ymm0
676vmovdqa %ymm0, 3680(%rax)
677vmovdqa %ymm14, 3776(%rax)
678vmovdqa %ymm15, 3872(%rax)
679vpaddw %ymm14, %ymm15, %ymm0
680vmovdqa %ymm0, 3968(%rax)
681vpaddw %ymm12, %ymm14, %ymm0
682vmovdqa %ymm0, 4064(%rax)
683vpaddw %ymm13, %ymm15, %ymm1
684vmovdqa %ymm1, 4160(%rax)
685vpaddw %ymm0, %ymm1, %ymm0
686vmovdqa %ymm0, 4256(%rax)
687vpmullw %ymm3, %ymm4, %ymm0
688vpaddw 256(%r8), %ymm0, %ymm0
689vpmullw %ymm3, %ymm0, %ymm0
690vpaddw 128(%r8), %ymm0, %ymm0
691vpmullw %ymm3, %ymm0, %ymm0
692vpaddw 0(%r8), %ymm0, %ymm12
693vpmullw %ymm3, %ymm5, %ymm0
694vpaddw 288(%r8), %ymm0, %ymm0
695vpmullw %ymm3, %ymm0, %ymm0
696vpaddw 160(%r8), %ymm0, %ymm0
697vpmullw %ymm3, %ymm0, %ymm0
698vpaddw 32(%r8), %ymm0, %ymm13
699vpmullw %ymm3, %ymm6, %ymm0
700vpaddw 320(%r8), %ymm0, %ymm0
701vpmullw %ymm3, %ymm0, %ymm0
702vpaddw 192(%r8), %ymm0, %ymm0
703vpmullw %ymm3, %ymm0, %ymm0
704vpaddw 64(%r8), %ymm0, %ymm14
705vpmullw %ymm3, %ymm7, %ymm0
706vpaddw 352(%r8), %ymm0, %ymm0
707vpmullw %ymm3, %ymm0, %ymm0
708vpaddw 224(%r8), %ymm0, %ymm0
709vpmullw %ymm3, %ymm0, %ymm0
710vpaddw 96(%r8), %ymm0, %ymm15
711vmovdqa %ymm12, 4352(%rax)
712vmovdqa %ymm13, 4448(%rax)
713vpaddw %ymm12, %ymm13, %ymm0
714vmovdqa %ymm0, 4544(%rax)
715vmovdqa %ymm14, 4640(%rax)
716vmovdqa %ymm15, 4736(%rax)
717vpaddw %ymm14, %ymm15, %ymm0
718vmovdqa %ymm0, 4832(%rax)
719vpaddw %ymm12, %ymm14, %ymm0
720vmovdqa %ymm0, 4928(%rax)
721vpaddw %ymm13, %ymm15, %ymm1
722vmovdqa %ymm1, 5024(%rax)
723vpaddw %ymm0, %ymm1, %ymm0
724vmovdqa %ymm0, 5120(%rax)
725vmovdqu 64(%rsi), %ymm0
726vmovdqu 152(%rsi), %ymm1
727vmovdqu 240(%rsi), %ymm2
728vmovdqu 328(%rsi), %ymm12
729vmovdqu 1120(%rsi), %ymm4
730vmovdqu 1208(%rsi), %ymm5
731vmovdqu 1296(%rsi), %ymm6
732
733# Only 18 bytes more can be read, but vmovdqu reads 32.
734# Copy 18 bytes to the red zone and zero pad to 32 bytes.
735xor %r9, %r9
736movq %r9, -16(%rsp)
737movq %r9, -8(%rsp)
738movq 1384(%rsi), %r9
739movq %r9, -32(%rsp)
740movq 1384+8(%rsi), %r9
741movq %r9, -24(%rsp)
742movw 1384+16(%rsi), %r9w
743movw %r9w, -16(%rsp)
744vmovdqu -32(%rsp), %ymm7
745
746vmovdqu 416(%rsi), %ymm8
747vmovdqu 504(%rsi), %ymm9
748vmovdqu 592(%rsi), %ymm10
749vmovdqu 680(%rsi), %ymm11
750vmovdqa %ymm0, 64(%rax)
751vmovdqa %ymm1, 160(%rax)
752vpaddw %ymm0, %ymm1, %ymm14
753vmovdqa %ymm14, 256(%rax)
754vmovdqa %ymm2, 352(%rax)
755vmovdqa %ymm12, 448(%rax)
756vpaddw %ymm2, %ymm12, %ymm14
757vmovdqa %ymm14, 544(%rax)
758vpaddw %ymm0, %ymm2, %ymm14
759vmovdqa %ymm14, 640(%rax)
760vpaddw %ymm1, %ymm12, %ymm15
761vmovdqa %ymm15, 736(%rax)
762vpaddw %ymm14, %ymm15, %ymm14
763vmovdqa %ymm14, 832(%rax)
764vmovdqa %ymm4, 5248(%rax)
765vmovdqa %ymm5, 5344(%rax)
766vpaddw %ymm4, %ymm5, %ymm14
767vmovdqa %ymm14, 5440(%rax)
768vmovdqa %ymm6, 5536(%rax)
769vmovdqa %ymm7, 5632(%rax)
770vpaddw %ymm6, %ymm7, %ymm14
771vmovdqa %ymm14, 5728(%rax)
772vpaddw %ymm4, %ymm6, %ymm14
773vmovdqa %ymm14, 5824(%rax)
774vpaddw %ymm5, %ymm7, %ymm15
775vmovdqa %ymm15, 5920(%rax)
776vpaddw %ymm14, %ymm15, %ymm14
777vmovdqa %ymm14, 6016(%rax)
778vmovdqa %ymm0, 0(%r8)
779vmovdqa %ymm1, 32(%r8)
780vmovdqa %ymm2, 64(%r8)
781vmovdqa %ymm12, 96(%r8)
782vmovdqa %ymm8, 128(%r8)
783vmovdqa %ymm9, 160(%r8)
784vmovdqa %ymm10, 192(%r8)
785vmovdqa %ymm11, 224(%r8)
786vmovdqu 768(%rsi), %ymm0
787vpaddw 0(%r8), %ymm0, %ymm1
788vpaddw 128(%r8), %ymm4, %ymm2
789vpaddw %ymm2, %ymm1, %ymm8
790vpsubw %ymm2, %ymm1, %ymm12
791vmovdqa %ymm0, 256(%r8)
792vmovdqu 856(%rsi), %ymm0
793vpaddw 32(%r8), %ymm0, %ymm1
794vpaddw 160(%r8), %ymm5, %ymm2
795vpaddw %ymm2, %ymm1, %ymm9
796vpsubw %ymm2, %ymm1, %ymm13
797vmovdqa %ymm0, 288(%r8)
798vmovdqu 944(%rsi), %ymm0
799vpaddw 64(%r8), %ymm0, %ymm1
800vpaddw 192(%r8), %ymm6, %ymm2
801vpaddw %ymm2, %ymm1, %ymm10
802vpsubw %ymm2, %ymm1, %ymm14
803vmovdqa %ymm0, 320(%r8)
804vmovdqu 1032(%rsi), %ymm0
805vpaddw 96(%r8), %ymm0, %ymm1
806vpaddw 224(%r8), %ymm7, %ymm2
807vpaddw %ymm2, %ymm1, %ymm11
808vpsubw %ymm2, %ymm1, %ymm15
809vmovdqa %ymm0, 352(%r8)
810vmovdqa %ymm8, 928(%rax)
811vmovdqa %ymm9, 1024(%rax)
812vpaddw %ymm8, %ymm9, %ymm0
813vmovdqa %ymm0, 1120(%rax)
814vmovdqa %ymm10, 1216(%rax)
815vmovdqa %ymm11, 1312(%rax)
816vpaddw %ymm10, %ymm11, %ymm0
817vmovdqa %ymm0, 1408(%rax)
818vpaddw %ymm8, %ymm10, %ymm0
819vmovdqa %ymm0, 1504(%rax)
820vpaddw %ymm9, %ymm11, %ymm1
821vmovdqa %ymm1, 1600(%rax)
822vpaddw %ymm0, %ymm1, %ymm0
823vmovdqa %ymm0, 1696(%rax)
824vmovdqa %ymm12, 1792(%rax)
825vmovdqa %ymm13, 1888(%rax)
826vpaddw %ymm12, %ymm13, %ymm0
827vmovdqa %ymm0, 1984(%rax)
828vmovdqa %ymm14, 2080(%rax)
829vmovdqa %ymm15, 2176(%rax)
830vpaddw %ymm14, %ymm15, %ymm0
831vmovdqa %ymm0, 2272(%rax)
832vpaddw %ymm12, %ymm14, %ymm0
833vmovdqa %ymm0, 2368(%rax)
834vpaddw %ymm13, %ymm15, %ymm1
835vmovdqa %ymm1, 2464(%rax)
836vpaddw %ymm0, %ymm1, %ymm0
837vmovdqa %ymm0, 2560(%rax)
838vmovdqa 256(%r8), %ymm0
839vpsllw $2, %ymm0, %ymm0
840vpaddw 0(%r8), %ymm0, %ymm0
841vpsllw $2, %ymm4, %ymm1
842vpaddw 128(%r8), %ymm1, %ymm1
843vpsllw $1, %ymm1, %ymm1
844vpaddw %ymm1, %ymm0, %ymm8
845vpsubw %ymm1, %ymm0, %ymm12
846vmovdqa 288(%r8), %ymm0
847vpsllw $2, %ymm0, %ymm0
848vpaddw 32(%r8), %ymm0, %ymm0
849vpsllw $2, %ymm5, %ymm1
850vpaddw 160(%r8), %ymm1, %ymm1
851vpsllw $1, %ymm1, %ymm1
852vpaddw %ymm1, %ymm0, %ymm9
853vpsubw %ymm1, %ymm0, %ymm13
854vmovdqa 320(%r8), %ymm0
855vpsllw $2, %ymm0, %ymm0
856vpaddw 64(%r8), %ymm0, %ymm0
857vpsllw $2, %ymm6, %ymm1
858vpaddw 192(%r8), %ymm1, %ymm1
859vpsllw $1, %ymm1, %ymm1
860vpaddw %ymm1, %ymm0, %ymm10
861vpsubw %ymm1, %ymm0, %ymm14
862vmovdqa 352(%r8), %ymm0
863vpsllw $2, %ymm0, %ymm0
864vpaddw 96(%r8), %ymm0, %ymm0
865vpsllw $2, %ymm7, %ymm1
866vpaddw 224(%r8), %ymm1, %ymm1
867vpsllw $1, %ymm1, %ymm1
868vpaddw %ymm1, %ymm0, %ymm11
869vpsubw %ymm1, %ymm0, %ymm15
870vmovdqa %ymm8, 2656(%rax)
871vmovdqa %ymm9, 2752(%rax)
872vpaddw %ymm8, %ymm9, %ymm0
873vmovdqa %ymm0, 2848(%rax)
874vmovdqa %ymm10, 2944(%rax)
875vmovdqa %ymm11, 3040(%rax)
876vpaddw %ymm10, %ymm11, %ymm0
877vmovdqa %ymm0, 3136(%rax)
878vpaddw %ymm8, %ymm10, %ymm0
879vmovdqa %ymm0, 3232(%rax)
880vpaddw %ymm9, %ymm11, %ymm1
881vmovdqa %ymm1, 3328(%rax)
882vpaddw %ymm0, %ymm1, %ymm0
883vmovdqa %ymm0, 3424(%rax)
884vmovdqa %ymm12, 3520(%rax)
885vmovdqa %ymm13, 3616(%rax)
886vpaddw %ymm12, %ymm13, %ymm0
887vmovdqa %ymm0, 3712(%rax)
888vmovdqa %ymm14, 3808(%rax)
889vmovdqa %ymm15, 3904(%rax)
890vpaddw %ymm14, %ymm15, %ymm0
891vmovdqa %ymm0, 4000(%rax)
892vpaddw %ymm12, %ymm14, %ymm0
893vmovdqa %ymm0, 4096(%rax)
894vpaddw %ymm13, %ymm15, %ymm1
895vmovdqa %ymm1, 4192(%rax)
896vpaddw %ymm0, %ymm1, %ymm0
897vmovdqa %ymm0, 4288(%rax)
898vpmullw %ymm3, %ymm4, %ymm0
899vpaddw 256(%r8), %ymm0, %ymm0
900vpmullw %ymm3, %ymm0, %ymm0
901vpaddw 128(%r8), %ymm0, %ymm0
902vpmullw %ymm3, %ymm0, %ymm0
903vpaddw 0(%r8), %ymm0, %ymm12
904vpmullw %ymm3, %ymm5, %ymm0
905vpaddw 288(%r8), %ymm0, %ymm0
906vpmullw %ymm3, %ymm0, %ymm0
907vpaddw 160(%r8), %ymm0, %ymm0
908vpmullw %ymm3, %ymm0, %ymm0
909vpaddw 32(%r8), %ymm0, %ymm13
910vpmullw %ymm3, %ymm6, %ymm0
911vpaddw 320(%r8), %ymm0, %ymm0
912vpmullw %ymm3, %ymm0, %ymm0
913vpaddw 192(%r8), %ymm0, %ymm0
914vpmullw %ymm3, %ymm0, %ymm0
915vpaddw 64(%r8), %ymm0, %ymm14
916vpmullw %ymm3, %ymm7, %ymm0
917vpaddw 352(%r8), %ymm0, %ymm0
918vpmullw %ymm3, %ymm0, %ymm0
919vpaddw 224(%r8), %ymm0, %ymm0
920vpmullw %ymm3, %ymm0, %ymm0
921vpaddw 96(%r8), %ymm0, %ymm15
922vmovdqa %ymm12, 4384(%rax)
923vmovdqa %ymm13, 4480(%rax)
924vpaddw %ymm12, %ymm13, %ymm0
925vmovdqa %ymm0, 4576(%rax)
926vmovdqa %ymm14, 4672(%rax)
927vmovdqa %ymm15, 4768(%rax)
928vpaddw %ymm14, %ymm15, %ymm0
929vmovdqa %ymm0, 4864(%rax)
930vpaddw %ymm12, %ymm14, %ymm0
931vmovdqa %ymm0, 4960(%rax)
932vpaddw %ymm13, %ymm15, %ymm1
933vmovdqa %ymm1, 5056(%rax)
934vpaddw %ymm0, %ymm1, %ymm0
935vmovdqa %ymm0, 5152(%rax)
936vmovdqu 0(%rdx), %ymm0
937vmovdqu 88(%rdx), %ymm1
938vmovdqu 176(%rdx), %ymm2
939vmovdqu 264(%rdx), %ymm12
940vmovdqu 1056(%rdx), %ymm4
941vmovdqu 1144(%rdx), %ymm5
942vmovdqu 1232(%rdx), %ymm6
943vmovdqu 1320(%rdx), %ymm7
944vmovdqu 352(%rdx), %ymm8
945vmovdqu 440(%rdx), %ymm9
946vmovdqu 528(%rdx), %ymm10
947vmovdqu 616(%rdx), %ymm11
948vmovdqa %ymm0, 0(%r11)
949vmovdqa %ymm1, 96(%r11)
950vpaddw %ymm0, %ymm1, %ymm14
951vmovdqa %ymm14, 192(%r11)
952vmovdqa %ymm2, 288(%r11)
953vmovdqa %ymm12, 384(%r11)
954vpaddw %ymm2, %ymm12, %ymm14
955vmovdqa %ymm14, 480(%r11)
956vpaddw %ymm0, %ymm2, %ymm14
957vmovdqa %ymm14, 576(%r11)
958vpaddw %ymm1, %ymm12, %ymm15
959vmovdqa %ymm15, 672(%r11)
960vpaddw %ymm14, %ymm15, %ymm14
961vmovdqa %ymm14, 768(%r11)
962vmovdqa %ymm4, 5184(%r11)
963vmovdqa %ymm5, 5280(%r11)
964vpaddw %ymm4, %ymm5, %ymm14
965vmovdqa %ymm14, 5376(%r11)
966vmovdqa %ymm6, 5472(%r11)
967vmovdqa %ymm7, 5568(%r11)
968vpaddw %ymm6, %ymm7, %ymm14
969vmovdqa %ymm14, 5664(%r11)
970vpaddw %ymm4, %ymm6, %ymm14
971vmovdqa %ymm14, 5760(%r11)
972vpaddw %ymm5, %ymm7, %ymm15
973vmovdqa %ymm15, 5856(%r11)
974vpaddw %ymm14, %ymm15, %ymm14
975vmovdqa %ymm14, 5952(%r11)
976vmovdqa %ymm0, 0(%r8)
977vmovdqa %ymm1, 32(%r8)
978vmovdqa %ymm2, 64(%r8)
979vmovdqa %ymm12, 96(%r8)
980vmovdqa %ymm8, 128(%r8)
981vmovdqa %ymm9, 160(%r8)
982vmovdqa %ymm10, 192(%r8)
983vmovdqa %ymm11, 224(%r8)
984vmovdqu 704(%rdx), %ymm0
985vpaddw 0(%r8), %ymm0, %ymm1
986vpaddw 128(%r8), %ymm4, %ymm2
987vpaddw %ymm2, %ymm1, %ymm8
988vpsubw %ymm2, %ymm1, %ymm12
989vmovdqa %ymm0, 256(%r8)
990vmovdqu 792(%rdx), %ymm0
991vpaddw 32(%r8), %ymm0, %ymm1
992vpaddw 160(%r8), %ymm5, %ymm2
993vpaddw %ymm2, %ymm1, %ymm9
994vpsubw %ymm2, %ymm1, %ymm13
995vmovdqa %ymm0, 288(%r8)
996vmovdqu 880(%rdx), %ymm0
997vpaddw 64(%r8), %ymm0, %ymm1
998vpaddw 192(%r8), %ymm6, %ymm2
999vpaddw %ymm2, %ymm1, %ymm10
1000vpsubw %ymm2, %ymm1, %ymm14
1001vmovdqa %ymm0, 320(%r8)
1002vmovdqu 968(%rdx), %ymm0
1003vpaddw 96(%r8), %ymm0, %ymm1
1004vpaddw 224(%r8), %ymm7, %ymm2
1005vpaddw %ymm2, %ymm1, %ymm11
1006vpsubw %ymm2, %ymm1, %ymm15
1007vmovdqa %ymm0, 352(%r8)
1008vmovdqa %ymm8, 864(%r11)
1009vmovdqa %ymm9, 960(%r11)
1010vpaddw %ymm8, %ymm9, %ymm0
1011vmovdqa %ymm0, 1056(%r11)
1012vmovdqa %ymm10, 1152(%r11)
1013vmovdqa %ymm11, 1248(%r11)
1014vpaddw %ymm10, %ymm11, %ymm0
1015vmovdqa %ymm0, 1344(%r11)
1016vpaddw %ymm8, %ymm10, %ymm0
1017vmovdqa %ymm0, 1440(%r11)
1018vpaddw %ymm9, %ymm11, %ymm1
1019vmovdqa %ymm1, 1536(%r11)
1020vpaddw %ymm0, %ymm1, %ymm0
1021vmovdqa %ymm0, 1632(%r11)
1022vmovdqa %ymm12, 1728(%r11)
1023vmovdqa %ymm13, 1824(%r11)
1024vpaddw %ymm12, %ymm13, %ymm0
1025vmovdqa %ymm0, 1920(%r11)
1026vmovdqa %ymm14, 2016(%r11)
1027vmovdqa %ymm15, 2112(%r11)
1028vpaddw %ymm14, %ymm15, %ymm0
1029vmovdqa %ymm0, 2208(%r11)
1030vpaddw %ymm12, %ymm14, %ymm0
1031vmovdqa %ymm0, 2304(%r11)
1032vpaddw %ymm13, %ymm15, %ymm1
1033vmovdqa %ymm1, 2400(%r11)
1034vpaddw %ymm0, %ymm1, %ymm0
1035vmovdqa %ymm0, 2496(%r11)
1036vmovdqa 256(%r8), %ymm0
1037vpsllw $2, %ymm0, %ymm0
1038vpaddw 0(%r8), %ymm0, %ymm0
1039vpsllw $2, %ymm4, %ymm1
1040vpaddw 128(%r8), %ymm1, %ymm1
1041vpsllw $1, %ymm1, %ymm1
1042vpaddw %ymm1, %ymm0, %ymm8
1043vpsubw %ymm1, %ymm0, %ymm12
1044vmovdqa 288(%r8), %ymm0
1045vpsllw $2, %ymm0, %ymm0
1046vpaddw 32(%r8), %ymm0, %ymm0
1047vpsllw $2, %ymm5, %ymm1
1048vpaddw 160(%r8), %ymm1, %ymm1
1049vpsllw $1, %ymm1, %ymm1
1050vpaddw %ymm1, %ymm0, %ymm9
1051vpsubw %ymm1, %ymm0, %ymm13
1052vmovdqa 320(%r8), %ymm0
1053vpsllw $2, %ymm0, %ymm0
1054vpaddw 64(%r8), %ymm0, %ymm0
1055vpsllw $2, %ymm6, %ymm1
1056vpaddw 192(%r8), %ymm1, %ymm1
1057vpsllw $1, %ymm1, %ymm1
1058vpaddw %ymm1, %ymm0, %ymm10
1059vpsubw %ymm1, %ymm0, %ymm14
1060vmovdqa 352(%r8), %ymm0
1061vpsllw $2, %ymm0, %ymm0
1062vpaddw 96(%r8), %ymm0, %ymm0
1063vpsllw $2, %ymm7, %ymm1
1064vpaddw 224(%r8), %ymm1, %ymm1
1065vpsllw $1, %ymm1, %ymm1
1066vpaddw %ymm1, %ymm0, %ymm11
1067vpsubw %ymm1, %ymm0, %ymm15
1068vmovdqa %ymm8, 2592(%r11)
1069vmovdqa %ymm9, 2688(%r11)
1070vpaddw %ymm8, %ymm9, %ymm0
1071vmovdqa %ymm0, 2784(%r11)
1072vmovdqa %ymm10, 2880(%r11)
1073vmovdqa %ymm11, 2976(%r11)
1074vpaddw %ymm10, %ymm11, %ymm0
1075vmovdqa %ymm0, 3072(%r11)
1076vpaddw %ymm8, %ymm10, %ymm0
1077vmovdqa %ymm0, 3168(%r11)
1078vpaddw %ymm9, %ymm11, %ymm1
1079vmovdqa %ymm1, 3264(%r11)
1080vpaddw %ymm0, %ymm1, %ymm0
1081vmovdqa %ymm0, 3360(%r11)
1082vmovdqa %ymm12, 3456(%r11)
1083vmovdqa %ymm13, 3552(%r11)
1084vpaddw %ymm12, %ymm13, %ymm0
1085vmovdqa %ymm0, 3648(%r11)
1086vmovdqa %ymm14, 3744(%r11)
1087vmovdqa %ymm15, 3840(%r11)
1088vpaddw %ymm14, %ymm15, %ymm0
1089vmovdqa %ymm0, 3936(%r11)
1090vpaddw %ymm12, %ymm14, %ymm0
1091vmovdqa %ymm0, 4032(%r11)
1092vpaddw %ymm13, %ymm15, %ymm1
1093vmovdqa %ymm1, 4128(%r11)
1094vpaddw %ymm0, %ymm1, %ymm0
1095vmovdqa %ymm0, 4224(%r11)
1096vpmullw %ymm3, %ymm4, %ymm0
1097vpaddw 256(%r8), %ymm0, %ymm0
1098vpmullw %ymm3, %ymm0, %ymm0
1099vpaddw 128(%r8), %ymm0, %ymm0
1100vpmullw %ymm3, %ymm0, %ymm0
1101vpaddw 0(%r8), %ymm0, %ymm12
1102vpmullw %ymm3, %ymm5, %ymm0
1103vpaddw 288(%r8), %ymm0, %ymm0
1104vpmullw %ymm3, %ymm0, %ymm0
1105vpaddw 160(%r8), %ymm0, %ymm0
1106vpmullw %ymm3, %ymm0, %ymm0
1107vpaddw 32(%r8), %ymm0, %ymm13
1108vpmullw %ymm3, %ymm6, %ymm0
1109vpaddw 320(%r8), %ymm0, %ymm0
1110vpmullw %ymm3, %ymm0, %ymm0
1111vpaddw 192(%r8), %ymm0, %ymm0
1112vpmullw %ymm3, %ymm0, %ymm0
1113vpaddw 64(%r8), %ymm0, %ymm14
1114vpmullw %ymm3, %ymm7, %ymm0
1115vpaddw 352(%r8), %ymm0, %ymm0
1116vpmullw %ymm3, %ymm0, %ymm0
1117vpaddw 224(%r8), %ymm0, %ymm0
1118vpmullw %ymm3, %ymm0, %ymm0
1119vpaddw 96(%r8), %ymm0, %ymm15
1120vmovdqa %ymm12, 4320(%r11)
1121vmovdqa %ymm13, 4416(%r11)
1122vpaddw %ymm12, %ymm13, %ymm0
1123vmovdqa %ymm0, 4512(%r11)
1124vmovdqa %ymm14, 4608(%r11)
1125vmovdqa %ymm15, 4704(%r11)
1126vpaddw %ymm14, %ymm15, %ymm0
1127vmovdqa %ymm0, 4800(%r11)
1128vpaddw %ymm12, %ymm14, %ymm0
1129vmovdqa %ymm0, 4896(%r11)
1130vpaddw %ymm13, %ymm15, %ymm1
1131vmovdqa %ymm1, 4992(%r11)
1132vpaddw %ymm0, %ymm1, %ymm0
1133vmovdqa %ymm0, 5088(%r11)
1134vmovdqu 32(%rdx), %ymm0
1135vmovdqu 120(%rdx), %ymm1
1136vmovdqu 208(%rdx), %ymm2
1137vmovdqu 296(%rdx), %ymm12
1138vmovdqu 1088(%rdx), %ymm4
1139vmovdqu 1176(%rdx), %ymm5
1140vmovdqu 1264(%rdx), %ymm6
1141vmovdqu 1352(%rdx), %ymm7
1142vmovdqu 384(%rdx), %ymm8
1143vmovdqu 472(%rdx), %ymm9
1144vmovdqu 560(%rdx), %ymm10
1145vmovdqu 648(%rdx), %ymm11
1146vmovdqa %ymm0, 32(%r11)
1147vmovdqa %ymm1, 128(%r11)
1148vpaddw %ymm0, %ymm1, %ymm14
1149vmovdqa %ymm14, 224(%r11)
1150vmovdqa %ymm2, 320(%r11)
1151vmovdqa %ymm12, 416(%r11)
1152vpaddw %ymm2, %ymm12, %ymm14
1153vmovdqa %ymm14, 512(%r11)
1154vpaddw %ymm0, %ymm2, %ymm14
1155vmovdqa %ymm14, 608(%r11)
1156vpaddw %ymm1, %ymm12, %ymm15
1157vmovdqa %ymm15, 704(%r11)
1158vpaddw %ymm14, %ymm15, %ymm14
1159vmovdqa %ymm14, 800(%r11)
1160vmovdqa %ymm4, 5216(%r11)
1161vmovdqa %ymm5, 5312(%r11)
1162vpaddw %ymm4, %ymm5, %ymm14
1163vmovdqa %ymm14, 5408(%r11)
1164vmovdqa %ymm6, 5504(%r11)
1165vmovdqa %ymm7, 5600(%r11)
1166vpaddw %ymm6, %ymm7, %ymm14
1167vmovdqa %ymm14, 5696(%r11)
1168vpaddw %ymm4, %ymm6, %ymm14
1169vmovdqa %ymm14, 5792(%r11)
1170vpaddw %ymm5, %ymm7, %ymm15
1171vmovdqa %ymm15, 5888(%r11)
1172vpaddw %ymm14, %ymm15, %ymm14
1173vmovdqa %ymm14, 5984(%r11)
1174vmovdqa %ymm0, 0(%r8)
1175vmovdqa %ymm1, 32(%r8)
1176vmovdqa %ymm2, 64(%r8)
1177vmovdqa %ymm12, 96(%r8)
1178vmovdqa %ymm8, 128(%r8)
1179vmovdqa %ymm9, 160(%r8)
1180vmovdqa %ymm10, 192(%r8)
1181vmovdqa %ymm11, 224(%r8)
1182vmovdqu 736(%rdx), %ymm0
1183vpaddw 0(%r8), %ymm0, %ymm1
1184vpaddw 128(%r8), %ymm4, %ymm2
1185vpaddw %ymm2, %ymm1, %ymm8
1186vpsubw %ymm2, %ymm1, %ymm12
1187vmovdqa %ymm0, 256(%r8)
1188vmovdqu 824(%rdx), %ymm0
1189vpaddw 32(%r8), %ymm0, %ymm1
1190vpaddw 160(%r8), %ymm5, %ymm2
1191vpaddw %ymm2, %ymm1, %ymm9
1192vpsubw %ymm2, %ymm1, %ymm13
1193vmovdqa %ymm0, 288(%r8)
1194vmovdqu 912(%rdx), %ymm0
1195vpaddw 64(%r8), %ymm0, %ymm1
1196vpaddw 192(%r8), %ymm6, %ymm2
1197vpaddw %ymm2, %ymm1, %ymm10
1198vpsubw %ymm2, %ymm1, %ymm14
1199vmovdqa %ymm0, 320(%r8)
1200vmovdqu 1000(%rdx), %ymm0
1201vpaddw 96(%r8), %ymm0, %ymm1
1202vpaddw 224(%r8), %ymm7, %ymm2
1203vpaddw %ymm2, %ymm1, %ymm11
1204vpsubw %ymm2, %ymm1, %ymm15
1205vmovdqa %ymm0, 352(%r8)
1206vmovdqa %ymm8, 896(%r11)
1207vmovdqa %ymm9, 992(%r11)
1208vpaddw %ymm8, %ymm9, %ymm0
1209vmovdqa %ymm0, 1088(%r11)
1210vmovdqa %ymm10, 1184(%r11)
1211vmovdqa %ymm11, 1280(%r11)
1212vpaddw %ymm10, %ymm11, %ymm0
1213vmovdqa %ymm0, 1376(%r11)
1214vpaddw %ymm8, %ymm10, %ymm0
1215vmovdqa %ymm0, 1472(%r11)
1216vpaddw %ymm9, %ymm11, %ymm1
1217vmovdqa %ymm1, 1568(%r11)
1218vpaddw %ymm0, %ymm1, %ymm0
1219vmovdqa %ymm0, 1664(%r11)
1220vmovdqa %ymm12, 1760(%r11)
1221vmovdqa %ymm13, 1856(%r11)
1222vpaddw %ymm12, %ymm13, %ymm0
1223vmovdqa %ymm0, 1952(%r11)
1224vmovdqa %ymm14, 2048(%r11)
1225vmovdqa %ymm15, 2144(%r11)
1226vpaddw %ymm14, %ymm15, %ymm0
1227vmovdqa %ymm0, 2240(%r11)
1228vpaddw %ymm12, %ymm14, %ymm0
1229vmovdqa %ymm0, 2336(%r11)
1230vpaddw %ymm13, %ymm15, %ymm1
1231vmovdqa %ymm1, 2432(%r11)
1232vpaddw %ymm0, %ymm1, %ymm0
1233vmovdqa %ymm0, 2528(%r11)
1234vmovdqa 256(%r8), %ymm0
1235vpsllw $2, %ymm0, %ymm0
1236vpaddw 0(%r8), %ymm0, %ymm0
1237vpsllw $2, %ymm4, %ymm1
1238vpaddw 128(%r8), %ymm1, %ymm1
1239vpsllw $1, %ymm1, %ymm1
1240vpaddw %ymm1, %ymm0, %ymm8
1241vpsubw %ymm1, %ymm0, %ymm12
1242vmovdqa 288(%r8), %ymm0
1243vpsllw $2, %ymm0, %ymm0
1244vpaddw 32(%r8), %ymm0, %ymm0
1245vpsllw $2, %ymm5, %ymm1
1246vpaddw 160(%r8), %ymm1, %ymm1
1247vpsllw $1, %ymm1, %ymm1
1248vpaddw %ymm1, %ymm0, %ymm9
1249vpsubw %ymm1, %ymm0, %ymm13
1250vmovdqa 320(%r8), %ymm0
1251vpsllw $2, %ymm0, %ymm0
1252vpaddw 64(%r8), %ymm0, %ymm0
1253vpsllw $2, %ymm6, %ymm1
1254vpaddw 192(%r8), %ymm1, %ymm1
1255vpsllw $1, %ymm1, %ymm1
1256vpaddw %ymm1, %ymm0, %ymm10
1257vpsubw %ymm1, %ymm0, %ymm14
1258vmovdqa 352(%r8), %ymm0
1259vpsllw $2, %ymm0, %ymm0
1260vpaddw 96(%r8), %ymm0, %ymm0
1261vpsllw $2, %ymm7, %ymm1
1262vpaddw 224(%r8), %ymm1, %ymm1
1263vpsllw $1, %ymm1, %ymm1
1264vpaddw %ymm1, %ymm0, %ymm11
1265vpsubw %ymm1, %ymm0, %ymm15
1266vmovdqa %ymm8, 2624(%r11)
1267vmovdqa %ymm9, 2720(%r11)
1268vpaddw %ymm8, %ymm9, %ymm0
1269vmovdqa %ymm0, 2816(%r11)
1270vmovdqa %ymm10, 2912(%r11)
1271vmovdqa %ymm11, 3008(%r11)
1272vpaddw %ymm10, %ymm11, %ymm0
1273vmovdqa %ymm0, 3104(%r11)
1274vpaddw %ymm8, %ymm10, %ymm0
1275vmovdqa %ymm0, 3200(%r11)
1276vpaddw %ymm9, %ymm11, %ymm1
1277vmovdqa %ymm1, 3296(%r11)
1278vpaddw %ymm0, %ymm1, %ymm0
1279vmovdqa %ymm0, 3392(%r11)
1280vmovdqa %ymm12, 3488(%r11)
1281vmovdqa %ymm13, 3584(%r11)
1282vpaddw %ymm12, %ymm13, %ymm0
1283vmovdqa %ymm0, 3680(%r11)
1284vmovdqa %ymm14, 3776(%r11)
1285vmovdqa %ymm15, 3872(%r11)
1286vpaddw %ymm14, %ymm15, %ymm0
1287vmovdqa %ymm0, 3968(%r11)
1288vpaddw %ymm12, %ymm14, %ymm0
1289vmovdqa %ymm0, 4064(%r11)
1290vpaddw %ymm13, %ymm15, %ymm1
1291vmovdqa %ymm1, 4160(%r11)
1292vpaddw %ymm0, %ymm1, %ymm0
1293vmovdqa %ymm0, 4256(%r11)
1294vpmullw %ymm3, %ymm4, %ymm0
1295vpaddw 256(%r8), %ymm0, %ymm0
1296vpmullw %ymm3, %ymm0, %ymm0
1297vpaddw 128(%r8), %ymm0, %ymm0
1298vpmullw %ymm3, %ymm0, %ymm0
1299vpaddw 0(%r8), %ymm0, %ymm12
1300vpmullw %ymm3, %ymm5, %ymm0
1301vpaddw 288(%r8), %ymm0, %ymm0
1302vpmullw %ymm3, %ymm0, %ymm0
1303vpaddw 160(%r8), %ymm0, %ymm0
1304vpmullw %ymm3, %ymm0, %ymm0
1305vpaddw 32(%r8), %ymm0, %ymm13
1306vpmullw %ymm3, %ymm6, %ymm0
1307vpaddw 320(%r8), %ymm0, %ymm0
1308vpmullw %ymm3, %ymm0, %ymm0
1309vpaddw 192(%r8), %ymm0, %ymm0
1310vpmullw %ymm3, %ymm0, %ymm0
1311vpaddw 64(%r8), %ymm0, %ymm14
1312vpmullw %ymm3, %ymm7, %ymm0
1313vpaddw 352(%r8), %ymm0, %ymm0
1314vpmullw %ymm3, %ymm0, %ymm0
1315vpaddw 224(%r8), %ymm0, %ymm0
1316vpmullw %ymm3, %ymm0, %ymm0
1317vpaddw 96(%r8), %ymm0, %ymm15
1318vmovdqa %ymm12, 4352(%r11)
1319vmovdqa %ymm13, 4448(%r11)
1320vpaddw %ymm12, %ymm13, %ymm0
1321vmovdqa %ymm0, 4544(%r11)
1322vmovdqa %ymm14, 4640(%r11)
1323vmovdqa %ymm15, 4736(%r11)
1324vpaddw %ymm14, %ymm15, %ymm0
1325vmovdqa %ymm0, 4832(%r11)
1326vpaddw %ymm12, %ymm14, %ymm0
1327vmovdqa %ymm0, 4928(%r11)
1328vpaddw %ymm13, %ymm15, %ymm1
1329vmovdqa %ymm1, 5024(%r11)
1330vpaddw %ymm0, %ymm1, %ymm0
1331vmovdqa %ymm0, 5120(%r11)
1332vmovdqu 64(%rdx), %ymm0
1333vmovdqu 152(%rdx), %ymm1
1334vmovdqu 240(%rdx), %ymm2
1335vmovdqu 328(%rdx), %ymm12
1336vmovdqu 1120(%rdx), %ymm4
1337vmovdqu 1208(%rdx), %ymm5
1338vmovdqu 1296(%rdx), %ymm6
1339
1340# Only 18 bytes more can be read, but vmovdqu reads 32.
1341# Copy 18 bytes to the red zone and zero pad to 32 bytes.
1342xor %r9, %r9
1343movq %r9, -16(%rsp)
1344movq %r9, -8(%rsp)
1345movq 1384(%rdx), %r9
1346movq %r9, -32(%rsp)
1347movq 1384+8(%rdx), %r9
1348movq %r9, -24(%rsp)
1349movw 1384+16(%rdx), %r9w
1350movw %r9w, -16(%rsp)
1351vmovdqu -32(%rsp), %ymm7
1352
1353vmovdqu 416(%rdx), %ymm8
1354vmovdqu 504(%rdx), %ymm9
1355vmovdqu 592(%rdx), %ymm10
1356vmovdqu 680(%rdx), %ymm11
1357vmovdqa %ymm0, 64(%r11)
1358vmovdqa %ymm1, 160(%r11)
1359vpaddw %ymm0, %ymm1, %ymm14
1360vmovdqa %ymm14, 256(%r11)
1361vmovdqa %ymm2, 352(%r11)
1362vmovdqa %ymm12, 448(%r11)
1363vpaddw %ymm2, %ymm12, %ymm14
1364vmovdqa %ymm14, 544(%r11)
1365vpaddw %ymm0, %ymm2, %ymm14
1366vmovdqa %ymm14, 640(%r11)
1367vpaddw %ymm1, %ymm12, %ymm15
1368vmovdqa %ymm15, 736(%r11)
1369vpaddw %ymm14, %ymm15, %ymm14
1370vmovdqa %ymm14, 832(%r11)
1371vmovdqa %ymm4, 5248(%r11)
1372vmovdqa %ymm5, 5344(%r11)
1373vpaddw %ymm4, %ymm5, %ymm14
1374vmovdqa %ymm14, 5440(%r11)
1375vmovdqa %ymm6, 5536(%r11)
1376vmovdqa %ymm7, 5632(%r11)
1377vpaddw %ymm6, %ymm7, %ymm14
1378vmovdqa %ymm14, 5728(%r11)
1379vpaddw %ymm4, %ymm6, %ymm14
1380vmovdqa %ymm14, 5824(%r11)
1381vpaddw %ymm5, %ymm7, %ymm15
1382vmovdqa %ymm15, 5920(%r11)
1383vpaddw %ymm14, %ymm15, %ymm14
1384vmovdqa %ymm14, 6016(%r11)
1385vmovdqa %ymm0, 0(%r8)
1386vmovdqa %ymm1, 32(%r8)
1387vmovdqa %ymm2, 64(%r8)
1388vmovdqa %ymm12, 96(%r8)
1389vmovdqa %ymm8, 128(%r8)
1390vmovdqa %ymm9, 160(%r8)
1391vmovdqa %ymm10, 192(%r8)
1392vmovdqa %ymm11, 224(%r8)
1393vmovdqu 768(%rdx), %ymm0
1394vpaddw 0(%r8), %ymm0, %ymm1
1395vpaddw 128(%r8), %ymm4, %ymm2
1396vpaddw %ymm2, %ymm1, %ymm8
1397vpsubw %ymm2, %ymm1, %ymm12
1398vmovdqa %ymm0, 256(%r8)
1399vmovdqu 856(%rdx), %ymm0
1400vpaddw 32(%r8), %ymm0, %ymm1
1401vpaddw 160(%r8), %ymm5, %ymm2
1402vpaddw %ymm2, %ymm1, %ymm9
1403vpsubw %ymm2, %ymm1, %ymm13
1404vmovdqa %ymm0, 288(%r8)
1405vmovdqu 944(%rdx), %ymm0
1406vpaddw 64(%r8), %ymm0, %ymm1
1407vpaddw 192(%r8), %ymm6, %ymm2
1408vpaddw %ymm2, %ymm1, %ymm10
1409vpsubw %ymm2, %ymm1, %ymm14
1410vmovdqa %ymm0, 320(%r8)
1411vmovdqu 1032(%rdx), %ymm0
1412vpaddw 96(%r8), %ymm0, %ymm1
1413vpaddw 224(%r8), %ymm7, %ymm2
1414vpaddw %ymm2, %ymm1, %ymm11
1415vpsubw %ymm2, %ymm1, %ymm15
1416vmovdqa %ymm0, 352(%r8)
1417vmovdqa %ymm8, 928(%r11)
1418vmovdqa %ymm9, 1024(%r11)
1419vpaddw %ymm8, %ymm9, %ymm0
1420vmovdqa %ymm0, 1120(%r11)
1421vmovdqa %ymm10, 1216(%r11)
1422vmovdqa %ymm11, 1312(%r11)
1423vpaddw %ymm10, %ymm11, %ymm0
1424vmovdqa %ymm0, 1408(%r11)
1425vpaddw %ymm8, %ymm10, %ymm0
1426vmovdqa %ymm0, 1504(%r11)
1427vpaddw %ymm9, %ymm11, %ymm1
1428vmovdqa %ymm1, 1600(%r11)
1429vpaddw %ymm0, %ymm1, %ymm0
1430vmovdqa %ymm0, 1696(%r11)
1431vmovdqa %ymm12, 1792(%r11)
1432vmovdqa %ymm13, 1888(%r11)
1433vpaddw %ymm12, %ymm13, %ymm0
1434vmovdqa %ymm0, 1984(%r11)
1435vmovdqa %ymm14, 2080(%r11)
1436vmovdqa %ymm15, 2176(%r11)
1437vpaddw %ymm14, %ymm15, %ymm0
1438vmovdqa %ymm0, 2272(%r11)
1439vpaddw %ymm12, %ymm14, %ymm0
1440vmovdqa %ymm0, 2368(%r11)
1441vpaddw %ymm13, %ymm15, %ymm1
1442vmovdqa %ymm1, 2464(%r11)
1443vpaddw %ymm0, %ymm1, %ymm0
1444vmovdqa %ymm0, 2560(%r11)
1445vmovdqa 256(%r8), %ymm0
1446vpsllw $2, %ymm0, %ymm0
1447vpaddw 0(%r8), %ymm0, %ymm0
1448vpsllw $2, %ymm4, %ymm1
1449vpaddw 128(%r8), %ymm1, %ymm1
1450vpsllw $1, %ymm1, %ymm1
1451vpaddw %ymm1, %ymm0, %ymm8
1452vpsubw %ymm1, %ymm0, %ymm12
1453vmovdqa 288(%r8), %ymm0
1454vpsllw $2, %ymm0, %ymm0
1455vpaddw 32(%r8), %ymm0, %ymm0
1456vpsllw $2, %ymm5, %ymm1
1457vpaddw 160(%r8), %ymm1, %ymm1
1458vpsllw $1, %ymm1, %ymm1
1459vpaddw %ymm1, %ymm0, %ymm9
1460vpsubw %ymm1, %ymm0, %ymm13
1461vmovdqa 320(%r8), %ymm0
1462vpsllw $2, %ymm0, %ymm0
1463vpaddw 64(%r8), %ymm0, %ymm0
1464vpsllw $2, %ymm6, %ymm1
1465vpaddw 192(%r8), %ymm1, %ymm1
1466vpsllw $1, %ymm1, %ymm1
1467vpaddw %ymm1, %ymm0, %ymm10
1468vpsubw %ymm1, %ymm0, %ymm14
1469vmovdqa 352(%r8), %ymm0
1470vpsllw $2, %ymm0, %ymm0
1471vpaddw 96(%r8), %ymm0, %ymm0
1472vpsllw $2, %ymm7, %ymm1
1473vpaddw 224(%r8), %ymm1, %ymm1
1474vpsllw $1, %ymm1, %ymm1
1475vpaddw %ymm1, %ymm0, %ymm11
1476vpsubw %ymm1, %ymm0, %ymm15
1477vmovdqa %ymm8, 2656(%r11)
1478vmovdqa %ymm9, 2752(%r11)
1479vpaddw %ymm8, %ymm9, %ymm0
1480vmovdqa %ymm0, 2848(%r11)
1481vmovdqa %ymm10, 2944(%r11)
1482vmovdqa %ymm11, 3040(%r11)
1483vpaddw %ymm10, %ymm11, %ymm0
1484vmovdqa %ymm0, 3136(%r11)
1485vpaddw %ymm8, %ymm10, %ymm0
1486vmovdqa %ymm0, 3232(%r11)
1487vpaddw %ymm9, %ymm11, %ymm1
1488vmovdqa %ymm1, 3328(%r11)
1489vpaddw %ymm0, %ymm1, %ymm0
1490vmovdqa %ymm0, 3424(%r11)
1491vmovdqa %ymm12, 3520(%r11)
1492vmovdqa %ymm13, 3616(%r11)
1493vpaddw %ymm12, %ymm13, %ymm0
1494vmovdqa %ymm0, 3712(%r11)
1495vmovdqa %ymm14, 3808(%r11)
1496vmovdqa %ymm15, 3904(%r11)
1497vpaddw %ymm14, %ymm15, %ymm0
1498vmovdqa %ymm0, 4000(%r11)
1499vpaddw %ymm12, %ymm14, %ymm0
1500vmovdqa %ymm0, 4096(%r11)
1501vpaddw %ymm13, %ymm15, %ymm1
1502vmovdqa %ymm1, 4192(%r11)
1503vpaddw %ymm0, %ymm1, %ymm0
1504vmovdqa %ymm0, 4288(%r11)
1505vpmullw %ymm3, %ymm4, %ymm0
1506vpaddw 256(%r8), %ymm0, %ymm0
1507vpmullw %ymm3, %ymm0, %ymm0
1508vpaddw 128(%r8), %ymm0, %ymm0
1509vpmullw %ymm3, %ymm0, %ymm0
1510vpaddw 0(%r8), %ymm0, %ymm12
1511vpmullw %ymm3, %ymm5, %ymm0
1512vpaddw 288(%r8), %ymm0, %ymm0
1513vpmullw %ymm3, %ymm0, %ymm0
1514vpaddw 160(%r8), %ymm0, %ymm0
1515vpmullw %ymm3, %ymm0, %ymm0
1516vpaddw 32(%r8), %ymm0, %ymm13
1517vpmullw %ymm3, %ymm6, %ymm0
1518vpaddw 320(%r8), %ymm0, %ymm0
1519vpmullw %ymm3, %ymm0, %ymm0
1520vpaddw 192(%r8), %ymm0, %ymm0
1521vpmullw %ymm3, %ymm0, %ymm0
1522vpaddw 64(%r8), %ymm0, %ymm14
1523vpmullw %ymm3, %ymm7, %ymm0
1524vpaddw 352(%r8), %ymm0, %ymm0
1525vpmullw %ymm3, %ymm0, %ymm0
1526vpaddw 224(%r8), %ymm0, %ymm0
1527vpmullw %ymm3, %ymm0, %ymm0
1528vpaddw 96(%r8), %ymm0, %ymm15
1529vmovdqa %ymm12, 4384(%r11)
1530vmovdqa %ymm13, 4480(%r11)
1531vpaddw %ymm12, %ymm13, %ymm0
1532vmovdqa %ymm0, 4576(%r11)
1533vmovdqa %ymm14, 4672(%r11)
1534vmovdqa %ymm15, 4768(%r11)
1535vpaddw %ymm14, %ymm15, %ymm0
1536vmovdqa %ymm0, 4864(%r11)
1537vpaddw %ymm12, %ymm14, %ymm0
1538vmovdqa %ymm0, 4960(%r11)
1539vpaddw %ymm13, %ymm15, %ymm1
1540vmovdqa %ymm1, 5056(%r11)
1541vpaddw %ymm0, %ymm1, %ymm0
1542vmovdqa %ymm0, 5152(%r11)
1543subq $9408, %r8
1544mov $4, %ecx
1545karatsuba_loop_4eced63f144beffcb0247f9c6f67d165:
1546mov %r8, %r9
1547mov %r8, %r10
1548subq $32, %r8
1549vmovdqa 0(%rax), %ymm0
1550vmovdqa 192(%rax), %ymm1
1551vmovdqa 384(%rax), %ymm2
1552vmovdqa 576(%rax), %ymm3
1553vpunpcklwd 96(%rax), %ymm0, %ymm4
1554vpunpckhwd 96(%rax), %ymm0, %ymm5
1555vpunpcklwd 288(%rax), %ymm1, %ymm6
1556vpunpckhwd 288(%rax), %ymm1, %ymm7
1557vpunpcklwd 480(%rax), %ymm2, %ymm8
1558vpunpckhwd 480(%rax), %ymm2, %ymm9
1559vpunpcklwd 672(%rax), %ymm3, %ymm10
1560vpunpckhwd 672(%rax), %ymm3, %ymm11
1561vpunpckldq %ymm6, %ymm4, %ymm0
1562vpunpckhdq %ymm6, %ymm4, %ymm1
1563vpunpckldq %ymm7, %ymm5, %ymm2
1564vpunpckhdq %ymm7, %ymm5, %ymm3
1565vpunpckldq %ymm10, %ymm8, %ymm12
1566vpunpckhdq %ymm10, %ymm8, %ymm13
1567vpunpckldq %ymm11, %ymm9, %ymm14
1568vpunpckhdq %ymm11, %ymm9, %ymm15
1569vpunpcklqdq %ymm12, %ymm0, %ymm4
1570vpunpckhqdq %ymm12, %ymm0, %ymm5
1571vpunpcklqdq %ymm13, %ymm1, %ymm6
1572vpunpckhqdq %ymm13, %ymm1, %ymm7
1573vpunpcklqdq %ymm14, %ymm2, %ymm8
1574vpunpckhqdq %ymm14, %ymm2, %ymm9
1575vpunpcklqdq %ymm15, %ymm3, %ymm10
1576vpunpckhqdq %ymm15, %ymm3, %ymm11
1577vmovdqa 768(%rax), %ymm0
1578vmovdqa 960(%rax), %ymm1
1579vmovdqa 1152(%rax), %ymm2
1580vmovdqa 1344(%rax), %ymm3
1581vpunpcklwd 864(%rax), %ymm0, %ymm12
1582vpunpckhwd 864(%rax), %ymm0, %ymm13
1583vpunpcklwd 1056(%rax), %ymm1, %ymm14
1584vpunpckhwd 1056(%rax), %ymm1, %ymm15
1585vpunpcklwd 1248(%rax), %ymm2, %ymm0
1586vpunpckhwd 1248(%rax), %ymm2, %ymm1
1587vpunpcklwd 1440(%rax), %ymm3, %ymm2
1588vpunpckhwd 1440(%rax), %ymm3, %ymm3
1589vmovdqa %ymm11, 0(%r8)
1590vpunpckldq %ymm14, %ymm12, %ymm11
1591vpunpckhdq %ymm14, %ymm12, %ymm12
1592vpunpckldq %ymm15, %ymm13, %ymm14
1593vpunpckhdq %ymm15, %ymm13, %ymm15
1594vpunpckldq %ymm2, %ymm0, %ymm13
1595vpunpckhdq %ymm2, %ymm0, %ymm0
1596vpunpckldq %ymm3, %ymm1, %ymm2
1597vpunpckhdq %ymm3, %ymm1, %ymm1
1598vpunpcklqdq %ymm13, %ymm11, %ymm3
1599vpunpckhqdq %ymm13, %ymm11, %ymm13
1600vpunpcklqdq %ymm0, %ymm12, %ymm11
1601vpunpckhqdq %ymm0, %ymm12, %ymm0
1602vpunpcklqdq %ymm2, %ymm14, %ymm12
1603vpunpckhqdq %ymm2, %ymm14, %ymm2
1604vpunpcklqdq %ymm1, %ymm15, %ymm14
1605vpunpckhqdq %ymm1, %ymm15, %ymm1
1606vinserti128 $1, %xmm3, %ymm4, %ymm15
1607vmovdqa %ymm15, 0(%r9)
1608vinserti128 $1, %xmm13, %ymm5, %ymm15
1609vmovdqa %ymm15, 32(%r9)
1610vinserti128 $1, %xmm11, %ymm6, %ymm15
1611vmovdqa %ymm15, 64(%r9)
1612vinserti128 $1, %xmm0, %ymm7, %ymm15
1613vmovdqa %ymm15, 96(%r9)
1614vinserti128 $1, %xmm12, %ymm8, %ymm15
1615vmovdqa %ymm15, 128(%r9)
1616vinserti128 $1, %xmm2, %ymm9, %ymm15
1617vmovdqa %ymm15, 160(%r9)
1618vinserti128 $1, %xmm14, %ymm10, %ymm15
1619vmovdqa %ymm15, 192(%r9)
1620vpermq $78, %ymm4, %ymm4
1621vpermq $78, %ymm5, %ymm5
1622vpermq $78, %ymm6, %ymm6
1623vpermq $78, %ymm7, %ymm7
1624vpermq $78, %ymm8, %ymm8
1625vpermq $78, %ymm9, %ymm9
1626vpermq $78, %ymm10, %ymm10
1627vinserti128 $0, %xmm4, %ymm3, %ymm15
1628vmovdqa %ymm15, 256(%r9)
1629vinserti128 $0, %xmm5, %ymm13, %ymm15
1630vmovdqa %ymm15, 288(%r9)
1631vinserti128 $0, %xmm6, %ymm11, %ymm15
1632vmovdqa %ymm15, 320(%r9)
1633vinserti128 $0, %xmm7, %ymm0, %ymm15
1634vmovdqa %ymm15, 352(%r9)
1635vinserti128 $0, %xmm8, %ymm12, %ymm15
1636vmovdqa %ymm15, 384(%r9)
1637vinserti128 $0, %xmm9, %ymm2, %ymm15
1638vmovdqa %ymm15, 416(%r9)
1639vinserti128 $0, %xmm10, %ymm14, %ymm15
1640vmovdqa %ymm15, 448(%r9)
1641vmovdqa 0(%r8), %ymm11
1642vinserti128 $1, %xmm1, %ymm11, %ymm14
1643vmovdqa %ymm14, 224(%r9)
1644vpermq $78, %ymm11, %ymm11
1645vinserti128 $0, %xmm11, %ymm1, %ymm1
1646vmovdqa %ymm1, 480(%r9)
1647vmovdqa 32(%rax), %ymm0
1648vmovdqa 224(%rax), %ymm1
1649vmovdqa 416(%rax), %ymm2
1650vmovdqa 608(%rax), %ymm3
1651vpunpcklwd 128(%rax), %ymm0, %ymm4
1652vpunpckhwd 128(%rax), %ymm0, %ymm5
1653vpunpcklwd 320(%rax), %ymm1, %ymm6
1654vpunpckhwd 320(%rax), %ymm1, %ymm7
1655vpunpcklwd 512(%rax), %ymm2, %ymm8
1656vpunpckhwd 512(%rax), %ymm2, %ymm9
1657vpunpcklwd 704(%rax), %ymm3, %ymm10
1658vpunpckhwd 704(%rax), %ymm3, %ymm11
1659vpunpckldq %ymm6, %ymm4, %ymm0
1660vpunpckhdq %ymm6, %ymm4, %ymm1
1661vpunpckldq %ymm7, %ymm5, %ymm2
1662vpunpckhdq %ymm7, %ymm5, %ymm3
1663vpunpckldq %ymm10, %ymm8, %ymm12
1664vpunpckhdq %ymm10, %ymm8, %ymm13
1665vpunpckldq %ymm11, %ymm9, %ymm14
1666vpunpckhdq %ymm11, %ymm9, %ymm15
1667vpunpcklqdq %ymm12, %ymm0, %ymm4
1668vpunpckhqdq %ymm12, %ymm0, %ymm5
1669vpunpcklqdq %ymm13, %ymm1, %ymm6
1670vpunpckhqdq %ymm13, %ymm1, %ymm7
1671vpunpcklqdq %ymm14, %ymm2, %ymm8
1672vpunpckhqdq %ymm14, %ymm2, %ymm9
1673vpunpcklqdq %ymm15, %ymm3, %ymm10
1674vpunpckhqdq %ymm15, %ymm3, %ymm11
1675vmovdqa 800(%rax), %ymm0
1676vmovdqa 992(%rax), %ymm1
1677vmovdqa 1184(%rax), %ymm2
1678vmovdqa 1376(%rax), %ymm3
1679vpunpcklwd 896(%rax), %ymm0, %ymm12
1680vpunpckhwd 896(%rax), %ymm0, %ymm13
1681vpunpcklwd 1088(%rax), %ymm1, %ymm14
1682vpunpckhwd 1088(%rax), %ymm1, %ymm15
1683vpunpcklwd 1280(%rax), %ymm2, %ymm0
1684vpunpckhwd 1280(%rax), %ymm2, %ymm1
1685vpunpcklwd 1472(%rax), %ymm3, %ymm2
1686vpunpckhwd 1472(%rax), %ymm3, %ymm3
1687vmovdqa %ymm11, 0(%r8)
1688vpunpckldq %ymm14, %ymm12, %ymm11
1689vpunpckhdq %ymm14, %ymm12, %ymm12
1690vpunpckldq %ymm15, %ymm13, %ymm14
1691vpunpckhdq %ymm15, %ymm13, %ymm15
1692vpunpckldq %ymm2, %ymm0, %ymm13
1693vpunpckhdq %ymm2, %ymm0, %ymm0
1694vpunpckldq %ymm3, %ymm1, %ymm2
1695vpunpckhdq %ymm3, %ymm1, %ymm1
1696vpunpcklqdq %ymm13, %ymm11, %ymm3
1697vpunpckhqdq %ymm13, %ymm11, %ymm13
1698vpunpcklqdq %ymm0, %ymm12, %ymm11
1699vpunpckhqdq %ymm0, %ymm12, %ymm0
1700vpunpcklqdq %ymm2, %ymm14, %ymm12
1701vpunpckhqdq %ymm2, %ymm14, %ymm2
1702vpunpcklqdq %ymm1, %ymm15, %ymm14
1703vpunpckhqdq %ymm1, %ymm15, %ymm1
1704vinserti128 $1, %xmm3, %ymm4, %ymm15
1705vmovdqa %ymm15, 512(%r9)
1706vinserti128 $1, %xmm13, %ymm5, %ymm15
1707vmovdqa %ymm15, 544(%r9)
1708vinserti128 $1, %xmm11, %ymm6, %ymm15
1709vmovdqa %ymm15, 576(%r9)
1710vinserti128 $1, %xmm0, %ymm7, %ymm15
1711vmovdqa %ymm15, 608(%r9)
1712vinserti128 $1, %xmm12, %ymm8, %ymm15
1713vmovdqa %ymm15, 640(%r9)
1714vinserti128 $1, %xmm2, %ymm9, %ymm15
1715vmovdqa %ymm15, 672(%r9)
1716vinserti128 $1, %xmm14, %ymm10, %ymm15
1717vmovdqa %ymm15, 704(%r9)
1718vpermq $78, %ymm4, %ymm4
1719vpermq $78, %ymm5, %ymm5
1720vpermq $78, %ymm6, %ymm6
1721vpermq $78, %ymm7, %ymm7
1722vpermq $78, %ymm8, %ymm8
1723vpermq $78, %ymm9, %ymm9
1724vpermq $78, %ymm10, %ymm10
1725vinserti128 $0, %xmm4, %ymm3, %ymm15
1726vmovdqa %ymm15, 768(%r9)
1727vinserti128 $0, %xmm5, %ymm13, %ymm15
1728vmovdqa %ymm15, 800(%r9)
1729vinserti128 $0, %xmm6, %ymm11, %ymm15
1730vmovdqa %ymm15, 832(%r9)
1731vinserti128 $0, %xmm7, %ymm0, %ymm15
1732vmovdqa %ymm15, 864(%r9)
1733vinserti128 $0, %xmm8, %ymm12, %ymm15
1734vmovdqa %ymm15, 896(%r9)
1735vinserti128 $0, %xmm9, %ymm2, %ymm15
1736vmovdqa %ymm15, 928(%r9)
1737vinserti128 $0, %xmm10, %ymm14, %ymm15
1738vmovdqa %ymm15, 960(%r9)
1739vmovdqa 0(%r8), %ymm11
1740vinserti128 $1, %xmm1, %ymm11, %ymm14
1741vmovdqa %ymm14, 736(%r9)
1742vpermq $78, %ymm11, %ymm11
1743vinserti128 $0, %xmm11, %ymm1, %ymm1
1744vmovdqa %ymm1, 992(%r9)
1745vmovdqa 64(%rax), %ymm0
1746vmovdqa 256(%rax), %ymm1
1747vmovdqa 448(%rax), %ymm2
1748vmovdqa 640(%rax), %ymm3
1749vpunpcklwd 160(%rax), %ymm0, %ymm4
1750vpunpckhwd 160(%rax), %ymm0, %ymm5
1751vpunpcklwd 352(%rax), %ymm1, %ymm6
1752vpunpckhwd 352(%rax), %ymm1, %ymm7
1753vpunpcklwd 544(%rax), %ymm2, %ymm8
1754vpunpckhwd 544(%rax), %ymm2, %ymm9
1755vpunpcklwd 736(%rax), %ymm3, %ymm10
1756vpunpckhwd 736(%rax), %ymm3, %ymm11
1757vpunpckldq %ymm6, %ymm4, %ymm0
1758vpunpckhdq %ymm6, %ymm4, %ymm1
1759vpunpckldq %ymm7, %ymm5, %ymm2
1760vpunpckhdq %ymm7, %ymm5, %ymm3
1761vpunpckldq %ymm10, %ymm8, %ymm12
1762vpunpckhdq %ymm10, %ymm8, %ymm13
1763vpunpckldq %ymm11, %ymm9, %ymm14
1764vpunpckhdq %ymm11, %ymm9, %ymm15
1765vpunpcklqdq %ymm12, %ymm0, %ymm4
1766vpunpckhqdq %ymm12, %ymm0, %ymm5
1767vpunpcklqdq %ymm13, %ymm1, %ymm6
1768vpunpckhqdq %ymm13, %ymm1, %ymm7
1769vpunpcklqdq %ymm14, %ymm2, %ymm8
1770vpunpckhqdq %ymm14, %ymm2, %ymm9
1771vpunpcklqdq %ymm15, %ymm3, %ymm10
1772vpunpckhqdq %ymm15, %ymm3, %ymm11
1773vmovdqa 832(%rax), %ymm0
1774vmovdqa 1024(%rax), %ymm1
1775vmovdqa 1216(%rax), %ymm2
1776vmovdqa 1408(%rax), %ymm3
1777vpunpcklwd 928(%rax), %ymm0, %ymm12
1778vpunpckhwd 928(%rax), %ymm0, %ymm13
1779vpunpcklwd 1120(%rax), %ymm1, %ymm14
1780vpunpckhwd 1120(%rax), %ymm1, %ymm15
1781vpunpcklwd 1312(%rax), %ymm2, %ymm0
1782vpunpckhwd 1312(%rax), %ymm2, %ymm1
1783vpunpcklwd 1504(%rax), %ymm3, %ymm2
1784vpunpckhwd 1504(%rax), %ymm3, %ymm3
1785vmovdqa %ymm11, 0(%r8)
1786vpunpckldq %ymm14, %ymm12, %ymm11
1787vpunpckhdq %ymm14, %ymm12, %ymm12
1788vpunpckldq %ymm15, %ymm13, %ymm14
1789vpunpckhdq %ymm15, %ymm13, %ymm15
1790vpunpckldq %ymm2, %ymm0, %ymm13
1791vpunpckhdq %ymm2, %ymm0, %ymm0
1792vpunpckldq %ymm3, %ymm1, %ymm2
1793vpunpckhdq %ymm3, %ymm1, %ymm1
1794vpunpcklqdq %ymm13, %ymm11, %ymm3
1795vpunpckhqdq %ymm13, %ymm11, %ymm13
1796vpunpcklqdq %ymm0, %ymm12, %ymm11
1797vpunpckhqdq %ymm0, %ymm12, %ymm0
1798vpunpcklqdq %ymm2, %ymm14, %ymm12
1799vpunpckhqdq %ymm2, %ymm14, %ymm2
1800vpunpcklqdq %ymm1, %ymm15, %ymm14
1801vpunpckhqdq %ymm1, %ymm15, %ymm1
1802vinserti128 $1, %xmm3, %ymm4, %ymm15
1803vmovdqa %ymm15, 1024(%r9)
1804vinserti128 $1, %xmm13, %ymm5, %ymm15
1805vmovdqa %ymm15, 1056(%r9)
1806vinserti128 $1, %xmm11, %ymm6, %ymm15
1807vmovdqa %ymm15, 1088(%r9)
1808vinserti128 $1, %xmm0, %ymm7, %ymm15
1809vmovdqa %ymm15, 1120(%r9)
1810vinserti128 $1, %xmm12, %ymm8, %ymm15
1811vmovdqa %ymm15, 1152(%r9)
1812vinserti128 $1, %xmm2, %ymm9, %ymm15
1813vmovdqa %ymm15, 1184(%r9)
1814vinserti128 $1, %xmm14, %ymm10, %ymm15
1815vmovdqa %ymm15, 1216(%r9)
1816vpermq $78, %ymm4, %ymm4
1817vpermq $78, %ymm5, %ymm5
1818vpermq $78, %ymm6, %ymm6
1819vpermq $78, %ymm7, %ymm7
1820vpermq $78, %ymm8, %ymm8
1821vpermq $78, %ymm9, %ymm9
1822vpermq $78, %ymm10, %ymm10
1823vinserti128 $0, %xmm4, %ymm3, %ymm15
1824vmovdqa %ymm15, 1280(%r9)
1825vinserti128 $0, %xmm5, %ymm13, %ymm15
1826vmovdqa %ymm15, 1312(%r9)
1827vinserti128 $0, %xmm6, %ymm11, %ymm15
1828vmovdqa %ymm15, 1344(%r9)
1829vinserti128 $0, %xmm7, %ymm0, %ymm15
1830vmovdqa %ymm15, 1376(%r9)
1831vmovdqa 0(%r8), %ymm11
1832vinserti128 $1, %xmm1, %ymm11, %ymm14
1833vmovdqa %ymm14, 1248(%r9)
1834vmovdqa 0(%r11), %ymm0
1835vmovdqa 192(%r11), %ymm1
1836vmovdqa 384(%r11), %ymm2
1837vmovdqa 576(%r11), %ymm3
1838vpunpcklwd 96(%r11), %ymm0, %ymm4
1839vpunpckhwd 96(%r11), %ymm0, %ymm5
1840vpunpcklwd 288(%r11), %ymm1, %ymm6
1841vpunpckhwd 288(%r11), %ymm1, %ymm7
1842vpunpcklwd 480(%r11), %ymm2, %ymm8
1843vpunpckhwd 480(%r11), %ymm2, %ymm9
1844vpunpcklwd 672(%r11), %ymm3, %ymm10
1845vpunpckhwd 672(%r11), %ymm3, %ymm11
1846vpunpckldq %ymm6, %ymm4, %ymm0
1847vpunpckhdq %ymm6, %ymm4, %ymm1
1848vpunpckldq %ymm7, %ymm5, %ymm2
1849vpunpckhdq %ymm7, %ymm5, %ymm3
1850vpunpckldq %ymm10, %ymm8, %ymm12
1851vpunpckhdq %ymm10, %ymm8, %ymm13
1852vpunpckldq %ymm11, %ymm9, %ymm14
1853vpunpckhdq %ymm11, %ymm9, %ymm15
1854vpunpcklqdq %ymm12, %ymm0, %ymm4
1855vpunpckhqdq %ymm12, %ymm0, %ymm5
1856vpunpcklqdq %ymm13, %ymm1, %ymm6
1857vpunpckhqdq %ymm13, %ymm1, %ymm7
1858vpunpcklqdq %ymm14, %ymm2, %ymm8
1859vpunpckhqdq %ymm14, %ymm2, %ymm9
1860vpunpcklqdq %ymm15, %ymm3, %ymm10
1861vpunpckhqdq %ymm15, %ymm3, %ymm11
1862vmovdqa 768(%r11), %ymm0
1863vmovdqa 960(%r11), %ymm1
1864vmovdqa 1152(%r11), %ymm2
1865vmovdqa 1344(%r11), %ymm3
1866vpunpcklwd 864(%r11), %ymm0, %ymm12
1867vpunpckhwd 864(%r11), %ymm0, %ymm13
1868vpunpcklwd 1056(%r11), %ymm1, %ymm14
1869vpunpckhwd 1056(%r11), %ymm1, %ymm15
1870vpunpcklwd 1248(%r11), %ymm2, %ymm0
1871vpunpckhwd 1248(%r11), %ymm2, %ymm1
1872vpunpcklwd 1440(%r11), %ymm3, %ymm2
1873vpunpckhwd 1440(%r11), %ymm3, %ymm3
1874vmovdqa %ymm11, 0(%r8)
1875vpunpckldq %ymm14, %ymm12, %ymm11
1876vpunpckhdq %ymm14, %ymm12, %ymm12
1877vpunpckldq %ymm15, %ymm13, %ymm14
1878vpunpckhdq %ymm15, %ymm13, %ymm15
1879vpunpckldq %ymm2, %ymm0, %ymm13
1880vpunpckhdq %ymm2, %ymm0, %ymm0
1881vpunpckldq %ymm3, %ymm1, %ymm2
1882vpunpckhdq %ymm3, %ymm1, %ymm1
1883vpunpcklqdq %ymm13, %ymm11, %ymm3
1884vpunpckhqdq %ymm13, %ymm11, %ymm13
1885vpunpcklqdq %ymm0, %ymm12, %ymm11
1886vpunpckhqdq %ymm0, %ymm12, %ymm0
1887vpunpcklqdq %ymm2, %ymm14, %ymm12
1888vpunpckhqdq %ymm2, %ymm14, %ymm2
1889vpunpcklqdq %ymm1, %ymm15, %ymm14
1890vpunpckhqdq %ymm1, %ymm15, %ymm1
1891vinserti128 $1, %xmm3, %ymm4, %ymm15
1892vmovdqa %ymm15, 1408(%r9)
1893vinserti128 $1, %xmm13, %ymm5, %ymm15
1894vmovdqa %ymm15, 1440(%r9)
1895vinserti128 $1, %xmm11, %ymm6, %ymm15
1896vmovdqa %ymm15, 1472(%r9)
1897vinserti128 $1, %xmm0, %ymm7, %ymm15
1898vmovdqa %ymm15, 1504(%r9)
1899vinserti128 $1, %xmm12, %ymm8, %ymm15
1900vmovdqa %ymm15, 1536(%r9)
1901vinserti128 $1, %xmm2, %ymm9, %ymm15
1902vmovdqa %ymm15, 1568(%r9)
1903vinserti128 $1, %xmm14, %ymm10, %ymm15
1904vmovdqa %ymm15, 1600(%r9)
1905vpermq $78, %ymm4, %ymm4
1906vpermq $78, %ymm5, %ymm5
1907vpermq $78, %ymm6, %ymm6
1908vpermq $78, %ymm7, %ymm7
1909vpermq $78, %ymm8, %ymm8
1910vpermq $78, %ymm9, %ymm9
1911vpermq $78, %ymm10, %ymm10
1912vinserti128 $0, %xmm4, %ymm3, %ymm15
1913vmovdqa %ymm15, 1664(%r9)
1914vinserti128 $0, %xmm5, %ymm13, %ymm15
1915vmovdqa %ymm15, 1696(%r9)
1916vinserti128 $0, %xmm6, %ymm11, %ymm15
1917vmovdqa %ymm15, 1728(%r9)
1918vinserti128 $0, %xmm7, %ymm0, %ymm15
1919vmovdqa %ymm15, 1760(%r9)
1920vinserti128 $0, %xmm8, %ymm12, %ymm15
1921vmovdqa %ymm15, 1792(%r9)
1922vinserti128 $0, %xmm9, %ymm2, %ymm15
1923vmovdqa %ymm15, 1824(%r9)
1924vinserti128 $0, %xmm10, %ymm14, %ymm15
1925vmovdqa %ymm15, 1856(%r9)
1926vmovdqa 0(%r8), %ymm11
1927vinserti128 $1, %xmm1, %ymm11, %ymm14
1928vmovdqa %ymm14, 1632(%r9)
1929vpermq $78, %ymm11, %ymm11
1930vinserti128 $0, %xmm11, %ymm1, %ymm1
1931vmovdqa %ymm1, 1888(%r9)
1932vmovdqa 32(%r11), %ymm0
1933vmovdqa 224(%r11), %ymm1
1934vmovdqa 416(%r11), %ymm2
1935vmovdqa 608(%r11), %ymm3
1936vpunpcklwd 128(%r11), %ymm0, %ymm4
1937vpunpckhwd 128(%r11), %ymm0, %ymm5
1938vpunpcklwd 320(%r11), %ymm1, %ymm6
1939vpunpckhwd 320(%r11), %ymm1, %ymm7
1940vpunpcklwd 512(%r11), %ymm2, %ymm8
1941vpunpckhwd 512(%r11), %ymm2, %ymm9
1942vpunpcklwd 704(%r11), %ymm3, %ymm10
1943vpunpckhwd 704(%r11), %ymm3, %ymm11
1944vpunpckldq %ymm6, %ymm4, %ymm0
1945vpunpckhdq %ymm6, %ymm4, %ymm1
1946vpunpckldq %ymm7, %ymm5, %ymm2
1947vpunpckhdq %ymm7, %ymm5, %ymm3
1948vpunpckldq %ymm10, %ymm8, %ymm12
1949vpunpckhdq %ymm10, %ymm8, %ymm13
1950vpunpckldq %ymm11, %ymm9, %ymm14
1951vpunpckhdq %ymm11, %ymm9, %ymm15
1952vpunpcklqdq %ymm12, %ymm0, %ymm4
1953vpunpckhqdq %ymm12, %ymm0, %ymm5
1954vpunpcklqdq %ymm13, %ymm1, %ymm6
1955vpunpckhqdq %ymm13, %ymm1, %ymm7
1956vpunpcklqdq %ymm14, %ymm2, %ymm8
1957vpunpckhqdq %ymm14, %ymm2, %ymm9
1958vpunpcklqdq %ymm15, %ymm3, %ymm10
1959vpunpckhqdq %ymm15, %ymm3, %ymm11
1960vmovdqa 800(%r11), %ymm0
1961vmovdqa 992(%r11), %ymm1
1962vmovdqa 1184(%r11), %ymm2
1963vmovdqa 1376(%r11), %ymm3
1964vpunpcklwd 896(%r11), %ymm0, %ymm12
1965vpunpckhwd 896(%r11), %ymm0, %ymm13
1966vpunpcklwd 1088(%r11), %ymm1, %ymm14
1967vpunpckhwd 1088(%r11), %ymm1, %ymm15
1968vpunpcklwd 1280(%r11), %ymm2, %ymm0
1969vpunpckhwd 1280(%r11), %ymm2, %ymm1
1970vpunpcklwd 1472(%r11), %ymm3, %ymm2
1971vpunpckhwd 1472(%r11), %ymm3, %ymm3
1972vmovdqa %ymm11, 0(%r8)
1973vpunpckldq %ymm14, %ymm12, %ymm11
1974vpunpckhdq %ymm14, %ymm12, %ymm12
1975vpunpckldq %ymm15, %ymm13, %ymm14
1976vpunpckhdq %ymm15, %ymm13, %ymm15
1977vpunpckldq %ymm2, %ymm0, %ymm13
1978vpunpckhdq %ymm2, %ymm0, %ymm0
1979vpunpckldq %ymm3, %ymm1, %ymm2
1980vpunpckhdq %ymm3, %ymm1, %ymm1
1981vpunpcklqdq %ymm13, %ymm11, %ymm3
1982vpunpckhqdq %ymm13, %ymm11, %ymm13
1983vpunpcklqdq %ymm0, %ymm12, %ymm11
1984vpunpckhqdq %ymm0, %ymm12, %ymm0
1985vpunpcklqdq %ymm2, %ymm14, %ymm12
1986vpunpckhqdq %ymm2, %ymm14, %ymm2
1987vpunpcklqdq %ymm1, %ymm15, %ymm14
1988vpunpckhqdq %ymm1, %ymm15, %ymm1
1989vinserti128 $1, %xmm3, %ymm4, %ymm15
1990vmovdqa %ymm15, 1920(%r9)
1991vinserti128 $1, %xmm13, %ymm5, %ymm15
1992vmovdqa %ymm15, 1952(%r9)
1993vinserti128 $1, %xmm11, %ymm6, %ymm15
1994vmovdqa %ymm15, 1984(%r9)
1995vinserti128 $1, %xmm0, %ymm7, %ymm15
1996vmovdqa %ymm15, 2016(%r9)
1997vinserti128 $1, %xmm12, %ymm8, %ymm15
1998vmovdqa %ymm15, 2048(%r9)
1999vinserti128 $1, %xmm2, %ymm9, %ymm15
2000vmovdqa %ymm15, 2080(%r9)
2001vinserti128 $1, %xmm14, %ymm10, %ymm15
2002vmovdqa %ymm15, 2112(%r9)
2003vpermq $78, %ymm4, %ymm4
2004vpermq $78, %ymm5, %ymm5
2005vpermq $78, %ymm6, %ymm6
2006vpermq $78, %ymm7, %ymm7
2007vpermq $78, %ymm8, %ymm8
2008vpermq $78, %ymm9, %ymm9
2009vpermq $78, %ymm10, %ymm10
2010vinserti128 $0, %xmm4, %ymm3, %ymm15
2011vmovdqa %ymm15, 2176(%r9)
2012vinserti128 $0, %xmm5, %ymm13, %ymm15
2013vmovdqa %ymm15, 2208(%r9)
2014vinserti128 $0, %xmm6, %ymm11, %ymm15
2015vmovdqa %ymm15, 2240(%r9)
2016vinserti128 $0, %xmm7, %ymm0, %ymm15
2017vmovdqa %ymm15, 2272(%r9)
2018vinserti128 $0, %xmm8, %ymm12, %ymm15
2019vmovdqa %ymm15, 2304(%r9)
2020vinserti128 $0, %xmm9, %ymm2, %ymm15
2021vmovdqa %ymm15, 2336(%r9)
2022vinserti128 $0, %xmm10, %ymm14, %ymm15
2023vmovdqa %ymm15, 2368(%r9)
2024vmovdqa 0(%r8), %ymm11
2025vinserti128 $1, %xmm1, %ymm11, %ymm14
2026vmovdqa %ymm14, 2144(%r9)
2027vpermq $78, %ymm11, %ymm11
2028vinserti128 $0, %xmm11, %ymm1, %ymm1
2029vmovdqa %ymm1, 2400(%r9)
2030vmovdqa 64(%r11), %ymm0
2031vmovdqa 256(%r11), %ymm1
2032vmovdqa 448(%r11), %ymm2
2033vmovdqa 640(%r11), %ymm3
2034vpunpcklwd 160(%r11), %ymm0, %ymm4
2035vpunpckhwd 160(%r11), %ymm0, %ymm5
2036vpunpcklwd 352(%r11), %ymm1, %ymm6
2037vpunpckhwd 352(%r11), %ymm1, %ymm7
2038vpunpcklwd 544(%r11), %ymm2, %ymm8
2039vpunpckhwd 544(%r11), %ymm2, %ymm9
2040vpunpcklwd 736(%r11), %ymm3, %ymm10
2041vpunpckhwd 736(%r11), %ymm3, %ymm11
2042vpunpckldq %ymm6, %ymm4, %ymm0
2043vpunpckhdq %ymm6, %ymm4, %ymm1
2044vpunpckldq %ymm7, %ymm5, %ymm2
2045vpunpckhdq %ymm7, %ymm5, %ymm3
2046vpunpckldq %ymm10, %ymm8, %ymm12
2047vpunpckhdq %ymm10, %ymm8, %ymm13
2048vpunpckldq %ymm11, %ymm9, %ymm14
2049vpunpckhdq %ymm11, %ymm9, %ymm15
2050vpunpcklqdq %ymm12, %ymm0, %ymm4
2051vpunpckhqdq %ymm12, %ymm0, %ymm5
2052vpunpcklqdq %ymm13, %ymm1, %ymm6
2053vpunpckhqdq %ymm13, %ymm1, %ymm7
2054vpunpcklqdq %ymm14, %ymm2, %ymm8
2055vpunpckhqdq %ymm14, %ymm2, %ymm9
2056vpunpcklqdq %ymm15, %ymm3, %ymm10
2057vpunpckhqdq %ymm15, %ymm3, %ymm11
2058vmovdqa 832(%r11), %ymm0
2059vmovdqa 1024(%r11), %ymm1
2060vmovdqa 1216(%r11), %ymm2
2061vmovdqa 1408(%r11), %ymm3
2062vpunpcklwd 928(%r11), %ymm0, %ymm12
2063vpunpckhwd 928(%r11), %ymm0, %ymm13
2064vpunpcklwd 1120(%r11), %ymm1, %ymm14
2065vpunpckhwd 1120(%r11), %ymm1, %ymm15
2066vpunpcklwd 1312(%r11), %ymm2, %ymm0
2067vpunpckhwd 1312(%r11), %ymm2, %ymm1
2068vpunpcklwd 1504(%r11), %ymm3, %ymm2
2069vpunpckhwd 1504(%r11), %ymm3, %ymm3
2070vmovdqa %ymm11, 0(%r8)
2071vpunpckldq %ymm14, %ymm12, %ymm11
2072vpunpckhdq %ymm14, %ymm12, %ymm12
2073vpunpckldq %ymm15, %ymm13, %ymm14
2074vpunpckhdq %ymm15, %ymm13, %ymm15
2075vpunpckldq %ymm2, %ymm0, %ymm13
2076vpunpckhdq %ymm2, %ymm0, %ymm0
2077vpunpckldq %ymm3, %ymm1, %ymm2
2078vpunpckhdq %ymm3, %ymm1, %ymm1
2079vpunpcklqdq %ymm13, %ymm11, %ymm3
2080vpunpckhqdq %ymm13, %ymm11, %ymm13
2081vpunpcklqdq %ymm0, %ymm12, %ymm11
2082vpunpckhqdq %ymm0, %ymm12, %ymm0
2083vpunpcklqdq %ymm2, %ymm14, %ymm12
2084vpunpckhqdq %ymm2, %ymm14, %ymm2
2085vpunpcklqdq %ymm1, %ymm15, %ymm14
2086vpunpckhqdq %ymm1, %ymm15, %ymm1
2087vinserti128 $1, %xmm3, %ymm4, %ymm15
2088vmovdqa %ymm15, 2432(%r9)
2089vinserti128 $1, %xmm13, %ymm5, %ymm15
2090vmovdqa %ymm15, 2464(%r9)
2091vinserti128 $1, %xmm11, %ymm6, %ymm15
2092vmovdqa %ymm15, 2496(%r9)
2093vinserti128 $1, %xmm0, %ymm7, %ymm15
2094vmovdqa %ymm15, 2528(%r9)
2095vinserti128 $1, %xmm12, %ymm8, %ymm15
2096vmovdqa %ymm15, 2560(%r9)
2097vinserti128 $1, %xmm2, %ymm9, %ymm15
2098vmovdqa %ymm15, 2592(%r9)
2099vinserti128 $1, %xmm14, %ymm10, %ymm15
2100vmovdqa %ymm15, 2624(%r9)
2101vpermq $78, %ymm4, %ymm4
2102vpermq $78, %ymm5, %ymm5
2103vpermq $78, %ymm6, %ymm6
2104vpermq $78, %ymm7, %ymm7
2105vpermq $78, %ymm8, %ymm8
2106vpermq $78, %ymm9, %ymm9
2107vpermq $78, %ymm10, %ymm10
2108vinserti128 $0, %xmm4, %ymm3, %ymm15
2109vmovdqa %ymm15, 2688(%r9)
2110vinserti128 $0, %xmm5, %ymm13, %ymm15
2111vmovdqa %ymm15, 2720(%r9)
2112vinserti128 $0, %xmm6, %ymm11, %ymm15
2113vmovdqa %ymm15, 2752(%r9)
2114vinserti128 $0, %xmm7, %ymm0, %ymm15
2115vmovdqa %ymm15, 2784(%r9)
2116vmovdqa 0(%r8), %ymm11
2117vinserti128 $1, %xmm1, %ymm11, %ymm14
2118vmovdqa %ymm14, 2656(%r9)
2119addq $32, %r8
2120innerloop_4eced63f144beffcb0247f9c6f67d165:
2121vmovdqa 0(%r9), %ymm0
2122vmovdqa 1408(%r9), %ymm6
2123vmovdqa 32(%r9), %ymm1
2124vmovdqa 1440(%r9), %ymm7
2125vmovdqa 64(%r9), %ymm2
2126vmovdqa 1472(%r9), %ymm8
2127vmovdqa 96(%r9), %ymm3
2128vmovdqa 1504(%r9), %ymm9
2129vmovdqa 128(%r9), %ymm4
2130vmovdqa 1536(%r9), %ymm10
2131vmovdqa 160(%r9), %ymm5
2132vmovdqa 1568(%r9), %ymm11
2133vpmullw %ymm0, %ymm6, %ymm12
2134vmovdqa %ymm12, 2816(%r10)
2135vpmullw %ymm0, %ymm7, %ymm13
2136vpmullw %ymm1, %ymm6, %ymm15
2137vpaddw %ymm13, %ymm15, %ymm13
2138vmovdqa %ymm13, 2848(%r10)
2139vpmullw %ymm0, %ymm8, %ymm12
2140vpmullw %ymm1, %ymm7, %ymm15
2141vpaddw %ymm12, %ymm15, %ymm12
2142vpmullw %ymm2, %ymm6, %ymm15
2143vpaddw %ymm12, %ymm15, %ymm12
2144vmovdqa %ymm12, 2880(%r10)
2145vpmullw %ymm0, %ymm9, %ymm13
2146vpmullw %ymm1, %ymm8, %ymm15
2147vpaddw %ymm13, %ymm15, %ymm13
2148vpmullw %ymm2, %ymm7, %ymm15
2149vpaddw %ymm13, %ymm15, %ymm13
2150vpmullw %ymm3, %ymm6, %ymm15
2151vpaddw %ymm13, %ymm15, %ymm13
2152vmovdqa %ymm13, 2912(%r10)
2153vpmullw %ymm0, %ymm10, %ymm12
2154vpmullw %ymm1, %ymm9, %ymm15
2155vpaddw %ymm12, %ymm15, %ymm12
2156vpmullw %ymm2, %ymm8, %ymm15
2157vpaddw %ymm12, %ymm15, %ymm12
2158vpmullw %ymm3, %ymm7, %ymm15
2159vpaddw %ymm12, %ymm15, %ymm12
2160vpmullw %ymm4, %ymm6, %ymm15
2161vpaddw %ymm12, %ymm15, %ymm12
2162vmovdqa %ymm12, 2944(%r10)
2163vpmullw %ymm0, %ymm11, %ymm13
2164vpmullw %ymm1, %ymm10, %ymm15
2165vpaddw %ymm13, %ymm15, %ymm13
2166vpmullw %ymm2, %ymm9, %ymm15
2167vpaddw %ymm13, %ymm15, %ymm13
2168vpmullw %ymm3, %ymm8, %ymm15
2169vpaddw %ymm13, %ymm15, %ymm13
2170vpmullw %ymm4, %ymm7, %ymm15
2171vpaddw %ymm13, %ymm15, %ymm13
2172vpmullw %ymm5, %ymm6, %ymm15
2173vpaddw %ymm13, %ymm15, %ymm13
2174vmovdqa %ymm13, 2976(%r10)
2175vpmullw %ymm1, %ymm11, %ymm12
2176vpmullw %ymm2, %ymm10, %ymm15
2177vpaddw %ymm12, %ymm15, %ymm12
2178vpmullw %ymm3, %ymm9, %ymm15
2179vpaddw %ymm12, %ymm15, %ymm12
2180vpmullw %ymm4, %ymm8, %ymm15
2181vpaddw %ymm12, %ymm15, %ymm12
2182vpmullw %ymm5, %ymm7, %ymm15
2183vpaddw %ymm12, %ymm15, %ymm12
2184vmovdqa %ymm12, 3008(%r10)
2185vpmullw %ymm2, %ymm11, %ymm13
2186vpmullw %ymm3, %ymm10, %ymm15
2187vpaddw %ymm13, %ymm15, %ymm13
2188vpmullw %ymm4, %ymm9, %ymm15
2189vpaddw %ymm13, %ymm15, %ymm13
2190vpmullw %ymm5, %ymm8, %ymm15
2191vpaddw %ymm13, %ymm15, %ymm13
2192vmovdqa %ymm13, 3040(%r10)
2193vpmullw %ymm3, %ymm11, %ymm12
2194vpmullw %ymm4, %ymm10, %ymm15
2195vpaddw %ymm12, %ymm15, %ymm12
2196vpmullw %ymm5, %ymm9, %ymm15
2197vpaddw %ymm12, %ymm15, %ymm12
2198vmovdqa %ymm12, 3072(%r10)
2199vpmullw %ymm4, %ymm11, %ymm13
2200vpmullw %ymm5, %ymm10, %ymm15
2201vpaddw %ymm13, %ymm15, %ymm13
2202vmovdqa %ymm13, 3104(%r10)
2203vpmullw %ymm5, %ymm11, %ymm12
2204vmovdqa %ymm12, 3136(%r10)
2205vmovdqa 192(%r9), %ymm0
2206vmovdqa 1600(%r9), %ymm6
2207vmovdqa 224(%r9), %ymm1
2208vmovdqa 1632(%r9), %ymm7
2209vmovdqa 256(%r9), %ymm2
2210vmovdqa 1664(%r9), %ymm8
2211vmovdqa 288(%r9), %ymm3
2212vmovdqa 1696(%r9), %ymm9
2213vmovdqa 320(%r9), %ymm4
2214vmovdqa 1728(%r9), %ymm10
2215vpmullw %ymm0, %ymm6, %ymm12
2216vmovdqa %ymm12, 3200(%r10)
2217vpmullw %ymm0, %ymm7, %ymm13
2218vpmullw %ymm1, %ymm6, %ymm15
2219vpaddw %ymm13, %ymm15, %ymm13
2220vmovdqa %ymm13, 3232(%r10)
2221vpmullw %ymm0, %ymm8, %ymm12
2222vpmullw %ymm1, %ymm7, %ymm15
2223vpaddw %ymm12, %ymm15, %ymm12
2224vpmullw %ymm2, %ymm6, %ymm15
2225vpaddw %ymm12, %ymm15, %ymm12
2226vmovdqa %ymm12, 3264(%r10)
2227vpmullw %ymm0, %ymm9, %ymm13
2228vpmullw %ymm1, %ymm8, %ymm15
2229vpaddw %ymm13, %ymm15, %ymm13
2230vpmullw %ymm2, %ymm7, %ymm15
2231vpaddw %ymm13, %ymm15, %ymm13
2232vpmullw %ymm3, %ymm6, %ymm15
2233vpaddw %ymm13, %ymm15, %ymm13
2234vmovdqa %ymm13, 3296(%r10)
2235vpmullw %ymm0, %ymm10, %ymm12
2236vpmullw %ymm1, %ymm9, %ymm15
2237vpaddw %ymm12, %ymm15, %ymm12
2238vpmullw %ymm2, %ymm8, %ymm15
2239vpaddw %ymm12, %ymm15, %ymm12
2240vpmullw %ymm3, %ymm7, %ymm15
2241vpaddw %ymm12, %ymm15, %ymm12
2242vpmullw %ymm4, %ymm6, %ymm15
2243vpaddw %ymm12, %ymm15, %ymm12
2244vmovdqa %ymm12, 3328(%r10)
2245vpmullw %ymm1, %ymm10, %ymm13
2246vpmullw %ymm2, %ymm9, %ymm15
2247vpaddw %ymm13, %ymm15, %ymm13
2248vpmullw %ymm3, %ymm8, %ymm15
2249vpaddw %ymm13, %ymm15, %ymm13
2250vpmullw %ymm4, %ymm7, %ymm15
2251vpaddw %ymm13, %ymm15, %ymm13
2252vmovdqa %ymm13, 3360(%r10)
2253vpmullw %ymm2, %ymm10, %ymm12
2254vpmullw %ymm3, %ymm9, %ymm15
2255vpaddw %ymm12, %ymm15, %ymm12
2256vpmullw %ymm4, %ymm8, %ymm15
2257vpaddw %ymm12, %ymm15, %ymm12
2258vmovdqa %ymm12, 3392(%r10)
2259vpmullw %ymm3, %ymm10, %ymm13
2260vpmullw %ymm4, %ymm9, %ymm15
2261vpaddw %ymm13, %ymm15, %ymm13
2262vmovdqa %ymm13, 3424(%r10)
2263vpmullw %ymm4, %ymm10, %ymm12
2264vmovdqa %ymm12, 3456(%r10)
2265vpaddw 0(%r9), %ymm0, %ymm0
2266vpaddw 1408(%r9), %ymm6, %ymm6
2267vpaddw 32(%r9), %ymm1, %ymm1
2268vpaddw 1440(%r9), %ymm7, %ymm7
2269vpaddw 64(%r9), %ymm2, %ymm2
2270vpaddw 1472(%r9), %ymm8, %ymm8
2271vpaddw 96(%r9), %ymm3, %ymm3
2272vpaddw 1504(%r9), %ymm9, %ymm9
2273vpaddw 128(%r9), %ymm4, %ymm4
2274vpaddw 1536(%r9), %ymm10, %ymm10
2275vpmullw %ymm0, %ymm11, %ymm12
2276vpmullw %ymm1, %ymm10, %ymm15
2277vpaddw %ymm15, %ymm12, %ymm12
2278vpmullw %ymm2, %ymm9, %ymm15
2279vpaddw %ymm15, %ymm12, %ymm12
2280vpmullw %ymm3, %ymm8, %ymm15
2281vpaddw %ymm15, %ymm12, %ymm12
2282vpmullw %ymm4, %ymm7, %ymm15
2283vpaddw %ymm15, %ymm12, %ymm12
2284vpmullw %ymm5, %ymm6, %ymm15
2285vpaddw %ymm15, %ymm12, %ymm12
2286vpsubw 2976(%r10), %ymm12, %ymm12
2287vpsubw 3360(%r10), %ymm12, %ymm12
2288vmovdqa %ymm12, 3168(%r10)
2289vpmullw %ymm5, %ymm7, %ymm12
2290vpmullw %ymm5, %ymm8, %ymm13
2291vpmullw %ymm5, %ymm9, %ymm14
2292vpmullw %ymm5, %ymm10, %ymm15
2293vpmullw %ymm1, %ymm11, %ymm5
2294vpaddw %ymm5, %ymm12, %ymm12
2295vpmullw %ymm2, %ymm10, %ymm5
2296vpaddw %ymm5, %ymm12, %ymm12
2297vpmullw %ymm3, %ymm9, %ymm5
2298vpaddw %ymm5, %ymm12, %ymm12
2299vpmullw %ymm4, %ymm8, %ymm5
2300vpaddw %ymm5, %ymm12, %ymm12
2301vpmullw %ymm2, %ymm11, %ymm5
2302vpaddw %ymm5, %ymm13, %ymm13
2303vpmullw %ymm3, %ymm10, %ymm5
2304vpaddw %ymm5, %ymm13, %ymm13
2305vpmullw %ymm4, %ymm9, %ymm5
2306vpaddw %ymm5, %ymm13, %ymm13
2307vpmullw %ymm3, %ymm11, %ymm5
2308vpaddw %ymm5, %ymm14, %ymm14
2309vpmullw %ymm4, %ymm10, %ymm5
2310vpaddw %ymm5, %ymm14, %ymm14
2311vpmullw %ymm4, %ymm11, %ymm5
2312vpaddw %ymm5, %ymm15, %ymm15
2313vpmullw %ymm0, %ymm10, %ymm11
2314vpmullw %ymm1, %ymm9, %ymm5
2315vpaddw %ymm5, %ymm11, %ymm11
2316vpmullw %ymm2, %ymm8, %ymm5
2317vpaddw %ymm5, %ymm11, %ymm11
2318vpmullw %ymm3, %ymm7, %ymm5
2319vpaddw %ymm5, %ymm11, %ymm11
2320vpmullw %ymm4, %ymm6, %ymm5
2321vpaddw %ymm5, %ymm11, %ymm11
2322vpmullw %ymm0, %ymm9, %ymm10
2323vpmullw %ymm1, %ymm8, %ymm5
2324vpaddw %ymm5, %ymm10, %ymm10
2325vpmullw %ymm2, %ymm7, %ymm5
2326vpaddw %ymm5, %ymm10, %ymm10
2327vpmullw %ymm3, %ymm6, %ymm5
2328vpaddw %ymm5, %ymm10, %ymm10
2329vpmullw %ymm0, %ymm8, %ymm9
2330vpmullw %ymm1, %ymm7, %ymm5
2331vpaddw %ymm5, %ymm9, %ymm9
2332vpmullw %ymm2, %ymm6, %ymm5
2333vpaddw %ymm5, %ymm9, %ymm9
2334vpmullw %ymm0, %ymm7, %ymm8
2335vpmullw %ymm1, %ymm6, %ymm5
2336vpaddw %ymm5, %ymm8, %ymm8
2337vpmullw %ymm0, %ymm6, %ymm7
2338vmovdqa 3008(%r10), %ymm0
2339vpsubw 3200(%r10), %ymm0, %ymm0
2340vpsubw %ymm0, %ymm12, %ymm6
2341vpsubw 3392(%r10), %ymm6, %ymm6
2342vmovdqa %ymm6, 3200(%r10)
2343vpaddw %ymm7, %ymm0, %ymm0
2344vpsubw 2816(%r10), %ymm0, %ymm0
2345vmovdqa %ymm0, 3008(%r10)
2346vmovdqa 3040(%r10), %ymm1
2347vpsubw 3232(%r10), %ymm1, %ymm1
2348vpsubw %ymm1, %ymm13, %ymm7
2349vpsubw 3424(%r10), %ymm7, %ymm7
2350vmovdqa %ymm7, 3232(%r10)
2351vpaddw %ymm8, %ymm1, %ymm1
2352vpsubw 2848(%r10), %ymm1, %ymm1
2353vmovdqa %ymm1, 3040(%r10)
2354vmovdqa 3072(%r10), %ymm2
2355vpsubw 3264(%r10), %ymm2, %ymm2
2356vpsubw %ymm2, %ymm14, %ymm8
2357vpsubw 3456(%r10), %ymm8, %ymm8
2358vmovdqa %ymm8, 3264(%r10)
2359vpaddw %ymm9, %ymm2, %ymm2
2360vpsubw 2880(%r10), %ymm2, %ymm2
2361vmovdqa %ymm2, 3072(%r10)
2362vmovdqa 3104(%r10), %ymm3
2363vpsubw 3296(%r10), %ymm3, %ymm3
2364vpsubw %ymm3, %ymm15, %ymm9
2365vmovdqa %ymm9, 3296(%r10)
2366vpaddw %ymm10, %ymm3, %ymm3
2367vpsubw 2912(%r10), %ymm3, %ymm3
2368vmovdqa %ymm3, 3104(%r10)
2369vmovdqa 3136(%r10), %ymm4
2370vpsubw 3328(%r10), %ymm4, %ymm4
2371vpaddw %ymm11, %ymm4, %ymm4
2372vpsubw 2944(%r10), %ymm4, %ymm4
2373vmovdqa %ymm4, 3136(%r10)
2374vmovdqa 352(%r9), %ymm0
2375vmovdqa 1760(%r9), %ymm6
2376vmovdqa 384(%r9), %ymm1
2377vmovdqa 1792(%r9), %ymm7
2378vmovdqa 416(%r9), %ymm2
2379vmovdqa 1824(%r9), %ymm8
2380vmovdqa 448(%r9), %ymm3
2381vmovdqa 1856(%r9), %ymm9
2382vmovdqa 480(%r9), %ymm4
2383vmovdqa 1888(%r9), %ymm10
2384vmovdqa 512(%r9), %ymm5
2385vmovdqa 1920(%r9), %ymm11
2386vpmullw %ymm0, %ymm6, %ymm12
2387vmovdqa %ymm12, 3520(%r10)
2388vpmullw %ymm0, %ymm7, %ymm13
2389vpmullw %ymm1, %ymm6, %ymm15
2390vpaddw %ymm13, %ymm15, %ymm13
2391vmovdqa %ymm13, 3552(%r10)
2392vpmullw %ymm0, %ymm8, %ymm12
2393vpmullw %ymm1, %ymm7, %ymm15
2394vpaddw %ymm12, %ymm15, %ymm12
2395vpmullw %ymm2, %ymm6, %ymm15
2396vpaddw %ymm12, %ymm15, %ymm12
2397vmovdqa %ymm12, 3584(%r10)
2398vpmullw %ymm0, %ymm9, %ymm13
2399vpmullw %ymm1, %ymm8, %ymm15
2400vpaddw %ymm13, %ymm15, %ymm13
2401vpmullw %ymm2, %ymm7, %ymm15
2402vpaddw %ymm13, %ymm15, %ymm13
2403vpmullw %ymm3, %ymm6, %ymm15
2404vpaddw %ymm13, %ymm15, %ymm13
2405vmovdqa %ymm13, 3616(%r10)
2406vpmullw %ymm0, %ymm10, %ymm12
2407vpmullw %ymm1, %ymm9, %ymm15
2408vpaddw %ymm12, %ymm15, %ymm12
2409vpmullw %ymm2, %ymm8, %ymm15
2410vpaddw %ymm12, %ymm15, %ymm12
2411vpmullw %ymm3, %ymm7, %ymm15
2412vpaddw %ymm12, %ymm15, %ymm12
2413vpmullw %ymm4, %ymm6, %ymm15
2414vpaddw %ymm12, %ymm15, %ymm12
2415vmovdqa %ymm12, 3648(%r10)
2416vpmullw %ymm0, %ymm11, %ymm13
2417vpmullw %ymm1, %ymm10, %ymm15
2418vpaddw %ymm13, %ymm15, %ymm13
2419vpmullw %ymm2, %ymm9, %ymm15
2420vpaddw %ymm13, %ymm15, %ymm13
2421vpmullw %ymm3, %ymm8, %ymm15
2422vpaddw %ymm13, %ymm15, %ymm13
2423vpmullw %ymm4, %ymm7, %ymm15
2424vpaddw %ymm13, %ymm15, %ymm13
2425vpmullw %ymm5, %ymm6, %ymm15
2426vpaddw %ymm13, %ymm15, %ymm13
2427vmovdqa %ymm13, 3680(%r10)
2428vpmullw %ymm1, %ymm11, %ymm12
2429vpmullw %ymm2, %ymm10, %ymm15
2430vpaddw %ymm12, %ymm15, %ymm12
2431vpmullw %ymm3, %ymm9, %ymm15
2432vpaddw %ymm12, %ymm15, %ymm12
2433vpmullw %ymm4, %ymm8, %ymm15
2434vpaddw %ymm12, %ymm15, %ymm12
2435vpmullw %ymm5, %ymm7, %ymm15
2436vpaddw %ymm12, %ymm15, %ymm12
2437vmovdqa %ymm12, 3712(%r10)
2438vpmullw %ymm2, %ymm11, %ymm13
2439vpmullw %ymm3, %ymm10, %ymm15
2440vpaddw %ymm13, %ymm15, %ymm13
2441vpmullw %ymm4, %ymm9, %ymm15
2442vpaddw %ymm13, %ymm15, %ymm13
2443vpmullw %ymm5, %ymm8, %ymm15
2444vpaddw %ymm13, %ymm15, %ymm13
2445vmovdqa %ymm13, 3744(%r10)
2446vpmullw %ymm3, %ymm11, %ymm12
2447vpmullw %ymm4, %ymm10, %ymm15
2448vpaddw %ymm12, %ymm15, %ymm12
2449vpmullw %ymm5, %ymm9, %ymm15
2450vpaddw %ymm12, %ymm15, %ymm12
2451vmovdqa %ymm12, 3776(%r10)
2452vpmullw %ymm4, %ymm11, %ymm13
2453vpmullw %ymm5, %ymm10, %ymm15
2454vpaddw %ymm13, %ymm15, %ymm13
2455vmovdqa %ymm13, 3808(%r10)
2456vpmullw %ymm5, %ymm11, %ymm12
2457vmovdqa %ymm12, 3840(%r10)
2458vmovdqa 544(%r9), %ymm0
2459vmovdqa 1952(%r9), %ymm6
2460vmovdqa 576(%r9), %ymm1
2461vmovdqa 1984(%r9), %ymm7
2462vmovdqa 608(%r9), %ymm2
2463vmovdqa 2016(%r9), %ymm8
2464vmovdqa 640(%r9), %ymm3
2465vmovdqa 2048(%r9), %ymm9
2466vmovdqa 672(%r9), %ymm4
2467vmovdqa 2080(%r9), %ymm10
2468vpmullw %ymm0, %ymm6, %ymm12
2469vmovdqa %ymm12, 3904(%r10)
2470vpmullw %ymm0, %ymm7, %ymm13
2471vpmullw %ymm1, %ymm6, %ymm15
2472vpaddw %ymm13, %ymm15, %ymm13
2473vmovdqa %ymm13, 3936(%r10)
2474vpmullw %ymm0, %ymm8, %ymm12
2475vpmullw %ymm1, %ymm7, %ymm15
2476vpaddw %ymm12, %ymm15, %ymm12
2477vpmullw %ymm2, %ymm6, %ymm15
2478vpaddw %ymm12, %ymm15, %ymm12
2479vmovdqa %ymm12, 3968(%r10)
2480vpmullw %ymm0, %ymm9, %ymm13
2481vpmullw %ymm1, %ymm8, %ymm15
2482vpaddw %ymm13, %ymm15, %ymm13
2483vpmullw %ymm2, %ymm7, %ymm15
2484vpaddw %ymm13, %ymm15, %ymm13
2485vpmullw %ymm3, %ymm6, %ymm15
2486vpaddw %ymm13, %ymm15, %ymm13
2487vmovdqa %ymm13, 4000(%r10)
2488vpmullw %ymm0, %ymm10, %ymm12
2489vpmullw %ymm1, %ymm9, %ymm15
2490vpaddw %ymm12, %ymm15, %ymm12
2491vpmullw %ymm2, %ymm8, %ymm15
2492vpaddw %ymm12, %ymm15, %ymm12
2493vpmullw %ymm3, %ymm7, %ymm15
2494vpaddw %ymm12, %ymm15, %ymm12
2495vpmullw %ymm4, %ymm6, %ymm15
2496vpaddw %ymm12, %ymm15, %ymm12
2497vmovdqa %ymm12, 4032(%r10)
2498vpmullw %ymm1, %ymm10, %ymm13
2499vpmullw %ymm2, %ymm9, %ymm15
2500vpaddw %ymm13, %ymm15, %ymm13
2501vpmullw %ymm3, %ymm8, %ymm15
2502vpaddw %ymm13, %ymm15, %ymm13
2503vpmullw %ymm4, %ymm7, %ymm15
2504vpaddw %ymm13, %ymm15, %ymm13
2505vmovdqa %ymm13, 4064(%r10)
2506vpmullw %ymm2, %ymm10, %ymm12
2507vpmullw %ymm3, %ymm9, %ymm15
2508vpaddw %ymm12, %ymm15, %ymm12
2509vpmullw %ymm4, %ymm8, %ymm15
2510vpaddw %ymm12, %ymm15, %ymm12
2511vmovdqa %ymm12, 4096(%r10)
2512vpmullw %ymm3, %ymm10, %ymm13
2513vpmullw %ymm4, %ymm9, %ymm15
2514vpaddw %ymm13, %ymm15, %ymm13
2515vmovdqa %ymm13, 4128(%r10)
2516vpmullw %ymm4, %ymm10, %ymm12
2517vmovdqa %ymm12, 4160(%r10)
2518vpaddw 352(%r9), %ymm0, %ymm0
2519vpaddw 1760(%r9), %ymm6, %ymm6
2520vpaddw 384(%r9), %ymm1, %ymm1
2521vpaddw 1792(%r9), %ymm7, %ymm7
2522vpaddw 416(%r9), %ymm2, %ymm2
2523vpaddw 1824(%r9), %ymm8, %ymm8
2524vpaddw 448(%r9), %ymm3, %ymm3
2525vpaddw 1856(%r9), %ymm9, %ymm9
2526vpaddw 480(%r9), %ymm4, %ymm4
2527vpaddw 1888(%r9), %ymm10, %ymm10
2528vpmullw %ymm0, %ymm11, %ymm12
2529vpmullw %ymm1, %ymm10, %ymm15
2530vpaddw %ymm15, %ymm12, %ymm12
2531vpmullw %ymm2, %ymm9, %ymm15
2532vpaddw %ymm15, %ymm12, %ymm12
2533vpmullw %ymm3, %ymm8, %ymm15
2534vpaddw %ymm15, %ymm12, %ymm12
2535vpmullw %ymm4, %ymm7, %ymm15
2536vpaddw %ymm15, %ymm12, %ymm12
2537vpmullw %ymm5, %ymm6, %ymm15
2538vpaddw %ymm15, %ymm12, %ymm12
2539vpsubw 3680(%r10), %ymm12, %ymm12
2540vpsubw 4064(%r10), %ymm12, %ymm12
2541vmovdqa %ymm12, 3872(%r10)
2542vpmullw %ymm5, %ymm7, %ymm12
2543vpmullw %ymm5, %ymm8, %ymm13
2544vpmullw %ymm5, %ymm9, %ymm14
2545vpmullw %ymm5, %ymm10, %ymm15
2546vpmullw %ymm1, %ymm11, %ymm5
2547vpaddw %ymm5, %ymm12, %ymm12
2548vpmullw %ymm2, %ymm10, %ymm5
2549vpaddw %ymm5, %ymm12, %ymm12
2550vpmullw %ymm3, %ymm9, %ymm5
2551vpaddw %ymm5, %ymm12, %ymm12
2552vpmullw %ymm4, %ymm8, %ymm5
2553vpaddw %ymm5, %ymm12, %ymm12
2554vpmullw %ymm2, %ymm11, %ymm5
2555vpaddw %ymm5, %ymm13, %ymm13
2556vpmullw %ymm3, %ymm10, %ymm5
2557vpaddw %ymm5, %ymm13, %ymm13
2558vpmullw %ymm4, %ymm9, %ymm5
2559vpaddw %ymm5, %ymm13, %ymm13
2560vpmullw %ymm3, %ymm11, %ymm5
2561vpaddw %ymm5, %ymm14, %ymm14
2562vpmullw %ymm4, %ymm10, %ymm5
2563vpaddw %ymm5, %ymm14, %ymm14
2564vpmullw %ymm4, %ymm11, %ymm5
2565vpaddw %ymm5, %ymm15, %ymm15
2566vpmullw %ymm0, %ymm10, %ymm11
2567vpmullw %ymm1, %ymm9, %ymm5
2568vpaddw %ymm5, %ymm11, %ymm11
2569vpmullw %ymm2, %ymm8, %ymm5
2570vpaddw %ymm5, %ymm11, %ymm11
2571vpmullw %ymm3, %ymm7, %ymm5
2572vpaddw %ymm5, %ymm11, %ymm11
2573vpmullw %ymm4, %ymm6, %ymm5
2574vpaddw %ymm5, %ymm11, %ymm11
2575vpmullw %ymm0, %ymm9, %ymm10
2576vpmullw %ymm1, %ymm8, %ymm5
2577vpaddw %ymm5, %ymm10, %ymm10
2578vpmullw %ymm2, %ymm7, %ymm5
2579vpaddw %ymm5, %ymm10, %ymm10
2580vpmullw %ymm3, %ymm6, %ymm5
2581vpaddw %ymm5, %ymm10, %ymm10
2582vpmullw %ymm0, %ymm8, %ymm9
2583vpmullw %ymm1, %ymm7, %ymm5
2584vpaddw %ymm5, %ymm9, %ymm9
2585vpmullw %ymm2, %ymm6, %ymm5
2586vpaddw %ymm5, %ymm9, %ymm9
2587vpmullw %ymm0, %ymm7, %ymm8
2588vpmullw %ymm1, %ymm6, %ymm5
2589vpaddw %ymm5, %ymm8, %ymm8
2590vpmullw %ymm0, %ymm6, %ymm7
2591vmovdqa 3712(%r10), %ymm0
2592vpsubw 3904(%r10), %ymm0, %ymm0
2593vpsubw %ymm0, %ymm12, %ymm6
2594vpsubw 4096(%r10), %ymm6, %ymm6
2595vmovdqa %ymm6, 3904(%r10)
2596vpaddw %ymm7, %ymm0, %ymm0
2597vpsubw 3520(%r10), %ymm0, %ymm0
2598vmovdqa %ymm0, 3712(%r10)
2599vmovdqa 3744(%r10), %ymm1
2600vpsubw 3936(%r10), %ymm1, %ymm1
2601vpsubw %ymm1, %ymm13, %ymm7
2602vpsubw 4128(%r10), %ymm7, %ymm7
2603vmovdqa %ymm7, 3936(%r10)
2604vpaddw %ymm8, %ymm1, %ymm1
2605vpsubw 3552(%r10), %ymm1, %ymm1
2606vmovdqa %ymm1, 3744(%r10)
2607vmovdqa 3776(%r10), %ymm2
2608vpsubw 3968(%r10), %ymm2, %ymm2
2609vpsubw %ymm2, %ymm14, %ymm8
2610vpsubw 4160(%r10), %ymm8, %ymm8
2611vmovdqa %ymm8, 3968(%r10)
2612vpaddw %ymm9, %ymm2, %ymm2
2613vpsubw 3584(%r10), %ymm2, %ymm2
2614vmovdqa %ymm2, 3776(%r10)
2615vmovdqa 3808(%r10), %ymm3
2616vpsubw 4000(%r10), %ymm3, %ymm3
2617vpsubw %ymm3, %ymm15, %ymm9
2618vmovdqa %ymm9, 4000(%r10)
2619vpaddw %ymm10, %ymm3, %ymm3
2620vpsubw 3616(%r10), %ymm3, %ymm3
2621vmovdqa %ymm3, 3808(%r10)
2622vmovdqa 3840(%r10), %ymm4
2623vpsubw 4032(%r10), %ymm4, %ymm4
2624vpaddw %ymm11, %ymm4, %ymm4
2625vpsubw 3648(%r10), %ymm4, %ymm4
2626vmovdqa %ymm4, 3840(%r10)
2627vmovdqa 0(%r9), %ymm0
2628vmovdqa 1408(%r9), %ymm6
2629vpaddw 352(%r9), %ymm0, %ymm0
2630vpaddw 1760(%r9), %ymm6, %ymm6
2631vmovdqa 32(%r9), %ymm1
2632vmovdqa 1440(%r9), %ymm7
2633vpaddw 384(%r9), %ymm1, %ymm1
2634vpaddw 1792(%r9), %ymm7, %ymm7
2635vmovdqa 64(%r9), %ymm2
2636vmovdqa 1472(%r9), %ymm8
2637vpaddw 416(%r9), %ymm2, %ymm2
2638vpaddw 1824(%r9), %ymm8, %ymm8
2639vmovdqa 96(%r9), %ymm3
2640vmovdqa 1504(%r9), %ymm9
2641vpaddw 448(%r9), %ymm3, %ymm3
2642vpaddw 1856(%r9), %ymm9, %ymm9
2643vmovdqa 128(%r9), %ymm4
2644vmovdqa 1536(%r9), %ymm10
2645vpaddw 480(%r9), %ymm4, %ymm4
2646vpaddw 1888(%r9), %ymm10, %ymm10
2647vmovdqa 160(%r9), %ymm5
2648vmovdqa 1568(%r9), %ymm11
2649vpaddw 512(%r9), %ymm5, %ymm5
2650vpaddw 1920(%r9), %ymm11, %ymm11
2651vpmullw %ymm0, %ymm6, %ymm12
2652vmovdqa %ymm12, 5888(%r8)
2653vpmullw %ymm0, %ymm7, %ymm13
2654vpmullw %ymm1, %ymm6, %ymm15
2655vpaddw %ymm13, %ymm15, %ymm13
2656vmovdqa %ymm13, 5920(%r8)
2657vpmullw %ymm0, %ymm8, %ymm12
2658vpmullw %ymm1, %ymm7, %ymm15
2659vpaddw %ymm12, %ymm15, %ymm12
2660vpmullw %ymm2, %ymm6, %ymm15
2661vpaddw %ymm12, %ymm15, %ymm12
2662vmovdqa %ymm12, 5952(%r8)
2663vpmullw %ymm0, %ymm9, %ymm13
2664vpmullw %ymm1, %ymm8, %ymm15
2665vpaddw %ymm13, %ymm15, %ymm13
2666vpmullw %ymm2, %ymm7, %ymm15
2667vpaddw %ymm13, %ymm15, %ymm13
2668vpmullw %ymm3, %ymm6, %ymm15
2669vpaddw %ymm13, %ymm15, %ymm13
2670vmovdqa %ymm13, 5984(%r8)
2671vpmullw %ymm0, %ymm10, %ymm12
2672vpmullw %ymm1, %ymm9, %ymm15
2673vpaddw %ymm12, %ymm15, %ymm12
2674vpmullw %ymm2, %ymm8, %ymm15
2675vpaddw %ymm12, %ymm15, %ymm12
2676vpmullw %ymm3, %ymm7, %ymm15
2677vpaddw %ymm12, %ymm15, %ymm12
2678vpmullw %ymm4, %ymm6, %ymm15
2679vpaddw %ymm12, %ymm15, %ymm12
2680vmovdqa %ymm12, 6016(%r8)
2681vpmullw %ymm0, %ymm11, %ymm13
2682vpmullw %ymm1, %ymm10, %ymm15
2683vpaddw %ymm13, %ymm15, %ymm13
2684vpmullw %ymm2, %ymm9, %ymm15
2685vpaddw %ymm13, %ymm15, %ymm13
2686vpmullw %ymm3, %ymm8, %ymm15
2687vpaddw %ymm13, %ymm15, %ymm13
2688vpmullw %ymm4, %ymm7, %ymm15
2689vpaddw %ymm13, %ymm15, %ymm13
2690vpmullw %ymm5, %ymm6, %ymm15
2691vpaddw %ymm13, %ymm15, %ymm13
2692vmovdqa %ymm13, 6048(%r8)
2693vpmullw %ymm1, %ymm11, %ymm12
2694vpmullw %ymm2, %ymm10, %ymm15
2695vpaddw %ymm12, %ymm15, %ymm12
2696vpmullw %ymm3, %ymm9, %ymm15
2697vpaddw %ymm12, %ymm15, %ymm12
2698vpmullw %ymm4, %ymm8, %ymm15
2699vpaddw %ymm12, %ymm15, %ymm12
2700vpmullw %ymm5, %ymm7, %ymm15
2701vpaddw %ymm12, %ymm15, %ymm12
2702vmovdqa %ymm12, 6080(%r8)
2703vpmullw %ymm2, %ymm11, %ymm13
2704vpmullw %ymm3, %ymm10, %ymm15
2705vpaddw %ymm13, %ymm15, %ymm13
2706vpmullw %ymm4, %ymm9, %ymm15
2707vpaddw %ymm13, %ymm15, %ymm13
2708vpmullw %ymm5, %ymm8, %ymm15
2709vpaddw %ymm13, %ymm15, %ymm13
2710vmovdqa %ymm13, 6112(%r8)
2711vpmullw %ymm3, %ymm11, %ymm12
2712vpmullw %ymm4, %ymm10, %ymm15
2713vpaddw %ymm12, %ymm15, %ymm12
2714vpmullw %ymm5, %ymm9, %ymm15
2715vpaddw %ymm12, %ymm15, %ymm12
2716vmovdqa %ymm12, 6144(%r8)
2717vpmullw %ymm4, %ymm11, %ymm13
2718vpmullw %ymm5, %ymm10, %ymm15
2719vpaddw %ymm13, %ymm15, %ymm13
2720vmovdqa %ymm13, 6176(%r8)
2721vpmullw %ymm5, %ymm11, %ymm12
2722vmovdqa %ymm12, 6208(%r8)
2723vmovdqa 192(%r9), %ymm0
2724vmovdqa 1600(%r9), %ymm6
2725vpaddw 544(%r9), %ymm0, %ymm0
2726vpaddw 1952(%r9), %ymm6, %ymm6
2727vmovdqa 224(%r9), %ymm1
2728vmovdqa 1632(%r9), %ymm7
2729vpaddw 576(%r9), %ymm1, %ymm1
2730vpaddw 1984(%r9), %ymm7, %ymm7
2731vmovdqa 256(%r9), %ymm2
2732vmovdqa 1664(%r9), %ymm8
2733vpaddw 608(%r9), %ymm2, %ymm2
2734vpaddw 2016(%r9), %ymm8, %ymm8
2735vmovdqa 288(%r9), %ymm3
2736vmovdqa 1696(%r9), %ymm9
2737vpaddw 640(%r9), %ymm3, %ymm3
2738vpaddw 2048(%r9), %ymm9, %ymm9
2739vmovdqa 320(%r9), %ymm4
2740vmovdqa 1728(%r9), %ymm10
2741vpaddw 672(%r9), %ymm4, %ymm4
2742vpaddw 2080(%r9), %ymm10, %ymm10
2743vpmullw %ymm0, %ymm6, %ymm12
2744vmovdqa %ymm12, 6272(%r8)
2745vpmullw %ymm0, %ymm7, %ymm13
2746vpmullw %ymm1, %ymm6, %ymm15
2747vpaddw %ymm13, %ymm15, %ymm13
2748vmovdqa %ymm13, 6304(%r8)
2749vpmullw %ymm0, %ymm8, %ymm12
2750vpmullw %ymm1, %ymm7, %ymm15
2751vpaddw %ymm12, %ymm15, %ymm12
2752vpmullw %ymm2, %ymm6, %ymm15
2753vpaddw %ymm12, %ymm15, %ymm12
2754vmovdqa %ymm12, 6336(%r8)
2755vpmullw %ymm0, %ymm9, %ymm13
2756vpmullw %ymm1, %ymm8, %ymm15
2757vpaddw %ymm13, %ymm15, %ymm13
2758vpmullw %ymm2, %ymm7, %ymm15
2759vpaddw %ymm13, %ymm15, %ymm13
2760vpmullw %ymm3, %ymm6, %ymm15
2761vpaddw %ymm13, %ymm15, %ymm13
2762vmovdqa %ymm13, 6368(%r8)
2763vpmullw %ymm0, %ymm10, %ymm12
2764vpmullw %ymm1, %ymm9, %ymm15
2765vpaddw %ymm12, %ymm15, %ymm12
2766vpmullw %ymm2, %ymm8, %ymm15
2767vpaddw %ymm12, %ymm15, %ymm12
2768vpmullw %ymm3, %ymm7, %ymm15
2769vpaddw %ymm12, %ymm15, %ymm12
2770vpmullw %ymm4, %ymm6, %ymm15
2771vpaddw %ymm12, %ymm15, %ymm12
2772vmovdqa %ymm12, 6400(%r8)
2773vpmullw %ymm1, %ymm10, %ymm13
2774vpmullw %ymm2, %ymm9, %ymm15
2775vpaddw %ymm13, %ymm15, %ymm13
2776vpmullw %ymm3, %ymm8, %ymm15
2777vpaddw %ymm13, %ymm15, %ymm13
2778vpmullw %ymm4, %ymm7, %ymm15
2779vpaddw %ymm13, %ymm15, %ymm13
2780vmovdqa %ymm13, 6432(%r8)
2781vpmullw %ymm2, %ymm10, %ymm12
2782vpmullw %ymm3, %ymm9, %ymm15
2783vpaddw %ymm12, %ymm15, %ymm12
2784vpmullw %ymm4, %ymm8, %ymm15
2785vpaddw %ymm12, %ymm15, %ymm12
2786vmovdqa %ymm12, 6464(%r8)
2787vpmullw %ymm3, %ymm10, %ymm13
2788vpmullw %ymm4, %ymm9, %ymm15
2789vpaddw %ymm13, %ymm15, %ymm13
2790vmovdqa %ymm13, 6496(%r8)
2791vpmullw %ymm4, %ymm10, %ymm12
2792vmovdqa %ymm12, 6528(%r8)
2793vpaddw 0(%r9), %ymm0, %ymm0
2794vpaddw 1408(%r9), %ymm6, %ymm6
2795vpaddw 352(%r9), %ymm0, %ymm0
2796vpaddw 1760(%r9), %ymm6, %ymm6
2797vpaddw 32(%r9), %ymm1, %ymm1
2798vpaddw 1440(%r9), %ymm7, %ymm7
2799vpaddw 384(%r9), %ymm1, %ymm1
2800vpaddw 1792(%r9), %ymm7, %ymm7
2801vpaddw 64(%r9), %ymm2, %ymm2
2802vpaddw 1472(%r9), %ymm8, %ymm8
2803vpaddw 416(%r9), %ymm2, %ymm2
2804vpaddw 1824(%r9), %ymm8, %ymm8
2805vpaddw 96(%r9), %ymm3, %ymm3
2806vpaddw 1504(%r9), %ymm9, %ymm9
2807vpaddw 448(%r9), %ymm3, %ymm3
2808vpaddw 1856(%r9), %ymm9, %ymm9
2809vpaddw 128(%r9), %ymm4, %ymm4
2810vpaddw 1536(%r9), %ymm10, %ymm10
2811vpaddw 480(%r9), %ymm4, %ymm4
2812vpaddw 1888(%r9), %ymm10, %ymm10
2813vpmullw %ymm0, %ymm11, %ymm12
2814vpmullw %ymm1, %ymm10, %ymm15
2815vpaddw %ymm15, %ymm12, %ymm12
2816vpmullw %ymm2, %ymm9, %ymm15
2817vpaddw %ymm15, %ymm12, %ymm12
2818vpmullw %ymm3, %ymm8, %ymm15
2819vpaddw %ymm15, %ymm12, %ymm12
2820vpmullw %ymm4, %ymm7, %ymm15
2821vpaddw %ymm15, %ymm12, %ymm12
2822vpmullw %ymm5, %ymm6, %ymm15
2823vpaddw %ymm15, %ymm12, %ymm12
2824vpsubw 6048(%r8), %ymm12, %ymm12
2825vpsubw 6432(%r8), %ymm12, %ymm12
2826vmovdqa %ymm12, 6240(%r8)
2827vpmullw %ymm5, %ymm7, %ymm12
2828vpmullw %ymm5, %ymm8, %ymm13
2829vpmullw %ymm5, %ymm9, %ymm14
2830vpmullw %ymm5, %ymm10, %ymm15
2831vpmullw %ymm1, %ymm11, %ymm5
2832vpaddw %ymm5, %ymm12, %ymm12
2833vpmullw %ymm2, %ymm10, %ymm5
2834vpaddw %ymm5, %ymm12, %ymm12
2835vpmullw %ymm3, %ymm9, %ymm5
2836vpaddw %ymm5, %ymm12, %ymm12
2837vpmullw %ymm4, %ymm8, %ymm5
2838vpaddw %ymm5, %ymm12, %ymm12
2839vpmullw %ymm2, %ymm11, %ymm5
2840vpaddw %ymm5, %ymm13, %ymm13
2841vpmullw %ymm3, %ymm10, %ymm5
2842vpaddw %ymm5, %ymm13, %ymm13
2843vpmullw %ymm4, %ymm9, %ymm5
2844vpaddw %ymm5, %ymm13, %ymm13
2845vpmullw %ymm3, %ymm11, %ymm5
2846vpaddw %ymm5, %ymm14, %ymm14
2847vpmullw %ymm4, %ymm10, %ymm5
2848vpaddw %ymm5, %ymm14, %ymm14
2849vpmullw %ymm4, %ymm11, %ymm5
2850vpaddw %ymm5, %ymm15, %ymm15
2851vpmullw %ymm0, %ymm10, %ymm11
2852vpmullw %ymm1, %ymm9, %ymm5
2853vpaddw %ymm5, %ymm11, %ymm11
2854vpmullw %ymm2, %ymm8, %ymm5
2855vpaddw %ymm5, %ymm11, %ymm11
2856vpmullw %ymm3, %ymm7, %ymm5
2857vpaddw %ymm5, %ymm11, %ymm11
2858vpmullw %ymm4, %ymm6, %ymm5
2859vpaddw %ymm5, %ymm11, %ymm11
2860vpmullw %ymm0, %ymm9, %ymm10
2861vpmullw %ymm1, %ymm8, %ymm5
2862vpaddw %ymm5, %ymm10, %ymm10
2863vpmullw %ymm2, %ymm7, %ymm5
2864vpaddw %ymm5, %ymm10, %ymm10
2865vpmullw %ymm3, %ymm6, %ymm5
2866vpaddw %ymm5, %ymm10, %ymm10
2867vpmullw %ymm0, %ymm8, %ymm9
2868vpmullw %ymm1, %ymm7, %ymm5
2869vpaddw %ymm5, %ymm9, %ymm9
2870vpmullw %ymm2, %ymm6, %ymm5
2871vpaddw %ymm5, %ymm9, %ymm9
2872vpmullw %ymm0, %ymm7, %ymm8
2873vpmullw %ymm1, %ymm6, %ymm5
2874vpaddw %ymm5, %ymm8, %ymm8
2875vpmullw %ymm0, %ymm6, %ymm7
2876vmovdqa 6080(%r8), %ymm0
2877vpsubw 6272(%r8), %ymm0, %ymm0
2878vpsubw %ymm0, %ymm12, %ymm6
2879vpsubw 6464(%r8), %ymm6, %ymm6
2880vmovdqa %ymm6, 6272(%r8)
2881vpaddw %ymm7, %ymm0, %ymm0
2882vpsubw 5888(%r8), %ymm0, %ymm0
2883vmovdqa %ymm0, 6080(%r8)
2884vmovdqa 6112(%r8), %ymm1
2885vpsubw 6304(%r8), %ymm1, %ymm1
2886vpsubw %ymm1, %ymm13, %ymm7
2887vpsubw 6496(%r8), %ymm7, %ymm7
2888vmovdqa %ymm7, 6304(%r8)
2889vpaddw %ymm8, %ymm1, %ymm1
2890vpsubw 5920(%r8), %ymm1, %ymm1
2891vmovdqa %ymm1, 6112(%r8)
2892vmovdqa 6144(%r8), %ymm2
2893vpsubw 6336(%r8), %ymm2, %ymm2
2894vpsubw %ymm2, %ymm14, %ymm8
2895vpsubw 6528(%r8), %ymm8, %ymm8
2896vmovdqa %ymm8, 6336(%r8)
2897vpaddw %ymm9, %ymm2, %ymm2
2898vpsubw 5952(%r8), %ymm2, %ymm2
2899vmovdqa %ymm2, 6144(%r8)
2900vmovdqa 6176(%r8), %ymm3
2901vpsubw 6368(%r8), %ymm3, %ymm3
2902vpsubw %ymm3, %ymm15, %ymm9
2903vmovdqa %ymm9, 6368(%r8)
2904vpaddw %ymm10, %ymm3, %ymm3
2905vpsubw 5984(%r8), %ymm3, %ymm3
2906vmovdqa %ymm3, 6176(%r8)
2907vmovdqa 6208(%r8), %ymm4
2908vpsubw 6400(%r8), %ymm4, %ymm4
2909vpaddw %ymm11, %ymm4, %ymm4
2910vpsubw 6016(%r8), %ymm4, %ymm4
2911vmovdqa %ymm4, 6208(%r8)
2912vmovdqa 6208(%r8), %ymm0
2913vpsubw 3136(%r10), %ymm0, %ymm0
2914vpsubw 3840(%r10), %ymm0, %ymm0
2915vmovdqa %ymm0, 3488(%r10)
2916vmovdqa 3168(%r10), %ymm0
2917vpsubw 3520(%r10), %ymm0, %ymm0
2918vmovdqa 6240(%r8), %ymm1
2919vpsubw %ymm0, %ymm1, %ymm1
2920vpsubw 3872(%r10), %ymm1, %ymm1
2921vpsubw 2816(%r10), %ymm0, %ymm0
2922vpaddw 5888(%r8), %ymm0, %ymm0
2923vmovdqa %ymm0, 3168(%r10)
2924vmovdqa %ymm1, 3520(%r10)
2925vmovdqa 3200(%r10), %ymm0
2926vpsubw 3552(%r10), %ymm0, %ymm0
2927vmovdqa 6272(%r8), %ymm1
2928vpsubw %ymm0, %ymm1, %ymm1
2929vpsubw 3904(%r10), %ymm1, %ymm1
2930vpsubw 2848(%r10), %ymm0, %ymm0
2931vpaddw 5920(%r8), %ymm0, %ymm0
2932vmovdqa %ymm0, 3200(%r10)
2933vmovdqa %ymm1, 3552(%r10)
2934vmovdqa 3232(%r10), %ymm0
2935vpsubw 3584(%r10), %ymm0, %ymm0
2936vmovdqa 6304(%r8), %ymm1
2937vpsubw %ymm0, %ymm1, %ymm1
2938vpsubw 3936(%r10), %ymm1, %ymm1
2939vpsubw 2880(%r10), %ymm0, %ymm0
2940vpaddw 5952(%r8), %ymm0, %ymm0
2941vmovdqa %ymm0, 3232(%r10)
2942vmovdqa %ymm1, 3584(%r10)
2943vmovdqa 3264(%r10), %ymm0
2944vpsubw 3616(%r10), %ymm0, %ymm0
2945vmovdqa 6336(%r8), %ymm1
2946vpsubw %ymm0, %ymm1, %ymm1
2947vpsubw 3968(%r10), %ymm1, %ymm1
2948vpsubw 2912(%r10), %ymm0, %ymm0
2949vpaddw 5984(%r8), %ymm0, %ymm0
2950vmovdqa %ymm0, 3264(%r10)
2951vmovdqa %ymm1, 3616(%r10)
2952vmovdqa 3296(%r10), %ymm0
2953vpsubw 3648(%r10), %ymm0, %ymm0
2954vmovdqa 6368(%r8), %ymm1
2955vpsubw %ymm0, %ymm1, %ymm1
2956vpsubw 4000(%r10), %ymm1, %ymm1
2957vpsubw 2944(%r10), %ymm0, %ymm0
2958vpaddw 6016(%r8), %ymm0, %ymm0
2959vmovdqa %ymm0, 3296(%r10)
2960vmovdqa %ymm1, 3648(%r10)
2961vmovdqa 3328(%r10), %ymm0
2962vpsubw 3680(%r10), %ymm0, %ymm0
2963vmovdqa 6400(%r8), %ymm1
2964vpsubw %ymm0, %ymm1, %ymm1
2965vpsubw 4032(%r10), %ymm1, %ymm1
2966vpsubw 2976(%r10), %ymm0, %ymm0
2967vpaddw 6048(%r8), %ymm0, %ymm0
2968vmovdqa %ymm0, 3328(%r10)
2969vmovdqa %ymm1, 3680(%r10)
2970vmovdqa 3360(%r10), %ymm0
2971vpsubw 3712(%r10), %ymm0, %ymm0
2972vmovdqa 6432(%r8), %ymm1
2973vpsubw %ymm0, %ymm1, %ymm1
2974vpsubw 4064(%r10), %ymm1, %ymm1
2975vpsubw 3008(%r10), %ymm0, %ymm0
2976vpaddw 6080(%r8), %ymm0, %ymm0
2977vmovdqa %ymm0, 3360(%r10)
2978vmovdqa %ymm1, 3712(%r10)
2979vmovdqa 3392(%r10), %ymm0
2980vpsubw 3744(%r10), %ymm0, %ymm0
2981vmovdqa 6464(%r8), %ymm1
2982vpsubw %ymm0, %ymm1, %ymm1
2983vpsubw 4096(%r10), %ymm1, %ymm1
2984vpsubw 3040(%r10), %ymm0, %ymm0
2985vpaddw 6112(%r8), %ymm0, %ymm0
2986vmovdqa %ymm0, 3392(%r10)
2987vmovdqa %ymm1, 3744(%r10)
2988vmovdqa 3424(%r10), %ymm0
2989vpsubw 3776(%r10), %ymm0, %ymm0
2990vmovdqa 6496(%r8), %ymm1
2991vpsubw %ymm0, %ymm1, %ymm1
2992vpsubw 4128(%r10), %ymm1, %ymm1
2993vpsubw 3072(%r10), %ymm0, %ymm0
2994vpaddw 6144(%r8), %ymm0, %ymm0
2995vmovdqa %ymm0, 3424(%r10)
2996vmovdqa %ymm1, 3776(%r10)
2997vmovdqa 3456(%r10), %ymm0
2998vpsubw 3808(%r10), %ymm0, %ymm0
2999vmovdqa 6528(%r8), %ymm1
3000vpsubw %ymm0, %ymm1, %ymm1
3001vpsubw 4160(%r10), %ymm1, %ymm1
3002vpsubw 3104(%r10), %ymm0, %ymm0
3003vpaddw 6176(%r8), %ymm0, %ymm0
3004vmovdqa %ymm0, 3456(%r10)
3005vmovdqa %ymm1, 3808(%r10)
3006neg %ecx
3007jns done_4eced63f144beffcb0247f9c6f67d165
3008add $704, %r9
3009add $1408, %r10
3010jmp innerloop_4eced63f144beffcb0247f9c6f67d165
3011done_4eced63f144beffcb0247f9c6f67d165:
3012sub $704, %r9
3013sub $1408, %r10
3014vmovdqa 0(%r9), %ymm0
3015vpaddw 704(%r9), %ymm0, %ymm0
3016vmovdqa %ymm0, 6592(%r8)
3017vmovdqa 1408(%r9), %ymm0
3018vpaddw 2112(%r9), %ymm0, %ymm0
3019vmovdqa %ymm0, 7296(%r8)
3020vmovdqa 32(%r9), %ymm0
3021vpaddw 736(%r9), %ymm0, %ymm0
3022vmovdqa %ymm0, 6624(%r8)
3023vmovdqa 1440(%r9), %ymm0
3024vpaddw 2144(%r9), %ymm0, %ymm0
3025vmovdqa %ymm0, 7328(%r8)
3026vmovdqa 64(%r9), %ymm0
3027vpaddw 768(%r9), %ymm0, %ymm0
3028vmovdqa %ymm0, 6656(%r8)
3029vmovdqa 1472(%r9), %ymm0
3030vpaddw 2176(%r9), %ymm0, %ymm0
3031vmovdqa %ymm0, 7360(%r8)
3032vmovdqa 96(%r9), %ymm0
3033vpaddw 800(%r9), %ymm0, %ymm0
3034vmovdqa %ymm0, 6688(%r8)
3035vmovdqa 1504(%r9), %ymm0
3036vpaddw 2208(%r9), %ymm0, %ymm0
3037vmovdqa %ymm0, 7392(%r8)
3038vmovdqa 128(%r9), %ymm0
3039vpaddw 832(%r9), %ymm0, %ymm0
3040vmovdqa %ymm0, 6720(%r8)
3041vmovdqa 1536(%r9), %ymm0
3042vpaddw 2240(%r9), %ymm0, %ymm0
3043vmovdqa %ymm0, 7424(%r8)
3044vmovdqa 160(%r9), %ymm0
3045vpaddw 864(%r9), %ymm0, %ymm0
3046vmovdqa %ymm0, 6752(%r8)
3047vmovdqa 1568(%r9), %ymm0
3048vpaddw 2272(%r9), %ymm0, %ymm0
3049vmovdqa %ymm0, 7456(%r8)
3050vmovdqa 192(%r9), %ymm0
3051vpaddw 896(%r9), %ymm0, %ymm0
3052vmovdqa %ymm0, 6784(%r8)
3053vmovdqa 1600(%r9), %ymm0
3054vpaddw 2304(%r9), %ymm0, %ymm0
3055vmovdqa %ymm0, 7488(%r8)
3056vmovdqa 224(%r9), %ymm0
3057vpaddw 928(%r9), %ymm0, %ymm0
3058vmovdqa %ymm0, 6816(%r8)
3059vmovdqa 1632(%r9), %ymm0
3060vpaddw 2336(%r9), %ymm0, %ymm0
3061vmovdqa %ymm0, 7520(%r8)
3062vmovdqa 256(%r9), %ymm0
3063vpaddw 960(%r9), %ymm0, %ymm0
3064vmovdqa %ymm0, 6848(%r8)
3065vmovdqa 1664(%r9), %ymm0
3066vpaddw 2368(%r9), %ymm0, %ymm0
3067vmovdqa %ymm0, 7552(%r8)
3068vmovdqa 288(%r9), %ymm0
3069vpaddw 992(%r9), %ymm0, %ymm0
3070vmovdqa %ymm0, 6880(%r8)
3071vmovdqa 1696(%r9), %ymm0
3072vpaddw 2400(%r9), %ymm0, %ymm0
3073vmovdqa %ymm0, 7584(%r8)
3074vmovdqa 320(%r9), %ymm0
3075vpaddw 1024(%r9), %ymm0, %ymm0
3076vmovdqa %ymm0, 6912(%r8)
3077vmovdqa 1728(%r9), %ymm0
3078vpaddw 2432(%r9), %ymm0, %ymm0
3079vmovdqa %ymm0, 7616(%r8)
3080vmovdqa 352(%r9), %ymm0
3081vpaddw 1056(%r9), %ymm0, %ymm0
3082vmovdqa %ymm0, 6944(%r8)
3083vmovdqa 1760(%r9), %ymm0
3084vpaddw 2464(%r9), %ymm0, %ymm0
3085vmovdqa %ymm0, 7648(%r8)
3086vmovdqa 384(%r9), %ymm0
3087vpaddw 1088(%r9), %ymm0, %ymm0
3088vmovdqa %ymm0, 6976(%r8)
3089vmovdqa 1792(%r9), %ymm0
3090vpaddw 2496(%r9), %ymm0, %ymm0
3091vmovdqa %ymm0, 7680(%r8)
3092vmovdqa 416(%r9), %ymm0
3093vpaddw 1120(%r9), %ymm0, %ymm0
3094vmovdqa %ymm0, 7008(%r8)
3095vmovdqa 1824(%r9), %ymm0
3096vpaddw 2528(%r9), %ymm0, %ymm0
3097vmovdqa %ymm0, 7712(%r8)
3098vmovdqa 448(%r9), %ymm0
3099vpaddw 1152(%r9), %ymm0, %ymm0
3100vmovdqa %ymm0, 7040(%r8)
3101vmovdqa 1856(%r9), %ymm0
3102vpaddw 2560(%r9), %ymm0, %ymm0
3103vmovdqa %ymm0, 7744(%r8)
3104vmovdqa 480(%r9), %ymm0
3105vpaddw 1184(%r9), %ymm0, %ymm0
3106vmovdqa %ymm0, 7072(%r8)
3107vmovdqa 1888(%r9), %ymm0
3108vpaddw 2592(%r9), %ymm0, %ymm0
3109vmovdqa %ymm0, 7776(%r8)
3110vmovdqa 512(%r9), %ymm0
3111vpaddw 1216(%r9), %ymm0, %ymm0
3112vmovdqa %ymm0, 7104(%r8)
3113vmovdqa 1920(%r9), %ymm0
3114vpaddw 2624(%r9), %ymm0, %ymm0
3115vmovdqa %ymm0, 7808(%r8)
3116vmovdqa 544(%r9), %ymm0
3117vpaddw 1248(%r9), %ymm0, %ymm0
3118vmovdqa %ymm0, 7136(%r8)
3119vmovdqa 1952(%r9), %ymm0
3120vpaddw 2656(%r9), %ymm0, %ymm0
3121vmovdqa %ymm0, 7840(%r8)
3122vmovdqa 576(%r9), %ymm0
3123vpaddw 1280(%r9), %ymm0, %ymm0
3124vmovdqa %ymm0, 7168(%r8)
3125vmovdqa 1984(%r9), %ymm0
3126vpaddw 2688(%r9), %ymm0, %ymm0
3127vmovdqa %ymm0, 7872(%r8)
3128vmovdqa 608(%r9), %ymm0
3129vpaddw 1312(%r9), %ymm0, %ymm0
3130vmovdqa %ymm0, 7200(%r8)
3131vmovdqa 2016(%r9), %ymm0
3132vpaddw 2720(%r9), %ymm0, %ymm0
3133vmovdqa %ymm0, 7904(%r8)
3134vmovdqa 640(%r9), %ymm0
3135vpaddw 1344(%r9), %ymm0, %ymm0
3136vmovdqa %ymm0, 7232(%r8)
3137vmovdqa 2048(%r9), %ymm0
3138vpaddw 2752(%r9), %ymm0, %ymm0
3139vmovdqa %ymm0, 7936(%r8)
3140vmovdqa 672(%r9), %ymm0
3141vpaddw 1376(%r9), %ymm0, %ymm0
3142vmovdqa %ymm0, 7264(%r8)
3143vmovdqa 2080(%r9), %ymm0
3144vpaddw 2784(%r9), %ymm0, %ymm0
3145vmovdqa %ymm0, 7968(%r8)
3146vmovdqa 6592(%r8), %ymm0
3147vmovdqa 7296(%r8), %ymm6
3148vmovdqa 6624(%r8), %ymm1
3149vmovdqa 7328(%r8), %ymm7
3150vmovdqa 6656(%r8), %ymm2
3151vmovdqa 7360(%r8), %ymm8
3152vmovdqa 6688(%r8), %ymm3
3153vmovdqa 7392(%r8), %ymm9
3154vmovdqa 6720(%r8), %ymm4
3155vmovdqa 7424(%r8), %ymm10
3156vmovdqa 6752(%r8), %ymm5
3157vmovdqa 7456(%r8), %ymm11
3158vpmullw %ymm0, %ymm6, %ymm12
3159vmovdqa %ymm12, 8000(%r8)
3160vpmullw %ymm0, %ymm7, %ymm13
3161vpmullw %ymm1, %ymm6, %ymm15
3162vpaddw %ymm13, %ymm15, %ymm13
3163vmovdqa %ymm13, 8032(%r8)
3164vpmullw %ymm0, %ymm8, %ymm12
3165vpmullw %ymm1, %ymm7, %ymm15
3166vpaddw %ymm12, %ymm15, %ymm12
3167vpmullw %ymm2, %ymm6, %ymm15
3168vpaddw %ymm12, %ymm15, %ymm12
3169vmovdqa %ymm12, 8064(%r8)
3170vpmullw %ymm0, %ymm9, %ymm13
3171vpmullw %ymm1, %ymm8, %ymm15
3172vpaddw %ymm13, %ymm15, %ymm13
3173vpmullw %ymm2, %ymm7, %ymm15
3174vpaddw %ymm13, %ymm15, %ymm13
3175vpmullw %ymm3, %ymm6, %ymm15
3176vpaddw %ymm13, %ymm15, %ymm13
3177vmovdqa %ymm13, 8096(%r8)
3178vpmullw %ymm0, %ymm10, %ymm12
3179vpmullw %ymm1, %ymm9, %ymm15
3180vpaddw %ymm12, %ymm15, %ymm12
3181vpmullw %ymm2, %ymm8, %ymm15
3182vpaddw %ymm12, %ymm15, %ymm12
3183vpmullw %ymm3, %ymm7, %ymm15
3184vpaddw %ymm12, %ymm15, %ymm12
3185vpmullw %ymm4, %ymm6, %ymm15
3186vpaddw %ymm12, %ymm15, %ymm12
3187vmovdqa %ymm12, 8128(%r8)
3188vpmullw %ymm0, %ymm11, %ymm13
3189vpmullw %ymm1, %ymm10, %ymm15
3190vpaddw %ymm13, %ymm15, %ymm13
3191vpmullw %ymm2, %ymm9, %ymm15
3192vpaddw %ymm13, %ymm15, %ymm13
3193vpmullw %ymm3, %ymm8, %ymm15
3194vpaddw %ymm13, %ymm15, %ymm13
3195vpmullw %ymm4, %ymm7, %ymm15
3196vpaddw %ymm13, %ymm15, %ymm13
3197vpmullw %ymm5, %ymm6, %ymm15
3198vpaddw %ymm13, %ymm15, %ymm13
3199vmovdqa %ymm13, 8160(%r8)
3200vpmullw %ymm1, %ymm11, %ymm12
3201vpmullw %ymm2, %ymm10, %ymm15
3202vpaddw %ymm12, %ymm15, %ymm12
3203vpmullw %ymm3, %ymm9, %ymm15
3204vpaddw %ymm12, %ymm15, %ymm12
3205vpmullw %ymm4, %ymm8, %ymm15
3206vpaddw %ymm12, %ymm15, %ymm12
3207vpmullw %ymm5, %ymm7, %ymm15
3208vpaddw %ymm12, %ymm15, %ymm12
3209vmovdqa %ymm12, 8192(%r8)
3210vpmullw %ymm2, %ymm11, %ymm13
3211vpmullw %ymm3, %ymm10, %ymm15
3212vpaddw %ymm13, %ymm15, %ymm13
3213vpmullw %ymm4, %ymm9, %ymm15
3214vpaddw %ymm13, %ymm15, %ymm13
3215vpmullw %ymm5, %ymm8, %ymm15
3216vpaddw %ymm13, %ymm15, %ymm13
3217vmovdqa %ymm13, 8224(%r8)
3218vpmullw %ymm3, %ymm11, %ymm12
3219vpmullw %ymm4, %ymm10, %ymm15
3220vpaddw %ymm12, %ymm15, %ymm12
3221vpmullw %ymm5, %ymm9, %ymm15
3222vpaddw %ymm12, %ymm15, %ymm12
3223vmovdqa %ymm12, 8256(%r8)
3224vpmullw %ymm4, %ymm11, %ymm13
3225vpmullw %ymm5, %ymm10, %ymm15
3226vpaddw %ymm13, %ymm15, %ymm13
3227vmovdqa %ymm13, 8288(%r8)
3228vpmullw %ymm5, %ymm11, %ymm12
3229vmovdqa %ymm12, 8320(%r8)
3230vmovdqa 6784(%r8), %ymm0
3231vmovdqa 7488(%r8), %ymm6
3232vmovdqa 6816(%r8), %ymm1
3233vmovdqa 7520(%r8), %ymm7
3234vmovdqa 6848(%r8), %ymm2
3235vmovdqa 7552(%r8), %ymm8
3236vmovdqa 6880(%r8), %ymm3
3237vmovdqa 7584(%r8), %ymm9
3238vmovdqa 6912(%r8), %ymm4
3239vmovdqa 7616(%r8), %ymm10
3240vpmullw %ymm0, %ymm6, %ymm12
3241vmovdqa %ymm12, 8384(%r8)
3242vpmullw %ymm0, %ymm7, %ymm13
3243vpmullw %ymm1, %ymm6, %ymm15
3244vpaddw %ymm13, %ymm15, %ymm13
3245vmovdqa %ymm13, 8416(%r8)
3246vpmullw %ymm0, %ymm8, %ymm12
3247vpmullw %ymm1, %ymm7, %ymm15
3248vpaddw %ymm12, %ymm15, %ymm12
3249vpmullw %ymm2, %ymm6, %ymm15
3250vpaddw %ymm12, %ymm15, %ymm12
3251vmovdqa %ymm12, 8448(%r8)
3252vpmullw %ymm0, %ymm9, %ymm13
3253vpmullw %ymm1, %ymm8, %ymm15
3254vpaddw %ymm13, %ymm15, %ymm13
3255vpmullw %ymm2, %ymm7, %ymm15
3256vpaddw %ymm13, %ymm15, %ymm13
3257vpmullw %ymm3, %ymm6, %ymm15
3258vpaddw %ymm13, %ymm15, %ymm13
3259vmovdqa %ymm13, 8480(%r8)
3260vpmullw %ymm0, %ymm10, %ymm12
3261vpmullw %ymm1, %ymm9, %ymm15
3262vpaddw %ymm12, %ymm15, %ymm12
3263vpmullw %ymm2, %ymm8, %ymm15
3264vpaddw %ymm12, %ymm15, %ymm12
3265vpmullw %ymm3, %ymm7, %ymm15
3266vpaddw %ymm12, %ymm15, %ymm12
3267vpmullw %ymm4, %ymm6, %ymm15
3268vpaddw %ymm12, %ymm15, %ymm12
3269vmovdqa %ymm12, 8512(%r8)
3270vpmullw %ymm1, %ymm10, %ymm13
3271vpmullw %ymm2, %ymm9, %ymm15
3272vpaddw %ymm13, %ymm15, %ymm13
3273vpmullw %ymm3, %ymm8, %ymm15
3274vpaddw %ymm13, %ymm15, %ymm13
3275vpmullw %ymm4, %ymm7, %ymm15
3276vpaddw %ymm13, %ymm15, %ymm13
3277vmovdqa %ymm13, 8544(%r8)
3278vpmullw %ymm2, %ymm10, %ymm12
3279vpmullw %ymm3, %ymm9, %ymm15
3280vpaddw %ymm12, %ymm15, %ymm12
3281vpmullw %ymm4, %ymm8, %ymm15
3282vpaddw %ymm12, %ymm15, %ymm12
3283vmovdqa %ymm12, 8576(%r8)
3284vpmullw %ymm3, %ymm10, %ymm13
3285vpmullw %ymm4, %ymm9, %ymm15
3286vpaddw %ymm13, %ymm15, %ymm13
3287vmovdqa %ymm13, 8608(%r8)
3288vpmullw %ymm4, %ymm10, %ymm12
3289vmovdqa %ymm12, 8640(%r8)
3290vpaddw 6592(%r8), %ymm0, %ymm0
3291vpaddw 7296(%r8), %ymm6, %ymm6
3292vpaddw 6624(%r8), %ymm1, %ymm1
3293vpaddw 7328(%r8), %ymm7, %ymm7
3294vpaddw 6656(%r8), %ymm2, %ymm2
3295vpaddw 7360(%r8), %ymm8, %ymm8
3296vpaddw 6688(%r8), %ymm3, %ymm3
3297vpaddw 7392(%r8), %ymm9, %ymm9
3298vpaddw 6720(%r8), %ymm4, %ymm4
3299vpaddw 7424(%r8), %ymm10, %ymm10
3300vpmullw %ymm0, %ymm11, %ymm12
3301vpmullw %ymm1, %ymm10, %ymm15
3302vpaddw %ymm15, %ymm12, %ymm12
3303vpmullw %ymm2, %ymm9, %ymm15
3304vpaddw %ymm15, %ymm12, %ymm12
3305vpmullw %ymm3, %ymm8, %ymm15
3306vpaddw %ymm15, %ymm12, %ymm12
3307vpmullw %ymm4, %ymm7, %ymm15
3308vpaddw %ymm15, %ymm12, %ymm12
3309vpmullw %ymm5, %ymm6, %ymm15
3310vpaddw %ymm15, %ymm12, %ymm12
3311vpsubw 8160(%r8), %ymm12, %ymm12
3312vpsubw 8544(%r8), %ymm12, %ymm12
3313vmovdqa %ymm12, 8352(%r8)
3314vpmullw %ymm5, %ymm7, %ymm12
3315vpmullw %ymm5, %ymm8, %ymm13
3316vpmullw %ymm5, %ymm9, %ymm14
3317vpmullw %ymm5, %ymm10, %ymm15
3318vpmullw %ymm1, %ymm11, %ymm5
3319vpaddw %ymm5, %ymm12, %ymm12
3320vpmullw %ymm2, %ymm10, %ymm5
3321vpaddw %ymm5, %ymm12, %ymm12
3322vpmullw %ymm3, %ymm9, %ymm5
3323vpaddw %ymm5, %ymm12, %ymm12
3324vpmullw %ymm4, %ymm8, %ymm5
3325vpaddw %ymm5, %ymm12, %ymm12
3326vpmullw %ymm2, %ymm11, %ymm5
3327vpaddw %ymm5, %ymm13, %ymm13
3328vpmullw %ymm3, %ymm10, %ymm5
3329vpaddw %ymm5, %ymm13, %ymm13
3330vpmullw %ymm4, %ymm9, %ymm5
3331vpaddw %ymm5, %ymm13, %ymm13
3332vpmullw %ymm3, %ymm11, %ymm5
3333vpaddw %ymm5, %ymm14, %ymm14
3334vpmullw %ymm4, %ymm10, %ymm5
3335vpaddw %ymm5, %ymm14, %ymm14
3336vpmullw %ymm4, %ymm11, %ymm5
3337vpaddw %ymm5, %ymm15, %ymm15
3338vpmullw %ymm0, %ymm10, %ymm11
3339vpmullw %ymm1, %ymm9, %ymm5
3340vpaddw %ymm5, %ymm11, %ymm11
3341vpmullw %ymm2, %ymm8, %ymm5
3342vpaddw %ymm5, %ymm11, %ymm11
3343vpmullw %ymm3, %ymm7, %ymm5
3344vpaddw %ymm5, %ymm11, %ymm11
3345vpmullw %ymm4, %ymm6, %ymm5
3346vpaddw %ymm5, %ymm11, %ymm11
3347vpmullw %ymm0, %ymm9, %ymm10
3348vpmullw %ymm1, %ymm8, %ymm5
3349vpaddw %ymm5, %ymm10, %ymm10
3350vpmullw %ymm2, %ymm7, %ymm5
3351vpaddw %ymm5, %ymm10, %ymm10
3352vpmullw %ymm3, %ymm6, %ymm5
3353vpaddw %ymm5, %ymm10, %ymm10
3354vpmullw %ymm0, %ymm8, %ymm9
3355vpmullw %ymm1, %ymm7, %ymm5
3356vpaddw %ymm5, %ymm9, %ymm9
3357vpmullw %ymm2, %ymm6, %ymm5
3358vpaddw %ymm5, %ymm9, %ymm9
3359vpmullw %ymm0, %ymm7, %ymm8
3360vpmullw %ymm1, %ymm6, %ymm5
3361vpaddw %ymm5, %ymm8, %ymm8
3362vpmullw %ymm0, %ymm6, %ymm7
3363vmovdqa 8192(%r8), %ymm0
3364vpsubw 8384(%r8), %ymm0, %ymm0
3365vpsubw %ymm0, %ymm12, %ymm6
3366vpsubw 8576(%r8), %ymm6, %ymm6
3367vmovdqa %ymm6, 8384(%r8)
3368vpaddw %ymm7, %ymm0, %ymm0
3369vpsubw 8000(%r8), %ymm0, %ymm0
3370vmovdqa %ymm0, 8192(%r8)
3371vmovdqa 8224(%r8), %ymm1
3372vpsubw 8416(%r8), %ymm1, %ymm1
3373vpsubw %ymm1, %ymm13, %ymm7
3374vpsubw 8608(%r8), %ymm7, %ymm7
3375vmovdqa %ymm7, 8416(%r8)
3376vpaddw %ymm8, %ymm1, %ymm1
3377vpsubw 8032(%r8), %ymm1, %ymm1
3378vmovdqa %ymm1, 8224(%r8)
3379vmovdqa 8256(%r8), %ymm2
3380vpsubw 8448(%r8), %ymm2, %ymm2
3381vpsubw %ymm2, %ymm14, %ymm8
3382vpsubw 8640(%r8), %ymm8, %ymm8
3383vmovdqa %ymm8, 8448(%r8)
3384vpaddw %ymm9, %ymm2, %ymm2
3385vpsubw 8064(%r8), %ymm2, %ymm2
3386vmovdqa %ymm2, 8256(%r8)
3387vmovdqa 8288(%r8), %ymm3
3388vpsubw 8480(%r8), %ymm3, %ymm3
3389vpsubw %ymm3, %ymm15, %ymm9
3390vmovdqa %ymm9, 8480(%r8)
3391vpaddw %ymm10, %ymm3, %ymm3
3392vpsubw 8096(%r8), %ymm3, %ymm3
3393vmovdqa %ymm3, 8288(%r8)
3394vmovdqa 8320(%r8), %ymm4
3395vpsubw 8512(%r8), %ymm4, %ymm4
3396vpaddw %ymm11, %ymm4, %ymm4
3397vpsubw 8128(%r8), %ymm4, %ymm4
3398vmovdqa %ymm4, 8320(%r8)
3399vmovdqa 6944(%r8), %ymm0
3400vmovdqa 7648(%r8), %ymm6
3401vmovdqa 6976(%r8), %ymm1
3402vmovdqa 7680(%r8), %ymm7
3403vmovdqa 7008(%r8), %ymm2
3404vmovdqa 7712(%r8), %ymm8
3405vmovdqa 7040(%r8), %ymm3
3406vmovdqa 7744(%r8), %ymm9
3407vmovdqa 7072(%r8), %ymm4
3408vmovdqa 7776(%r8), %ymm10
3409vmovdqa 7104(%r8), %ymm5
3410vmovdqa 7808(%r8), %ymm11
3411vpmullw %ymm0, %ymm6, %ymm12
3412vmovdqa %ymm12, 8704(%r8)
3413vpmullw %ymm0, %ymm7, %ymm13
3414vpmullw %ymm1, %ymm6, %ymm15
3415vpaddw %ymm13, %ymm15, %ymm13
3416vmovdqa %ymm13, 8736(%r8)
3417vpmullw %ymm0, %ymm8, %ymm12
3418vpmullw %ymm1, %ymm7, %ymm15
3419vpaddw %ymm12, %ymm15, %ymm12
3420vpmullw %ymm2, %ymm6, %ymm15
3421vpaddw %ymm12, %ymm15, %ymm12
3422vmovdqa %ymm12, 8768(%r8)
3423vpmullw %ymm0, %ymm9, %ymm13
3424vpmullw %ymm1, %ymm8, %ymm15
3425vpaddw %ymm13, %ymm15, %ymm13
3426vpmullw %ymm2, %ymm7, %ymm15
3427vpaddw %ymm13, %ymm15, %ymm13
3428vpmullw %ymm3, %ymm6, %ymm15
3429vpaddw %ymm13, %ymm15, %ymm13
3430vmovdqa %ymm13, 8800(%r8)
3431vpmullw %ymm0, %ymm10, %ymm12
3432vpmullw %ymm1, %ymm9, %ymm15
3433vpaddw %ymm12, %ymm15, %ymm12
3434vpmullw %ymm2, %ymm8, %ymm15
3435vpaddw %ymm12, %ymm15, %ymm12
3436vpmullw %ymm3, %ymm7, %ymm15
3437vpaddw %ymm12, %ymm15, %ymm12
3438vpmullw %ymm4, %ymm6, %ymm15
3439vpaddw %ymm12, %ymm15, %ymm12
3440vmovdqa %ymm12, 8832(%r8)
3441vpmullw %ymm0, %ymm11, %ymm13
3442vpmullw %ymm1, %ymm10, %ymm15
3443vpaddw %ymm13, %ymm15, %ymm13
3444vpmullw %ymm2, %ymm9, %ymm15
3445vpaddw %ymm13, %ymm15, %ymm13
3446vpmullw %ymm3, %ymm8, %ymm15
3447vpaddw %ymm13, %ymm15, %ymm13
3448vpmullw %ymm4, %ymm7, %ymm15
3449vpaddw %ymm13, %ymm15, %ymm13
3450vpmullw %ymm5, %ymm6, %ymm15
3451vpaddw %ymm13, %ymm15, %ymm13
3452vmovdqa %ymm13, 8864(%r8)
3453vpmullw %ymm1, %ymm11, %ymm12
3454vpmullw %ymm2, %ymm10, %ymm15
3455vpaddw %ymm12, %ymm15, %ymm12
3456vpmullw %ymm3, %ymm9, %ymm15
3457vpaddw %ymm12, %ymm15, %ymm12
3458vpmullw %ymm4, %ymm8, %ymm15
3459vpaddw %ymm12, %ymm15, %ymm12
3460vpmullw %ymm5, %ymm7, %ymm15
3461vpaddw %ymm12, %ymm15, %ymm12
3462vmovdqa %ymm12, 8896(%r8)
3463vpmullw %ymm2, %ymm11, %ymm13
3464vpmullw %ymm3, %ymm10, %ymm15
3465vpaddw %ymm13, %ymm15, %ymm13
3466vpmullw %ymm4, %ymm9, %ymm15
3467vpaddw %ymm13, %ymm15, %ymm13
3468vpmullw %ymm5, %ymm8, %ymm15
3469vpaddw %ymm13, %ymm15, %ymm13
3470vmovdqa %ymm13, 8928(%r8)
3471vpmullw %ymm3, %ymm11, %ymm12
3472vpmullw %ymm4, %ymm10, %ymm15
3473vpaddw %ymm12, %ymm15, %ymm12
3474vpmullw %ymm5, %ymm9, %ymm15
3475vpaddw %ymm12, %ymm15, %ymm12
3476vmovdqa %ymm12, 8960(%r8)
3477vpmullw %ymm4, %ymm11, %ymm13
3478vpmullw %ymm5, %ymm10, %ymm15
3479vpaddw %ymm13, %ymm15, %ymm13
3480vmovdqa %ymm13, 8992(%r8)
3481vpmullw %ymm5, %ymm11, %ymm12
3482vmovdqa %ymm12, 9024(%r8)
3483vmovdqa 7136(%r8), %ymm0
3484vmovdqa 7840(%r8), %ymm6
3485vmovdqa 7168(%r8), %ymm1
3486vmovdqa 7872(%r8), %ymm7
3487vmovdqa 7200(%r8), %ymm2
3488vmovdqa 7904(%r8), %ymm8
3489vmovdqa 7232(%r8), %ymm3
3490vmovdqa 7936(%r8), %ymm9
3491vmovdqa 7264(%r8), %ymm4
3492vmovdqa 7968(%r8), %ymm10
3493vpmullw %ymm0, %ymm6, %ymm12
3494vmovdqa %ymm12, 9088(%r8)
3495vpmullw %ymm0, %ymm7, %ymm13
3496vpmullw %ymm1, %ymm6, %ymm15
3497vpaddw %ymm13, %ymm15, %ymm13
3498vmovdqa %ymm13, 9120(%r8)
3499vpmullw %ymm0, %ymm8, %ymm12
3500vpmullw %ymm1, %ymm7, %ymm15
3501vpaddw %ymm12, %ymm15, %ymm12
3502vpmullw %ymm2, %ymm6, %ymm15
3503vpaddw %ymm12, %ymm15, %ymm12
3504vmovdqa %ymm12, 9152(%r8)
3505vpmullw %ymm0, %ymm9, %ymm13
3506vpmullw %ymm1, %ymm8, %ymm15
3507vpaddw %ymm13, %ymm15, %ymm13
3508vpmullw %ymm2, %ymm7, %ymm15
3509vpaddw %ymm13, %ymm15, %ymm13
3510vpmullw %ymm3, %ymm6, %ymm15
3511vpaddw %ymm13, %ymm15, %ymm13
3512vmovdqa %ymm13, 9184(%r8)
3513vpmullw %ymm0, %ymm10, %ymm12
3514vpmullw %ymm1, %ymm9, %ymm15
3515vpaddw %ymm12, %ymm15, %ymm12
3516vpmullw %ymm2, %ymm8, %ymm15
3517vpaddw %ymm12, %ymm15, %ymm12
3518vpmullw %ymm3, %ymm7, %ymm15
3519vpaddw %ymm12, %ymm15, %ymm12
3520vpmullw %ymm4, %ymm6, %ymm15
3521vpaddw %ymm12, %ymm15, %ymm12
3522vmovdqa %ymm12, 9216(%r8)
3523vpmullw %ymm1, %ymm10, %ymm13
3524vpmullw %ymm2, %ymm9, %ymm15
3525vpaddw %ymm13, %ymm15, %ymm13
3526vpmullw %ymm3, %ymm8, %ymm15
3527vpaddw %ymm13, %ymm15, %ymm13
3528vpmullw %ymm4, %ymm7, %ymm15
3529vpaddw %ymm13, %ymm15, %ymm13
3530vmovdqa %ymm13, 9248(%r8)
3531vpmullw %ymm2, %ymm10, %ymm12
3532vpmullw %ymm3, %ymm9, %ymm15
3533vpaddw %ymm12, %ymm15, %ymm12
3534vpmullw %ymm4, %ymm8, %ymm15
3535vpaddw %ymm12, %ymm15, %ymm12
3536vmovdqa %ymm12, 9280(%r8)
3537vpmullw %ymm3, %ymm10, %ymm13
3538vpmullw %ymm4, %ymm9, %ymm15
3539vpaddw %ymm13, %ymm15, %ymm13
3540vmovdqa %ymm13, 9312(%r8)
3541vpmullw %ymm4, %ymm10, %ymm12
3542vmovdqa %ymm12, 9344(%r8)
3543vpaddw 6944(%r8), %ymm0, %ymm0
3544vpaddw 7648(%r8), %ymm6, %ymm6
3545vpaddw 6976(%r8), %ymm1, %ymm1
3546vpaddw 7680(%r8), %ymm7, %ymm7
3547vpaddw 7008(%r8), %ymm2, %ymm2
3548vpaddw 7712(%r8), %ymm8, %ymm8
3549vpaddw 7040(%r8), %ymm3, %ymm3
3550vpaddw 7744(%r8), %ymm9, %ymm9
3551vpaddw 7072(%r8), %ymm4, %ymm4
3552vpaddw 7776(%r8), %ymm10, %ymm10
3553vpmullw %ymm0, %ymm11, %ymm12
3554vpmullw %ymm1, %ymm10, %ymm15
3555vpaddw %ymm15, %ymm12, %ymm12
3556vpmullw %ymm2, %ymm9, %ymm15
3557vpaddw %ymm15, %ymm12, %ymm12
3558vpmullw %ymm3, %ymm8, %ymm15
3559vpaddw %ymm15, %ymm12, %ymm12
3560vpmullw %ymm4, %ymm7, %ymm15
3561vpaddw %ymm15, %ymm12, %ymm12
3562vpmullw %ymm5, %ymm6, %ymm15
3563vpaddw %ymm15, %ymm12, %ymm12
3564vpsubw 8864(%r8), %ymm12, %ymm12
3565vpsubw 9248(%r8), %ymm12, %ymm12
3566vmovdqa %ymm12, 9056(%r8)
3567vpmullw %ymm5, %ymm7, %ymm12
3568vpmullw %ymm5, %ymm8, %ymm13
3569vpmullw %ymm5, %ymm9, %ymm14
3570vpmullw %ymm5, %ymm10, %ymm15
3571vpmullw %ymm1, %ymm11, %ymm5
3572vpaddw %ymm5, %ymm12, %ymm12
3573vpmullw %ymm2, %ymm10, %ymm5
3574vpaddw %ymm5, %ymm12, %ymm12
3575vpmullw %ymm3, %ymm9, %ymm5
3576vpaddw %ymm5, %ymm12, %ymm12
3577vpmullw %ymm4, %ymm8, %ymm5
3578vpaddw %ymm5, %ymm12, %ymm12
3579vpmullw %ymm2, %ymm11, %ymm5
3580vpaddw %ymm5, %ymm13, %ymm13
3581vpmullw %ymm3, %ymm10, %ymm5
3582vpaddw %ymm5, %ymm13, %ymm13
3583vpmullw %ymm4, %ymm9, %ymm5
3584vpaddw %ymm5, %ymm13, %ymm13
3585vpmullw %ymm3, %ymm11, %ymm5
3586vpaddw %ymm5, %ymm14, %ymm14
3587vpmullw %ymm4, %ymm10, %ymm5
3588vpaddw %ymm5, %ymm14, %ymm14
3589vpmullw %ymm4, %ymm11, %ymm5
3590vpaddw %ymm5, %ymm15, %ymm15
3591vpmullw %ymm0, %ymm10, %ymm11
3592vpmullw %ymm1, %ymm9, %ymm5
3593vpaddw %ymm5, %ymm11, %ymm11
3594vpmullw %ymm2, %ymm8, %ymm5
3595vpaddw %ymm5, %ymm11, %ymm11
3596vpmullw %ymm3, %ymm7, %ymm5
3597vpaddw %ymm5, %ymm11, %ymm11
3598vpmullw %ymm4, %ymm6, %ymm5
3599vpaddw %ymm5, %ymm11, %ymm11
3600vpmullw %ymm0, %ymm9, %ymm10
3601vpmullw %ymm1, %ymm8, %ymm5
3602vpaddw %ymm5, %ymm10, %ymm10
3603vpmullw %ymm2, %ymm7, %ymm5
3604vpaddw %ymm5, %ymm10, %ymm10
3605vpmullw %ymm3, %ymm6, %ymm5
3606vpaddw %ymm5, %ymm10, %ymm10
3607vpmullw %ymm0, %ymm8, %ymm9
3608vpmullw %ymm1, %ymm7, %ymm5
3609vpaddw %ymm5, %ymm9, %ymm9
3610vpmullw %ymm2, %ymm6, %ymm5
3611vpaddw %ymm5, %ymm9, %ymm9
3612vpmullw %ymm0, %ymm7, %ymm8
3613vpmullw %ymm1, %ymm6, %ymm5
3614vpaddw %ymm5, %ymm8, %ymm8
3615vpmullw %ymm0, %ymm6, %ymm7
3616vmovdqa 8896(%r8), %ymm0
3617vpsubw 9088(%r8), %ymm0, %ymm0
3618vpsubw %ymm0, %ymm12, %ymm6
3619vpsubw 9280(%r8), %ymm6, %ymm6
3620vmovdqa %ymm6, 9088(%r8)
3621vpaddw %ymm7, %ymm0, %ymm0
3622vpsubw 8704(%r8), %ymm0, %ymm0
3623vmovdqa %ymm0, 8896(%r8)
3624vmovdqa 8928(%r8), %ymm1
3625vpsubw 9120(%r8), %ymm1, %ymm1
3626vpsubw %ymm1, %ymm13, %ymm7
3627vpsubw 9312(%r8), %ymm7, %ymm7
3628vmovdqa %ymm7, 9120(%r8)
3629vpaddw %ymm8, %ymm1, %ymm1
3630vpsubw 8736(%r8), %ymm1, %ymm1
3631vmovdqa %ymm1, 8928(%r8)
3632vmovdqa 8960(%r8), %ymm2
3633vpsubw 9152(%r8), %ymm2, %ymm2
3634vpsubw %ymm2, %ymm14, %ymm8
3635vpsubw 9344(%r8), %ymm8, %ymm8
3636vmovdqa %ymm8, 9152(%r8)
3637vpaddw %ymm9, %ymm2, %ymm2
3638vpsubw 8768(%r8), %ymm2, %ymm2
3639vmovdqa %ymm2, 8960(%r8)
3640vmovdqa 8992(%r8), %ymm3
3641vpsubw 9184(%r8), %ymm3, %ymm3
3642vpsubw %ymm3, %ymm15, %ymm9
3643vmovdqa %ymm9, 9184(%r8)
3644vpaddw %ymm10, %ymm3, %ymm3
3645vpsubw 8800(%r8), %ymm3, %ymm3
3646vmovdqa %ymm3, 8992(%r8)
3647vmovdqa 9024(%r8), %ymm4
3648vpsubw 9216(%r8), %ymm4, %ymm4
3649vpaddw %ymm11, %ymm4, %ymm4
3650vpsubw 8832(%r8), %ymm4, %ymm4
3651vmovdqa %ymm4, 9024(%r8)
3652vmovdqa 6592(%r8), %ymm0
3653vmovdqa 7296(%r8), %ymm6
3654vpaddw 6944(%r8), %ymm0, %ymm0
3655vpaddw 7648(%r8), %ymm6, %ymm6
3656vmovdqa 6624(%r8), %ymm1
3657vmovdqa 7328(%r8), %ymm7
3658vpaddw 6976(%r8), %ymm1, %ymm1
3659vpaddw 7680(%r8), %ymm7, %ymm7
3660vmovdqa 6656(%r8), %ymm2
3661vmovdqa 7360(%r8), %ymm8
3662vpaddw 7008(%r8), %ymm2, %ymm2
3663vpaddw 7712(%r8), %ymm8, %ymm8
3664vmovdqa 6688(%r8), %ymm3
3665vmovdqa 7392(%r8), %ymm9
3666vpaddw 7040(%r8), %ymm3, %ymm3
3667vpaddw 7744(%r8), %ymm9, %ymm9
3668vmovdqa 6720(%r8), %ymm4
3669vmovdqa 7424(%r8), %ymm10
3670vpaddw 7072(%r8), %ymm4, %ymm4
3671vpaddw 7776(%r8), %ymm10, %ymm10
3672vmovdqa 6752(%r8), %ymm5
3673vmovdqa 7456(%r8), %ymm11
3674vpaddw 7104(%r8), %ymm5, %ymm5
3675vpaddw 7808(%r8), %ymm11, %ymm11
3676vpmullw %ymm0, %ymm6, %ymm12
3677vmovdqa %ymm12, 5888(%r8)
3678vpmullw %ymm0, %ymm7, %ymm13
3679vpmullw %ymm1, %ymm6, %ymm15
3680vpaddw %ymm13, %ymm15, %ymm13
3681vmovdqa %ymm13, 5920(%r8)
3682vpmullw %ymm0, %ymm8, %ymm12
3683vpmullw %ymm1, %ymm7, %ymm15
3684vpaddw %ymm12, %ymm15, %ymm12
3685vpmullw %ymm2, %ymm6, %ymm15
3686vpaddw %ymm12, %ymm15, %ymm12
3687vmovdqa %ymm12, 5952(%r8)
3688vpmullw %ymm0, %ymm9, %ymm13
3689vpmullw %ymm1, %ymm8, %ymm15
3690vpaddw %ymm13, %ymm15, %ymm13
3691vpmullw %ymm2, %ymm7, %ymm15
3692vpaddw %ymm13, %ymm15, %ymm13
3693vpmullw %ymm3, %ymm6, %ymm15
3694vpaddw %ymm13, %ymm15, %ymm13
3695vmovdqa %ymm13, 5984(%r8)
3696vpmullw %ymm0, %ymm10, %ymm12
3697vpmullw %ymm1, %ymm9, %ymm15
3698vpaddw %ymm12, %ymm15, %ymm12
3699vpmullw %ymm2, %ymm8, %ymm15
3700vpaddw %ymm12, %ymm15, %ymm12
3701vpmullw %ymm3, %ymm7, %ymm15
3702vpaddw %ymm12, %ymm15, %ymm12
3703vpmullw %ymm4, %ymm6, %ymm15
3704vpaddw %ymm12, %ymm15, %ymm12
3705vmovdqa %ymm12, 6016(%r8)
3706vpmullw %ymm0, %ymm11, %ymm13
3707vpmullw %ymm1, %ymm10, %ymm15
3708vpaddw %ymm13, %ymm15, %ymm13
3709vpmullw %ymm2, %ymm9, %ymm15
3710vpaddw %ymm13, %ymm15, %ymm13
3711vpmullw %ymm3, %ymm8, %ymm15
3712vpaddw %ymm13, %ymm15, %ymm13
3713vpmullw %ymm4, %ymm7, %ymm15
3714vpaddw %ymm13, %ymm15, %ymm13
3715vpmullw %ymm5, %ymm6, %ymm15
3716vpaddw %ymm13, %ymm15, %ymm13
3717vmovdqa %ymm13, 6048(%r8)
3718vpmullw %ymm1, %ymm11, %ymm12
3719vpmullw %ymm2, %ymm10, %ymm15
3720vpaddw %ymm12, %ymm15, %ymm12
3721vpmullw %ymm3, %ymm9, %ymm15
3722vpaddw %ymm12, %ymm15, %ymm12
3723vpmullw %ymm4, %ymm8, %ymm15
3724vpaddw %ymm12, %ymm15, %ymm12
3725vpmullw %ymm5, %ymm7, %ymm15
3726vpaddw %ymm12, %ymm15, %ymm12
3727vmovdqa %ymm12, 6080(%r8)
3728vpmullw %ymm2, %ymm11, %ymm13
3729vpmullw %ymm3, %ymm10, %ymm15
3730vpaddw %ymm13, %ymm15, %ymm13
3731vpmullw %ymm4, %ymm9, %ymm15
3732vpaddw %ymm13, %ymm15, %ymm13
3733vpmullw %ymm5, %ymm8, %ymm15
3734vpaddw %ymm13, %ymm15, %ymm13
3735vmovdqa %ymm13, 6112(%r8)
3736vpmullw %ymm3, %ymm11, %ymm12
3737vpmullw %ymm4, %ymm10, %ymm15
3738vpaddw %ymm12, %ymm15, %ymm12
3739vpmullw %ymm5, %ymm9, %ymm15
3740vpaddw %ymm12, %ymm15, %ymm12
3741vmovdqa %ymm12, 6144(%r8)
3742vpmullw %ymm4, %ymm11, %ymm13
3743vpmullw %ymm5, %ymm10, %ymm15
3744vpaddw %ymm13, %ymm15, %ymm13
3745vmovdqa %ymm13, 6176(%r8)
3746vpmullw %ymm5, %ymm11, %ymm12
3747vmovdqa %ymm12, 6208(%r8)
3748vmovdqa 6784(%r8), %ymm0
3749vmovdqa 7488(%r8), %ymm6
3750vpaddw 7136(%r8), %ymm0, %ymm0
3751vpaddw 7840(%r8), %ymm6, %ymm6
3752vmovdqa 6816(%r8), %ymm1
3753vmovdqa 7520(%r8), %ymm7
3754vpaddw 7168(%r8), %ymm1, %ymm1
3755vpaddw 7872(%r8), %ymm7, %ymm7
3756vmovdqa 6848(%r8), %ymm2
3757vmovdqa 7552(%r8), %ymm8
3758vpaddw 7200(%r8), %ymm2, %ymm2
3759vpaddw 7904(%r8), %ymm8, %ymm8
3760vmovdqa 6880(%r8), %ymm3
3761vmovdqa 7584(%r8), %ymm9
3762vpaddw 7232(%r8), %ymm3, %ymm3
3763vpaddw 7936(%r8), %ymm9, %ymm9
3764vmovdqa 6912(%r8), %ymm4
3765vmovdqa 7616(%r8), %ymm10
3766vpaddw 7264(%r8), %ymm4, %ymm4
3767vpaddw 7968(%r8), %ymm10, %ymm10
3768vpmullw %ymm0, %ymm6, %ymm12
3769vmovdqa %ymm12, 6272(%r8)
3770vpmullw %ymm0, %ymm7, %ymm13
3771vpmullw %ymm1, %ymm6, %ymm15
3772vpaddw %ymm13, %ymm15, %ymm13
3773vmovdqa %ymm13, 6304(%r8)
3774vpmullw %ymm0, %ymm8, %ymm12
3775vpmullw %ymm1, %ymm7, %ymm15
3776vpaddw %ymm12, %ymm15, %ymm12
3777vpmullw %ymm2, %ymm6, %ymm15
3778vpaddw %ymm12, %ymm15, %ymm12
3779vmovdqa %ymm12, 6336(%r8)
3780vpmullw %ymm0, %ymm9, %ymm13
3781vpmullw %ymm1, %ymm8, %ymm15
3782vpaddw %ymm13, %ymm15, %ymm13
3783vpmullw %ymm2, %ymm7, %ymm15
3784vpaddw %ymm13, %ymm15, %ymm13
3785vpmullw %ymm3, %ymm6, %ymm15
3786vpaddw %ymm13, %ymm15, %ymm13
3787vmovdqa %ymm13, 6368(%r8)
3788vpmullw %ymm0, %ymm10, %ymm12
3789vpmullw %ymm1, %ymm9, %ymm15
3790vpaddw %ymm12, %ymm15, %ymm12
3791vpmullw %ymm2, %ymm8, %ymm15
3792vpaddw %ymm12, %ymm15, %ymm12
3793vpmullw %ymm3, %ymm7, %ymm15
3794vpaddw %ymm12, %ymm15, %ymm12
3795vpmullw %ymm4, %ymm6, %ymm15
3796vpaddw %ymm12, %ymm15, %ymm12
3797vmovdqa %ymm12, 6400(%r8)
3798vpmullw %ymm1, %ymm10, %ymm13
3799vpmullw %ymm2, %ymm9, %ymm15
3800vpaddw %ymm13, %ymm15, %ymm13
3801vpmullw %ymm3, %ymm8, %ymm15
3802vpaddw %ymm13, %ymm15, %ymm13
3803vpmullw %ymm4, %ymm7, %ymm15
3804vpaddw %ymm13, %ymm15, %ymm13
3805vmovdqa %ymm13, 6432(%r8)
3806vpmullw %ymm2, %ymm10, %ymm12
3807vpmullw %ymm3, %ymm9, %ymm15
3808vpaddw %ymm12, %ymm15, %ymm12
3809vpmullw %ymm4, %ymm8, %ymm15
3810vpaddw %ymm12, %ymm15, %ymm12
3811vmovdqa %ymm12, 6464(%r8)
3812vpmullw %ymm3, %ymm10, %ymm13
3813vpmullw %ymm4, %ymm9, %ymm15
3814vpaddw %ymm13, %ymm15, %ymm13
3815vmovdqa %ymm13, 6496(%r8)
3816vpmullw %ymm4, %ymm10, %ymm12
3817vmovdqa %ymm12, 6528(%r8)
3818vpaddw 6592(%r8), %ymm0, %ymm0
3819vpaddw 7296(%r8), %ymm6, %ymm6
3820vpaddw 6944(%r8), %ymm0, %ymm0
3821vpaddw 7648(%r8), %ymm6, %ymm6
3822vpaddw 6624(%r8), %ymm1, %ymm1
3823vpaddw 7328(%r8), %ymm7, %ymm7
3824vpaddw 6976(%r8), %ymm1, %ymm1
3825vpaddw 7680(%r8), %ymm7, %ymm7
3826vpaddw 6656(%r8), %ymm2, %ymm2
3827vpaddw 7360(%r8), %ymm8, %ymm8
3828vpaddw 7008(%r8), %ymm2, %ymm2
3829vpaddw 7712(%r8), %ymm8, %ymm8
3830vpaddw 6688(%r8), %ymm3, %ymm3
3831vpaddw 7392(%r8), %ymm9, %ymm9
3832vpaddw 7040(%r8), %ymm3, %ymm3
3833vpaddw 7744(%r8), %ymm9, %ymm9
3834vpaddw 6720(%r8), %ymm4, %ymm4
3835vpaddw 7424(%r8), %ymm10, %ymm10
3836vpaddw 7072(%r8), %ymm4, %ymm4
3837vpaddw 7776(%r8), %ymm10, %ymm10
3838vpmullw %ymm0, %ymm11, %ymm12
3839vpmullw %ymm1, %ymm10, %ymm15
3840vpaddw %ymm15, %ymm12, %ymm12
3841vpmullw %ymm2, %ymm9, %ymm15
3842vpaddw %ymm15, %ymm12, %ymm12
3843vpmullw %ymm3, %ymm8, %ymm15
3844vpaddw %ymm15, %ymm12, %ymm12
3845vpmullw %ymm4, %ymm7, %ymm15
3846vpaddw %ymm15, %ymm12, %ymm12
3847vpmullw %ymm5, %ymm6, %ymm15
3848vpaddw %ymm15, %ymm12, %ymm12
3849vpsubw 6048(%r8), %ymm12, %ymm12
3850vpsubw 6432(%r8), %ymm12, %ymm12
3851vmovdqa %ymm12, 6240(%r8)
3852vpmullw %ymm5, %ymm7, %ymm12
3853vpmullw %ymm5, %ymm8, %ymm13
3854vpmullw %ymm5, %ymm9, %ymm14
3855vpmullw %ymm5, %ymm10, %ymm15
3856vpmullw %ymm1, %ymm11, %ymm5
3857vpaddw %ymm5, %ymm12, %ymm12
3858vpmullw %ymm2, %ymm10, %ymm5
3859vpaddw %ymm5, %ymm12, %ymm12
3860vpmullw %ymm3, %ymm9, %ymm5
3861vpaddw %ymm5, %ymm12, %ymm12
3862vpmullw %ymm4, %ymm8, %ymm5
3863vpaddw %ymm5, %ymm12, %ymm12
3864vpmullw %ymm2, %ymm11, %ymm5
3865vpaddw %ymm5, %ymm13, %ymm13
3866vpmullw %ymm3, %ymm10, %ymm5
3867vpaddw %ymm5, %ymm13, %ymm13
3868vpmullw %ymm4, %ymm9, %ymm5
3869vpaddw %ymm5, %ymm13, %ymm13
3870vpmullw %ymm3, %ymm11, %ymm5
3871vpaddw %ymm5, %ymm14, %ymm14
3872vpmullw %ymm4, %ymm10, %ymm5
3873vpaddw %ymm5, %ymm14, %ymm14
3874vpmullw %ymm4, %ymm11, %ymm5
3875vpaddw %ymm5, %ymm15, %ymm15
3876vpmullw %ymm0, %ymm10, %ymm11
3877vpmullw %ymm1, %ymm9, %ymm5
3878vpaddw %ymm5, %ymm11, %ymm11
3879vpmullw %ymm2, %ymm8, %ymm5
3880vpaddw %ymm5, %ymm11, %ymm11
3881vpmullw %ymm3, %ymm7, %ymm5
3882vpaddw %ymm5, %ymm11, %ymm11
3883vpmullw %ymm4, %ymm6, %ymm5
3884vpaddw %ymm5, %ymm11, %ymm11
3885vpmullw %ymm0, %ymm9, %ymm10
3886vpmullw %ymm1, %ymm8, %ymm5
3887vpaddw %ymm5, %ymm10, %ymm10
3888vpmullw %ymm2, %ymm7, %ymm5
3889vpaddw %ymm5, %ymm10, %ymm10
3890vpmullw %ymm3, %ymm6, %ymm5
3891vpaddw %ymm5, %ymm10, %ymm10
3892vpmullw %ymm0, %ymm8, %ymm9
3893vpmullw %ymm1, %ymm7, %ymm5
3894vpaddw %ymm5, %ymm9, %ymm9
3895vpmullw %ymm2, %ymm6, %ymm5
3896vpaddw %ymm5, %ymm9, %ymm9
3897vpmullw %ymm0, %ymm7, %ymm8
3898vpmullw %ymm1, %ymm6, %ymm5
3899vpaddw %ymm5, %ymm8, %ymm8
3900vpmullw %ymm0, %ymm6, %ymm7
3901vmovdqa 6080(%r8), %ymm0
3902vpsubw 6272(%r8), %ymm0, %ymm0
3903vpsubw %ymm0, %ymm12, %ymm6
3904vpsubw 6464(%r8), %ymm6, %ymm6
3905vmovdqa %ymm6, 6272(%r8)
3906vpaddw %ymm7, %ymm0, %ymm0
3907vpsubw 5888(%r8), %ymm0, %ymm0
3908vmovdqa %ymm0, 6080(%r8)
3909vmovdqa 6112(%r8), %ymm1
3910vpsubw 6304(%r8), %ymm1, %ymm1
3911vpsubw %ymm1, %ymm13, %ymm7
3912vpsubw 6496(%r8), %ymm7, %ymm7
3913vmovdqa %ymm7, 6304(%r8)
3914vpaddw %ymm8, %ymm1, %ymm1
3915vpsubw 5920(%r8), %ymm1, %ymm1
3916vmovdqa %ymm1, 6112(%r8)
3917vmovdqa 6144(%r8), %ymm2
3918vpsubw 6336(%r8), %ymm2, %ymm2
3919vpsubw %ymm2, %ymm14, %ymm8
3920vpsubw 6528(%r8), %ymm8, %ymm8
3921vmovdqa %ymm8, 6336(%r8)
3922vpaddw %ymm9, %ymm2, %ymm2
3923vpsubw 5952(%r8), %ymm2, %ymm2
3924vmovdqa %ymm2, 6144(%r8)
3925vmovdqa 6176(%r8), %ymm3
3926vpsubw 6368(%r8), %ymm3, %ymm3
3927vpsubw %ymm3, %ymm15, %ymm9
3928vmovdqa %ymm9, 6368(%r8)
3929vpaddw %ymm10, %ymm3, %ymm3
3930vpsubw 5984(%r8), %ymm3, %ymm3
3931vmovdqa %ymm3, 6176(%r8)
3932vmovdqa 6208(%r8), %ymm4
3933vpsubw 6400(%r8), %ymm4, %ymm4
3934vpaddw %ymm11, %ymm4, %ymm4
3935vpsubw 6016(%r8), %ymm4, %ymm4
3936vmovdqa %ymm4, 6208(%r8)
3937vmovdqa 8352(%r8), %ymm0
3938vpsubw 8704(%r8), %ymm0, %ymm0
3939vmovdqa 6240(%r8), %ymm1
3940vpsubw %ymm0, %ymm1, %ymm1
3941vpsubw 9056(%r8), %ymm1, %ymm6
3942vpsubw 8000(%r8), %ymm0, %ymm0
3943vpaddw 5888(%r8), %ymm0, %ymm0
3944vmovdqa %ymm0, 8352(%r8)
3945vmovdqa 8384(%r8), %ymm0
3946vpsubw 8736(%r8), %ymm0, %ymm0
3947vmovdqa 6272(%r8), %ymm1
3948vpsubw %ymm0, %ymm1, %ymm1
3949vpsubw 9088(%r8), %ymm1, %ymm7
3950vpsubw 8032(%r8), %ymm0, %ymm0
3951vpaddw 5920(%r8), %ymm0, %ymm0
3952vmovdqa %ymm0, 8384(%r8)
3953vmovdqa 8416(%r8), %ymm0
3954vpsubw 8768(%r8), %ymm0, %ymm0
3955vmovdqa 6304(%r8), %ymm1
3956vpsubw %ymm0, %ymm1, %ymm1
3957vpsubw 9120(%r8), %ymm1, %ymm8
3958vpsubw 8064(%r8), %ymm0, %ymm0
3959vpaddw 5952(%r8), %ymm0, %ymm0
3960vmovdqa %ymm0, 8416(%r8)
3961vmovdqa 8448(%r8), %ymm0
3962vpsubw 8800(%r8), %ymm0, %ymm0
3963vmovdqa 6336(%r8), %ymm1
3964vpsubw %ymm0, %ymm1, %ymm1
3965vpsubw 9152(%r8), %ymm1, %ymm9
3966vpsubw 8096(%r8), %ymm0, %ymm0
3967vpaddw 5984(%r8), %ymm0, %ymm0
3968vmovdqa %ymm0, 8448(%r8)
3969vmovdqa 8480(%r8), %ymm0
3970vpsubw 8832(%r8), %ymm0, %ymm0
3971vmovdqa 6368(%r8), %ymm1
3972vpsubw %ymm0, %ymm1, %ymm1
3973vpsubw 9184(%r8), %ymm1, %ymm10
3974vpsubw 8128(%r8), %ymm0, %ymm0
3975vpaddw 6016(%r8), %ymm0, %ymm0
3976vmovdqa %ymm0, 8480(%r8)
3977vmovdqa 8512(%r8), %ymm0
3978vpsubw 8864(%r8), %ymm0, %ymm0
3979vmovdqa 6400(%r8), %ymm1
3980vpsubw %ymm0, %ymm1, %ymm1
3981vpsubw 9216(%r8), %ymm1, %ymm11
3982vpsubw 8160(%r8), %ymm0, %ymm0
3983vpaddw 6048(%r8), %ymm0, %ymm0
3984vmovdqa %ymm0, 8512(%r8)
3985vmovdqa 8544(%r8), %ymm0
3986vpsubw 8896(%r8), %ymm0, %ymm0
3987vmovdqa 6432(%r8), %ymm1
3988vpsubw %ymm0, %ymm1, %ymm1
3989vpsubw 9248(%r8), %ymm1, %ymm12
3990vpsubw 8192(%r8), %ymm0, %ymm0
3991vpaddw 6080(%r8), %ymm0, %ymm0
3992vmovdqa %ymm0, 8544(%r8)
3993vmovdqa 8576(%r8), %ymm0
3994vpsubw 8928(%r8), %ymm0, %ymm0
3995vmovdqa 6464(%r8), %ymm1
3996vpsubw %ymm0, %ymm1, %ymm1
3997vpsubw 9280(%r8), %ymm1, %ymm13
3998vpsubw 8224(%r8), %ymm0, %ymm0
3999vpaddw 6112(%r8), %ymm0, %ymm0
4000vmovdqa %ymm0, 8576(%r8)
4001vmovdqa 8608(%r8), %ymm0
4002vpsubw 8960(%r8), %ymm0, %ymm0
4003vmovdqa 6496(%r8), %ymm1
4004vpsubw %ymm0, %ymm1, %ymm1
4005vpsubw 9312(%r8), %ymm1, %ymm14
4006vpsubw 8256(%r8), %ymm0, %ymm0
4007vpaddw 6144(%r8), %ymm0, %ymm0
4008vmovdqa %ymm0, 8608(%r8)
4009vmovdqa 8640(%r8), %ymm0
4010vpsubw 8992(%r8), %ymm0, %ymm0
4011vmovdqa 6528(%r8), %ymm1
4012vpsubw %ymm0, %ymm1, %ymm1
4013vpsubw 9344(%r8), %ymm1, %ymm15
4014vpsubw 8288(%r8), %ymm0, %ymm0
4015vpaddw 6176(%r8), %ymm0, %ymm0
4016vmovdqa %ymm0, 8640(%r8)
4017vmovdqa 6208(%r8), %ymm0
4018vpsubw 8320(%r8), %ymm0, %ymm0
4019vpsubw 9024(%r8), %ymm0, %ymm0
4020vpsubw 3488(%r10), %ymm0, %ymm0
4021vpsubw 4896(%r10), %ymm0, %ymm0
4022vmovdqa %ymm0, 4192(%r10)
4023vmovdqa 3520(%r10), %ymm0
4024vpsubw 4224(%r10), %ymm0, %ymm0
4025vpsubw %ymm0, %ymm6, %ymm6
4026vpsubw 4928(%r10), %ymm6, %ymm6
4027vpsubw 2816(%r10), %ymm0, %ymm0
4028vpaddw 8000(%r8), %ymm0, %ymm0
4029vmovdqa %ymm0, 3520(%r10)
4030vmovdqa %ymm6, 4224(%r10)
4031vmovdqa 3552(%r10), %ymm0
4032vpsubw 4256(%r10), %ymm0, %ymm0
4033vpsubw %ymm0, %ymm7, %ymm7
4034vpsubw 4960(%r10), %ymm7, %ymm7
4035vpsubw 2848(%r10), %ymm0, %ymm0
4036vpaddw 8032(%r8), %ymm0, %ymm0
4037vmovdqa %ymm0, 3552(%r10)
4038vmovdqa %ymm7, 4256(%r10)
4039vmovdqa 3584(%r10), %ymm0
4040vpsubw 4288(%r10), %ymm0, %ymm0
4041vpsubw %ymm0, %ymm8, %ymm8
4042vpsubw 4992(%r10), %ymm8, %ymm8
4043vpsubw 2880(%r10), %ymm0, %ymm0
4044vpaddw 8064(%r8), %ymm0, %ymm0
4045vmovdqa %ymm0, 3584(%r10)
4046vmovdqa %ymm8, 4288(%r10)
4047vmovdqa 3616(%r10), %ymm0
4048vpsubw 4320(%r10), %ymm0, %ymm0
4049vpsubw %ymm0, %ymm9, %ymm9
4050vpsubw 5024(%r10), %ymm9, %ymm9
4051vpsubw 2912(%r10), %ymm0, %ymm0
4052vpaddw 8096(%r8), %ymm0, %ymm0
4053vmovdqa %ymm0, 3616(%r10)
4054vmovdqa %ymm9, 4320(%r10)
4055vmovdqa 3648(%r10), %ymm0
4056vpsubw 4352(%r10), %ymm0, %ymm0
4057vpsubw %ymm0, %ymm10, %ymm10
4058vpsubw 5056(%r10), %ymm10, %ymm10
4059vpsubw 2944(%r10), %ymm0, %ymm0
4060vpaddw 8128(%r8), %ymm0, %ymm0
4061vmovdqa %ymm0, 3648(%r10)
4062vmovdqa %ymm10, 4352(%r10)
4063vmovdqa 3680(%r10), %ymm0
4064vpsubw 4384(%r10), %ymm0, %ymm0
4065vpsubw %ymm0, %ymm11, %ymm11
4066vpsubw 5088(%r10), %ymm11, %ymm11
4067vpsubw 2976(%r10), %ymm0, %ymm0
4068vpaddw 8160(%r8), %ymm0, %ymm0
4069vmovdqa %ymm0, 3680(%r10)
4070vmovdqa %ymm11, 4384(%r10)
4071vmovdqa 3712(%r10), %ymm0
4072vpsubw 4416(%r10), %ymm0, %ymm0
4073vpsubw %ymm0, %ymm12, %ymm12
4074vpsubw 5120(%r10), %ymm12, %ymm12
4075vpsubw 3008(%r10), %ymm0, %ymm0
4076vpaddw 8192(%r8), %ymm0, %ymm0
4077vmovdqa %ymm0, 3712(%r10)
4078vmovdqa %ymm12, 4416(%r10)
4079vmovdqa 3744(%r10), %ymm0
4080vpsubw 4448(%r10), %ymm0, %ymm0
4081vpsubw %ymm0, %ymm13, %ymm13
4082vpsubw 5152(%r10), %ymm13, %ymm13
4083vpsubw 3040(%r10), %ymm0, %ymm0
4084vpaddw 8224(%r8), %ymm0, %ymm0
4085vmovdqa %ymm0, 3744(%r10)
4086vmovdqa %ymm13, 4448(%r10)
4087vmovdqa 3776(%r10), %ymm0
4088vpsubw 4480(%r10), %ymm0, %ymm0
4089vpsubw %ymm0, %ymm14, %ymm14
4090vpsubw 5184(%r10), %ymm14, %ymm14
4091vpsubw 3072(%r10), %ymm0, %ymm0
4092vpaddw 8256(%r8), %ymm0, %ymm0
4093vmovdqa %ymm0, 3776(%r10)
4094vmovdqa %ymm14, 4480(%r10)
4095vmovdqa 3808(%r10), %ymm0
4096vpsubw 4512(%r10), %ymm0, %ymm0
4097vpsubw %ymm0, %ymm15, %ymm15
4098vpsubw 5216(%r10), %ymm15, %ymm15
4099vpsubw 3104(%r10), %ymm0, %ymm0
4100vpaddw 8288(%r8), %ymm0, %ymm0
4101vmovdqa %ymm0, 3808(%r10)
4102vmovdqa %ymm15, 4512(%r10)
4103vmovdqa 3840(%r10), %ymm0
4104vpsubw 4544(%r10), %ymm0, %ymm0
4105vmovdqa 9024(%r8), %ymm1
4106vpsubw %ymm0, %ymm1, %ymm1
4107vpsubw 5248(%r10), %ymm1, %ymm1
4108vpsubw 3136(%r10), %ymm0, %ymm0
4109vpaddw 8320(%r8), %ymm0, %ymm0
4110vmovdqa %ymm0, 3840(%r10)
4111vmovdqa %ymm1, 4544(%r10)
4112vmovdqa 3872(%r10), %ymm0
4113vpsubw 4576(%r10), %ymm0, %ymm0
4114vmovdqa 9056(%r8), %ymm1
4115vpsubw %ymm0, %ymm1, %ymm1
4116vpsubw 5280(%r10), %ymm1, %ymm1
4117vpsubw 3168(%r10), %ymm0, %ymm0
4118vpaddw 8352(%r8), %ymm0, %ymm0
4119vmovdqa %ymm0, 3872(%r10)
4120vmovdqa %ymm1, 4576(%r10)
4121vmovdqa 3904(%r10), %ymm0
4122vpsubw 4608(%r10), %ymm0, %ymm0
4123vmovdqa 9088(%r8), %ymm1
4124vpsubw %ymm0, %ymm1, %ymm1
4125vpsubw 5312(%r10), %ymm1, %ymm1
4126vpsubw 3200(%r10), %ymm0, %ymm0
4127vpaddw 8384(%r8), %ymm0, %ymm0
4128vmovdqa %ymm0, 3904(%r10)
4129vmovdqa %ymm1, 4608(%r10)
4130vmovdqa 3936(%r10), %ymm0
4131vpsubw 4640(%r10), %ymm0, %ymm0
4132vmovdqa 9120(%r8), %ymm1
4133vpsubw %ymm0, %ymm1, %ymm1
4134vpsubw 5344(%r10), %ymm1, %ymm1
4135vpsubw 3232(%r10), %ymm0, %ymm0
4136vpaddw 8416(%r8), %ymm0, %ymm0
4137vmovdqa %ymm0, 3936(%r10)
4138vmovdqa %ymm1, 4640(%r10)
4139vmovdqa 3968(%r10), %ymm0
4140vpsubw 4672(%r10), %ymm0, %ymm0
4141vmovdqa 9152(%r8), %ymm1
4142vpsubw %ymm0, %ymm1, %ymm1
4143vpsubw 5376(%r10), %ymm1, %ymm1
4144vpsubw 3264(%r10), %ymm0, %ymm0
4145vpaddw 8448(%r8), %ymm0, %ymm0
4146vmovdqa %ymm0, 3968(%r10)
4147vmovdqa %ymm1, 4672(%r10)
4148vmovdqa 4000(%r10), %ymm0
4149vpsubw 4704(%r10), %ymm0, %ymm0
4150vmovdqa 9184(%r8), %ymm1
4151vpsubw %ymm0, %ymm1, %ymm1
4152vpsubw 5408(%r10), %ymm1, %ymm1
4153vpsubw 3296(%r10), %ymm0, %ymm0
4154vpaddw 8480(%r8), %ymm0, %ymm0
4155vmovdqa %ymm0, 4000(%r10)
4156vmovdqa %ymm1, 4704(%r10)
4157vmovdqa 4032(%r10), %ymm0
4158vpsubw 4736(%r10), %ymm0, %ymm0
4159vmovdqa 9216(%r8), %ymm1
4160vpsubw %ymm0, %ymm1, %ymm1
4161vpsubw 5440(%r10), %ymm1, %ymm1
4162vpsubw 3328(%r10), %ymm0, %ymm0
4163vpaddw 8512(%r8), %ymm0, %ymm0
4164vmovdqa %ymm0, 4032(%r10)
4165vmovdqa %ymm1, 4736(%r10)
4166vmovdqa 4064(%r10), %ymm0
4167vpsubw 4768(%r10), %ymm0, %ymm0
4168vmovdqa 9248(%r8), %ymm1
4169vpsubw %ymm0, %ymm1, %ymm1
4170vpsubw 5472(%r10), %ymm1, %ymm1
4171vpsubw 3360(%r10), %ymm0, %ymm0
4172vpaddw 8544(%r8), %ymm0, %ymm0
4173vmovdqa %ymm0, 4064(%r10)
4174vmovdqa %ymm1, 4768(%r10)
4175vmovdqa 4096(%r10), %ymm0
4176vpsubw 4800(%r10), %ymm0, %ymm0
4177vmovdqa 9280(%r8), %ymm1
4178vpsubw %ymm0, %ymm1, %ymm1
4179vpsubw 5504(%r10), %ymm1, %ymm1
4180vpsubw 3392(%r10), %ymm0, %ymm0
4181vpaddw 8576(%r8), %ymm0, %ymm0
4182vmovdqa %ymm0, 4096(%r10)
4183vmovdqa %ymm1, 4800(%r10)
4184vmovdqa 4128(%r10), %ymm0
4185vpsubw 4832(%r10), %ymm0, %ymm0
4186vmovdqa 9312(%r8), %ymm1
4187vpsubw %ymm0, %ymm1, %ymm1
4188vpsubw 5536(%r10), %ymm1, %ymm1
4189vpsubw 3424(%r10), %ymm0, %ymm0
4190vpaddw 8608(%r8), %ymm0, %ymm0
4191vmovdqa %ymm0, 4128(%r10)
4192vmovdqa %ymm1, 4832(%r10)
4193vmovdqa 4160(%r10), %ymm0
4194vpsubw 4864(%r10), %ymm0, %ymm0
4195vmovdqa 9344(%r8), %ymm1
4196vpsubw %ymm0, %ymm1, %ymm1
4197vpsubw 5568(%r10), %ymm1, %ymm1
4198vpsubw 3456(%r10), %ymm0, %ymm0
4199vpaddw 8640(%r8), %ymm0, %ymm0
4200vmovdqa %ymm0, 4160(%r10)
4201vmovdqa %ymm1, 4864(%r10)
4202vpxor %ymm1, %ymm1, %ymm1
4203vmovdqa %ymm1, 5600(%r10)
4204subq $32, %r8
4205vmovdqa 2816(%r10), %ymm0
4206vmovdqa 2880(%r10), %ymm1
4207vmovdqa 2944(%r10), %ymm2
4208vmovdqa 3008(%r10), %ymm3
4209vpunpcklwd 2848(%r10), %ymm0, %ymm4
4210vpunpckhwd 2848(%r10), %ymm0, %ymm5
4211vpunpcklwd 2912(%r10), %ymm1, %ymm6
4212vpunpckhwd 2912(%r10), %ymm1, %ymm7
4213vpunpcklwd 2976(%r10), %ymm2, %ymm8
4214vpunpckhwd 2976(%r10), %ymm2, %ymm9
4215vpunpcklwd 3040(%r10), %ymm3, %ymm10
4216vpunpckhwd 3040(%r10), %ymm3, %ymm11
4217vpunpckldq %ymm6, %ymm4, %ymm0
4218vpunpckhdq %ymm6, %ymm4, %ymm1
4219vpunpckldq %ymm7, %ymm5, %ymm2
4220vpunpckhdq %ymm7, %ymm5, %ymm3
4221vpunpckldq %ymm10, %ymm8, %ymm12
4222vpunpckhdq %ymm10, %ymm8, %ymm13
4223vpunpckldq %ymm11, %ymm9, %ymm14
4224vpunpckhdq %ymm11, %ymm9, %ymm15
4225vpunpcklqdq %ymm12, %ymm0, %ymm4
4226vpunpckhqdq %ymm12, %ymm0, %ymm5
4227vpunpcklqdq %ymm13, %ymm1, %ymm6
4228vpunpckhqdq %ymm13, %ymm1, %ymm7
4229vpunpcklqdq %ymm14, %ymm2, %ymm8
4230vpunpckhqdq %ymm14, %ymm2, %ymm9
4231vpunpcklqdq %ymm15, %ymm3, %ymm10
4232vpunpckhqdq %ymm15, %ymm3, %ymm11
4233vmovdqa 3072(%r10), %ymm0
4234vmovdqa 3136(%r10), %ymm1
4235vmovdqa 3200(%r10), %ymm2
4236vmovdqa 3264(%r10), %ymm3
4237vpunpcklwd 3104(%r10), %ymm0, %ymm12
4238vpunpckhwd 3104(%r10), %ymm0, %ymm13
4239vpunpcklwd 3168(%r10), %ymm1, %ymm14
4240vpunpckhwd 3168(%r10), %ymm1, %ymm15
4241vpunpcklwd 3232(%r10), %ymm2, %ymm0
4242vpunpckhwd 3232(%r10), %ymm2, %ymm1
4243vpunpcklwd 3296(%r10), %ymm3, %ymm2
4244vpunpckhwd 3296(%r10), %ymm3, %ymm3
4245vmovdqa %ymm11, 0(%r8)
4246vpunpckldq %ymm14, %ymm12, %ymm11
4247vpunpckhdq %ymm14, %ymm12, %ymm12
4248vpunpckldq %ymm15, %ymm13, %ymm14
4249vpunpckhdq %ymm15, %ymm13, %ymm15
4250vpunpckldq %ymm2, %ymm0, %ymm13
4251vpunpckhdq %ymm2, %ymm0, %ymm0
4252vpunpckldq %ymm3, %ymm1, %ymm2
4253vpunpckhdq %ymm3, %ymm1, %ymm1
4254vpunpcklqdq %ymm13, %ymm11, %ymm3
4255vpunpckhqdq %ymm13, %ymm11, %ymm13
4256vpunpcklqdq %ymm0, %ymm12, %ymm11
4257vpunpckhqdq %ymm0, %ymm12, %ymm0
4258vpunpcklqdq %ymm2, %ymm14, %ymm12
4259vpunpckhqdq %ymm2, %ymm14, %ymm2
4260vpunpcklqdq %ymm1, %ymm15, %ymm14
4261vpunpckhqdq %ymm1, %ymm15, %ymm1
4262vinserti128 $1, %xmm3, %ymm4, %ymm15
4263vmovdqa %ymm15, 0(%r12)
4264vinserti128 $1, %xmm13, %ymm5, %ymm15
4265vmovdqa %ymm15, 192(%r12)
4266vinserti128 $1, %xmm11, %ymm6, %ymm15
4267vmovdqa %ymm15, 384(%r12)
4268vinserti128 $1, %xmm0, %ymm7, %ymm15
4269vmovdqa %ymm15, 576(%r12)
4270vinserti128 $1, %xmm12, %ymm8, %ymm15
4271vmovdqa %ymm15, 768(%r12)
4272vinserti128 $1, %xmm2, %ymm9, %ymm15
4273vmovdqa %ymm15, 960(%r12)
4274vinserti128 $1, %xmm14, %ymm10, %ymm15
4275vmovdqa %ymm15, 1152(%r12)
4276vpermq $78, %ymm4, %ymm4
4277vpermq $78, %ymm5, %ymm5
4278vpermq $78, %ymm6, %ymm6
4279vpermq $78, %ymm7, %ymm7
4280vpermq $78, %ymm8, %ymm8
4281vpermq $78, %ymm9, %ymm9
4282vpermq $78, %ymm10, %ymm10
4283vinserti128 $0, %xmm4, %ymm3, %ymm15
4284vmovdqa %ymm15, 1536(%r12)
4285vinserti128 $0, %xmm5, %ymm13, %ymm15
4286vmovdqa %ymm15, 1728(%r12)
4287vinserti128 $0, %xmm6, %ymm11, %ymm15
4288vmovdqa %ymm15, 1920(%r12)
4289vinserti128 $0, %xmm7, %ymm0, %ymm15
4290vmovdqa %ymm15, 2112(%r12)
4291vinserti128 $0, %xmm8, %ymm12, %ymm15
4292vmovdqa %ymm15, 2304(%r12)
4293vinserti128 $0, %xmm9, %ymm2, %ymm15
4294vmovdqa %ymm15, 2496(%r12)
4295vinserti128 $0, %xmm10, %ymm14, %ymm15
4296vmovdqa %ymm15, 2688(%r12)
4297vmovdqa 0(%r8), %ymm11
4298vinserti128 $1, %xmm1, %ymm11, %ymm14
4299vmovdqa %ymm14, 1344(%r12)
4300vpermq $78, %ymm11, %ymm11
4301vinserti128 $0, %xmm11, %ymm1, %ymm1
4302vmovdqa %ymm1, 2880(%r12)
4303vmovdqa 3328(%r10), %ymm0
4304vmovdqa 3392(%r10), %ymm1
4305vmovdqa 3456(%r10), %ymm2
4306vmovdqa 3520(%r10), %ymm3
4307vpunpcklwd 3360(%r10), %ymm0, %ymm4
4308vpunpckhwd 3360(%r10), %ymm0, %ymm5
4309vpunpcklwd 3424(%r10), %ymm1, %ymm6
4310vpunpckhwd 3424(%r10), %ymm1, %ymm7
4311vpunpcklwd 3488(%r10), %ymm2, %ymm8
4312vpunpckhwd 3488(%r10), %ymm2, %ymm9
4313vpunpcklwd 3552(%r10), %ymm3, %ymm10
4314vpunpckhwd 3552(%r10), %ymm3, %ymm11
4315vpunpckldq %ymm6, %ymm4, %ymm0
4316vpunpckhdq %ymm6, %ymm4, %ymm1
4317vpunpckldq %ymm7, %ymm5, %ymm2
4318vpunpckhdq %ymm7, %ymm5, %ymm3
4319vpunpckldq %ymm10, %ymm8, %ymm12
4320vpunpckhdq %ymm10, %ymm8, %ymm13
4321vpunpckldq %ymm11, %ymm9, %ymm14
4322vpunpckhdq %ymm11, %ymm9, %ymm15
4323vpunpcklqdq %ymm12, %ymm0, %ymm4
4324vpunpckhqdq %ymm12, %ymm0, %ymm5
4325vpunpcklqdq %ymm13, %ymm1, %ymm6
4326vpunpckhqdq %ymm13, %ymm1, %ymm7
4327vpunpcklqdq %ymm14, %ymm2, %ymm8
4328vpunpckhqdq %ymm14, %ymm2, %ymm9
4329vpunpcklqdq %ymm15, %ymm3, %ymm10
4330vpunpckhqdq %ymm15, %ymm3, %ymm11
4331vmovdqa 3584(%r10), %ymm0
4332vmovdqa 3648(%r10), %ymm1
4333vmovdqa 3712(%r10), %ymm2
4334vmovdqa 3776(%r10), %ymm3
4335vpunpcklwd 3616(%r10), %ymm0, %ymm12
4336vpunpckhwd 3616(%r10), %ymm0, %ymm13
4337vpunpcklwd 3680(%r10), %ymm1, %ymm14
4338vpunpckhwd 3680(%r10), %ymm1, %ymm15
4339vpunpcklwd 3744(%r10), %ymm2, %ymm0
4340vpunpckhwd 3744(%r10), %ymm2, %ymm1
4341vpunpcklwd 3808(%r10), %ymm3, %ymm2
4342vpunpckhwd 3808(%r10), %ymm3, %ymm3
4343vmovdqa %ymm11, 0(%r8)
4344vpunpckldq %ymm14, %ymm12, %ymm11
4345vpunpckhdq %ymm14, %ymm12, %ymm12
4346vpunpckldq %ymm15, %ymm13, %ymm14
4347vpunpckhdq %ymm15, %ymm13, %ymm15
4348vpunpckldq %ymm2, %ymm0, %ymm13
4349vpunpckhdq %ymm2, %ymm0, %ymm0
4350vpunpckldq %ymm3, %ymm1, %ymm2
4351vpunpckhdq %ymm3, %ymm1, %ymm1
4352vpunpcklqdq %ymm13, %ymm11, %ymm3
4353vpunpckhqdq %ymm13, %ymm11, %ymm13
4354vpunpcklqdq %ymm0, %ymm12, %ymm11
4355vpunpckhqdq %ymm0, %ymm12, %ymm0
4356vpunpcklqdq %ymm2, %ymm14, %ymm12
4357vpunpckhqdq %ymm2, %ymm14, %ymm2
4358vpunpcklqdq %ymm1, %ymm15, %ymm14
4359vpunpckhqdq %ymm1, %ymm15, %ymm1
4360vinserti128 $1, %xmm3, %ymm4, %ymm15
4361vmovdqa %ymm15, 32(%r12)
4362vinserti128 $1, %xmm13, %ymm5, %ymm15
4363vmovdqa %ymm15, 224(%r12)
4364vinserti128 $1, %xmm11, %ymm6, %ymm15
4365vmovdqa %ymm15, 416(%r12)
4366vinserti128 $1, %xmm0, %ymm7, %ymm15
4367vmovdqa %ymm15, 608(%r12)
4368vinserti128 $1, %xmm12, %ymm8, %ymm15
4369vmovdqa %ymm15, 800(%r12)
4370vinserti128 $1, %xmm2, %ymm9, %ymm15
4371vmovdqa %ymm15, 992(%r12)
4372vinserti128 $1, %xmm14, %ymm10, %ymm15
4373vmovdqa %ymm15, 1184(%r12)
4374vpermq $78, %ymm4, %ymm4
4375vpermq $78, %ymm5, %ymm5
4376vpermq $78, %ymm6, %ymm6
4377vpermq $78, %ymm7, %ymm7
4378vpermq $78, %ymm8, %ymm8
4379vpermq $78, %ymm9, %ymm9
4380vpermq $78, %ymm10, %ymm10
4381vinserti128 $0, %xmm4, %ymm3, %ymm15
4382vmovdqa %ymm15, 1568(%r12)
4383vinserti128 $0, %xmm5, %ymm13, %ymm15
4384vmovdqa %ymm15, 1760(%r12)
4385vinserti128 $0, %xmm6, %ymm11, %ymm15
4386vmovdqa %ymm15, 1952(%r12)
4387vinserti128 $0, %xmm7, %ymm0, %ymm15
4388vmovdqa %ymm15, 2144(%r12)
4389vinserti128 $0, %xmm8, %ymm12, %ymm15
4390vmovdqa %ymm15, 2336(%r12)
4391vinserti128 $0, %xmm9, %ymm2, %ymm15
4392vmovdqa %ymm15, 2528(%r12)
4393vinserti128 $0, %xmm10, %ymm14, %ymm15
4394vmovdqa %ymm15, 2720(%r12)
4395vmovdqa 0(%r8), %ymm11
4396vinserti128 $1, %xmm1, %ymm11, %ymm14
4397vmovdqa %ymm14, 1376(%r12)
4398vpermq $78, %ymm11, %ymm11
4399vinserti128 $0, %xmm11, %ymm1, %ymm1
4400vmovdqa %ymm1, 2912(%r12)
4401vmovdqa 3840(%r10), %ymm0
4402vmovdqa 3904(%r10), %ymm1
4403vmovdqa 3968(%r10), %ymm2
4404vmovdqa 4032(%r10), %ymm3
4405vpunpcklwd 3872(%r10), %ymm0, %ymm4
4406vpunpckhwd 3872(%r10), %ymm0, %ymm5
4407vpunpcklwd 3936(%r10), %ymm1, %ymm6
4408vpunpckhwd 3936(%r10), %ymm1, %ymm7
4409vpunpcklwd 4000(%r10), %ymm2, %ymm8
4410vpunpckhwd 4000(%r10), %ymm2, %ymm9
4411vpunpcklwd 4064(%r10), %ymm3, %ymm10
4412vpunpckhwd 4064(%r10), %ymm3, %ymm11
4413vpunpckldq %ymm6, %ymm4, %ymm0
4414vpunpckhdq %ymm6, %ymm4, %ymm1
4415vpunpckldq %ymm7, %ymm5, %ymm2
4416vpunpckhdq %ymm7, %ymm5, %ymm3
4417vpunpckldq %ymm10, %ymm8, %ymm12
4418vpunpckhdq %ymm10, %ymm8, %ymm13
4419vpunpckldq %ymm11, %ymm9, %ymm14
4420vpunpckhdq %ymm11, %ymm9, %ymm15
4421vpunpcklqdq %ymm12, %ymm0, %ymm4
4422vpunpckhqdq %ymm12, %ymm0, %ymm5
4423vpunpcklqdq %ymm13, %ymm1, %ymm6
4424vpunpckhqdq %ymm13, %ymm1, %ymm7
4425vpunpcklqdq %ymm14, %ymm2, %ymm8
4426vpunpckhqdq %ymm14, %ymm2, %ymm9
4427vpunpcklqdq %ymm15, %ymm3, %ymm10
4428vpunpckhqdq %ymm15, %ymm3, %ymm11
4429vmovdqa 4096(%r10), %ymm0
4430vmovdqa 4160(%r10), %ymm1
4431vmovdqa 4224(%r10), %ymm2
4432vmovdqa 4288(%r10), %ymm3
4433vpunpcklwd 4128(%r10), %ymm0, %ymm12
4434vpunpckhwd 4128(%r10), %ymm0, %ymm13
4435vpunpcklwd 4192(%r10), %ymm1, %ymm14
4436vpunpckhwd 4192(%r10), %ymm1, %ymm15
4437vpunpcklwd 4256(%r10), %ymm2, %ymm0
4438vpunpckhwd 4256(%r10), %ymm2, %ymm1
4439vpunpcklwd 4320(%r10), %ymm3, %ymm2
4440vpunpckhwd 4320(%r10), %ymm3, %ymm3
4441vmovdqa %ymm11, 0(%r8)
4442vpunpckldq %ymm14, %ymm12, %ymm11
4443vpunpckhdq %ymm14, %ymm12, %ymm12
4444vpunpckldq %ymm15, %ymm13, %ymm14
4445vpunpckhdq %ymm15, %ymm13, %ymm15
4446vpunpckldq %ymm2, %ymm0, %ymm13
4447vpunpckhdq %ymm2, %ymm0, %ymm0
4448vpunpckldq %ymm3, %ymm1, %ymm2
4449vpunpckhdq %ymm3, %ymm1, %ymm1
4450vpunpcklqdq %ymm13, %ymm11, %ymm3
4451vpunpckhqdq %ymm13, %ymm11, %ymm13
4452vpunpcklqdq %ymm0, %ymm12, %ymm11
4453vpunpckhqdq %ymm0, %ymm12, %ymm0
4454vpunpcklqdq %ymm2, %ymm14, %ymm12
4455vpunpckhqdq %ymm2, %ymm14, %ymm2
4456vpunpcklqdq %ymm1, %ymm15, %ymm14
4457vpunpckhqdq %ymm1, %ymm15, %ymm1
4458vinserti128 $1, %xmm3, %ymm4, %ymm15
4459vmovdqa %ymm15, 64(%r12)
4460vinserti128 $1, %xmm13, %ymm5, %ymm15
4461vmovdqa %ymm15, 256(%r12)
4462vinserti128 $1, %xmm11, %ymm6, %ymm15
4463vmovdqa %ymm15, 448(%r12)
4464vinserti128 $1, %xmm0, %ymm7, %ymm15
4465vmovdqa %ymm15, 640(%r12)
4466vinserti128 $1, %xmm12, %ymm8, %ymm15
4467vmovdqa %ymm15, 832(%r12)
4468vinserti128 $1, %xmm2, %ymm9, %ymm15
4469vmovdqa %ymm15, 1024(%r12)
4470vinserti128 $1, %xmm14, %ymm10, %ymm15
4471vmovdqa %ymm15, 1216(%r12)
4472vpermq $78, %ymm4, %ymm4
4473vpermq $78, %ymm5, %ymm5
4474vpermq $78, %ymm6, %ymm6
4475vpermq $78, %ymm7, %ymm7
4476vpermq $78, %ymm8, %ymm8
4477vpermq $78, %ymm9, %ymm9
4478vpermq $78, %ymm10, %ymm10
4479vinserti128 $0, %xmm4, %ymm3, %ymm15
4480vmovdqa %ymm15, 1600(%r12)
4481vinserti128 $0, %xmm5, %ymm13, %ymm15
4482vmovdqa %ymm15, 1792(%r12)
4483vinserti128 $0, %xmm6, %ymm11, %ymm15
4484vmovdqa %ymm15, 1984(%r12)
4485vinserti128 $0, %xmm7, %ymm0, %ymm15
4486vmovdqa %ymm15, 2176(%r12)
4487vinserti128 $0, %xmm8, %ymm12, %ymm15
4488vmovdqa %ymm15, 2368(%r12)
4489vinserti128 $0, %xmm9, %ymm2, %ymm15
4490vmovdqa %ymm15, 2560(%r12)
4491vinserti128 $0, %xmm10, %ymm14, %ymm15
4492vmovdqa %ymm15, 2752(%r12)
4493vmovdqa 0(%r8), %ymm11
4494vinserti128 $1, %xmm1, %ymm11, %ymm14
4495vmovdqa %ymm14, 1408(%r12)
4496vpermq $78, %ymm11, %ymm11
4497vinserti128 $0, %xmm11, %ymm1, %ymm1
4498vmovdqa %ymm1, 2944(%r12)
4499vmovdqa 4224(%r10), %ymm0
4500vmovdqa 4288(%r10), %ymm1
4501vmovdqa 4352(%r10), %ymm2
4502vmovdqa 4416(%r10), %ymm3
4503vpunpcklwd 4256(%r10), %ymm0, %ymm4
4504vpunpckhwd 4256(%r10), %ymm0, %ymm5
4505vpunpcklwd 4320(%r10), %ymm1, %ymm6
4506vpunpckhwd 4320(%r10), %ymm1, %ymm7
4507vpunpcklwd 4384(%r10), %ymm2, %ymm8
4508vpunpckhwd 4384(%r10), %ymm2, %ymm9
4509vpunpcklwd 4448(%r10), %ymm3, %ymm10
4510vpunpckhwd 4448(%r10), %ymm3, %ymm11
4511vpunpckldq %ymm6, %ymm4, %ymm0
4512vpunpckhdq %ymm6, %ymm4, %ymm1
4513vpunpckldq %ymm7, %ymm5, %ymm2
4514vpunpckhdq %ymm7, %ymm5, %ymm3
4515vpunpckldq %ymm10, %ymm8, %ymm12
4516vpunpckhdq %ymm10, %ymm8, %ymm13
4517vpunpckldq %ymm11, %ymm9, %ymm14
4518vpunpckhdq %ymm11, %ymm9, %ymm15
4519vpunpcklqdq %ymm12, %ymm0, %ymm4
4520vpunpckhqdq %ymm12, %ymm0, %ymm5
4521vpunpcklqdq %ymm13, %ymm1, %ymm6
4522vpunpckhqdq %ymm13, %ymm1, %ymm7
4523vpunpcklqdq %ymm14, %ymm2, %ymm8
4524vpunpckhqdq %ymm14, %ymm2, %ymm9
4525vpunpcklqdq %ymm15, %ymm3, %ymm10
4526vpunpckhqdq %ymm15, %ymm3, %ymm11
4527vmovdqa 4480(%r10), %ymm0
4528vmovdqa 4544(%r10), %ymm1
4529vmovdqa 4608(%r10), %ymm2
4530vmovdqa 4672(%r10), %ymm3
4531vpunpcklwd 4512(%r10), %ymm0, %ymm12
4532vpunpckhwd 4512(%r10), %ymm0, %ymm13
4533vpunpcklwd 4576(%r10), %ymm1, %ymm14
4534vpunpckhwd 4576(%r10), %ymm1, %ymm15
4535vpunpcklwd 4640(%r10), %ymm2, %ymm0
4536vpunpckhwd 4640(%r10), %ymm2, %ymm1
4537vpunpcklwd 4704(%r10), %ymm3, %ymm2
4538vpunpckhwd 4704(%r10), %ymm3, %ymm3
4539vmovdqa %ymm11, 0(%r8)
4540vpunpckldq %ymm14, %ymm12, %ymm11
4541vpunpckhdq %ymm14, %ymm12, %ymm12
4542vpunpckldq %ymm15, %ymm13, %ymm14
4543vpunpckhdq %ymm15, %ymm13, %ymm15
4544vpunpckldq %ymm2, %ymm0, %ymm13
4545vpunpckhdq %ymm2, %ymm0, %ymm0
4546vpunpckldq %ymm3, %ymm1, %ymm2
4547vpunpckhdq %ymm3, %ymm1, %ymm1
4548vpunpcklqdq %ymm13, %ymm11, %ymm3
4549vpunpckhqdq %ymm13, %ymm11, %ymm13
4550vpunpcklqdq %ymm0, %ymm12, %ymm11
4551vpunpckhqdq %ymm0, %ymm12, %ymm0
4552vpunpcklqdq %ymm2, %ymm14, %ymm12
4553vpunpckhqdq %ymm2, %ymm14, %ymm2
4554vpunpcklqdq %ymm1, %ymm15, %ymm14
4555vpunpckhqdq %ymm1, %ymm15, %ymm1
4556vinserti128 $1, %xmm3, %ymm4, %ymm15
4557vmovdqa %ymm15, 96(%r12)
4558vinserti128 $1, %xmm13, %ymm5, %ymm15
4559vmovdqa %ymm15, 288(%r12)
4560vinserti128 $1, %xmm11, %ymm6, %ymm15
4561vmovdqa %ymm15, 480(%r12)
4562vinserti128 $1, %xmm0, %ymm7, %ymm15
4563vmovdqa %ymm15, 672(%r12)
4564vinserti128 $1, %xmm12, %ymm8, %ymm15
4565vmovdqa %ymm15, 864(%r12)
4566vinserti128 $1, %xmm2, %ymm9, %ymm15
4567vmovdqa %ymm15, 1056(%r12)
4568vinserti128 $1, %xmm14, %ymm10, %ymm15
4569vmovdqa %ymm15, 1248(%r12)
4570vpermq $78, %ymm4, %ymm4
4571vpermq $78, %ymm5, %ymm5
4572vpermq $78, %ymm6, %ymm6
4573vpermq $78, %ymm7, %ymm7
4574vpermq $78, %ymm8, %ymm8
4575vpermq $78, %ymm9, %ymm9
4576vpermq $78, %ymm10, %ymm10
4577vinserti128 $0, %xmm4, %ymm3, %ymm15
4578vmovdqa %ymm15, 1632(%r12)
4579vinserti128 $0, %xmm5, %ymm13, %ymm15
4580vmovdqa %ymm15, 1824(%r12)
4581vinserti128 $0, %xmm6, %ymm11, %ymm15
4582vmovdqa %ymm15, 2016(%r12)
4583vinserti128 $0, %xmm7, %ymm0, %ymm15
4584vmovdqa %ymm15, 2208(%r12)
4585vinserti128 $0, %xmm8, %ymm12, %ymm15
4586vmovdqa %ymm15, 2400(%r12)
4587vinserti128 $0, %xmm9, %ymm2, %ymm15
4588vmovdqa %ymm15, 2592(%r12)
4589vinserti128 $0, %xmm10, %ymm14, %ymm15
4590vmovdqa %ymm15, 2784(%r12)
4591vmovdqa 0(%r8), %ymm11
4592vinserti128 $1, %xmm1, %ymm11, %ymm14
4593vmovdqa %ymm14, 1440(%r12)
4594vpermq $78, %ymm11, %ymm11
4595vinserti128 $0, %xmm11, %ymm1, %ymm1
4596vmovdqa %ymm1, 2976(%r12)
4597vmovdqa 4736(%r10), %ymm0
4598vmovdqa 4800(%r10), %ymm1
4599vmovdqa 4864(%r10), %ymm2
4600vmovdqa 4928(%r10), %ymm3
4601vpunpcklwd 4768(%r10), %ymm0, %ymm4
4602vpunpckhwd 4768(%r10), %ymm0, %ymm5
4603vpunpcklwd 4832(%r10), %ymm1, %ymm6
4604vpunpckhwd 4832(%r10), %ymm1, %ymm7
4605vpunpcklwd 4896(%r10), %ymm2, %ymm8
4606vpunpckhwd 4896(%r10), %ymm2, %ymm9
4607vpunpcklwd 4960(%r10), %ymm3, %ymm10
4608vpunpckhwd 4960(%r10), %ymm3, %ymm11
4609vpunpckldq %ymm6, %ymm4, %ymm0
4610vpunpckhdq %ymm6, %ymm4, %ymm1
4611vpunpckldq %ymm7, %ymm5, %ymm2
4612vpunpckhdq %ymm7, %ymm5, %ymm3
4613vpunpckldq %ymm10, %ymm8, %ymm12
4614vpunpckhdq %ymm10, %ymm8, %ymm13
4615vpunpckldq %ymm11, %ymm9, %ymm14
4616vpunpckhdq %ymm11, %ymm9, %ymm15
4617vpunpcklqdq %ymm12, %ymm0, %ymm4
4618vpunpckhqdq %ymm12, %ymm0, %ymm5
4619vpunpcklqdq %ymm13, %ymm1, %ymm6
4620vpunpckhqdq %ymm13, %ymm1, %ymm7
4621vpunpcklqdq %ymm14, %ymm2, %ymm8
4622vpunpckhqdq %ymm14, %ymm2, %ymm9
4623vpunpcklqdq %ymm15, %ymm3, %ymm10
4624vpunpckhqdq %ymm15, %ymm3, %ymm11
4625vmovdqa 4992(%r10), %ymm0
4626vmovdqa 5056(%r10), %ymm1
4627vmovdqa 5120(%r10), %ymm2
4628vmovdqa 5184(%r10), %ymm3
4629vpunpcklwd 5024(%r10), %ymm0, %ymm12
4630vpunpckhwd 5024(%r10), %ymm0, %ymm13
4631vpunpcklwd 5088(%r10), %ymm1, %ymm14
4632vpunpckhwd 5088(%r10), %ymm1, %ymm15
4633vpunpcklwd 5152(%r10), %ymm2, %ymm0
4634vpunpckhwd 5152(%r10), %ymm2, %ymm1
4635vpunpcklwd 5216(%r10), %ymm3, %ymm2
4636vpunpckhwd 5216(%r10), %ymm3, %ymm3
4637vmovdqa %ymm11, 0(%r8)
4638vpunpckldq %ymm14, %ymm12, %ymm11
4639vpunpckhdq %ymm14, %ymm12, %ymm12
4640vpunpckldq %ymm15, %ymm13, %ymm14
4641vpunpckhdq %ymm15, %ymm13, %ymm15
4642vpunpckldq %ymm2, %ymm0, %ymm13
4643vpunpckhdq %ymm2, %ymm0, %ymm0
4644vpunpckldq %ymm3, %ymm1, %ymm2
4645vpunpckhdq %ymm3, %ymm1, %ymm1
4646vpunpcklqdq %ymm13, %ymm11, %ymm3
4647vpunpckhqdq %ymm13, %ymm11, %ymm13
4648vpunpcklqdq %ymm0, %ymm12, %ymm11
4649vpunpckhqdq %ymm0, %ymm12, %ymm0
4650vpunpcklqdq %ymm2, %ymm14, %ymm12
4651vpunpckhqdq %ymm2, %ymm14, %ymm2
4652vpunpcklqdq %ymm1, %ymm15, %ymm14
4653vpunpckhqdq %ymm1, %ymm15, %ymm1
4654vinserti128 $1, %xmm3, %ymm4, %ymm15
4655vmovdqa %ymm15, 128(%r12)
4656vinserti128 $1, %xmm13, %ymm5, %ymm15
4657vmovdqa %ymm15, 320(%r12)
4658vinserti128 $1, %xmm11, %ymm6, %ymm15
4659vmovdqa %ymm15, 512(%r12)
4660vinserti128 $1, %xmm0, %ymm7, %ymm15
4661vmovdqa %ymm15, 704(%r12)
4662vinserti128 $1, %xmm12, %ymm8, %ymm15
4663vmovdqa %ymm15, 896(%r12)
4664vinserti128 $1, %xmm2, %ymm9, %ymm15
4665vmovdqa %ymm15, 1088(%r12)
4666vinserti128 $1, %xmm14, %ymm10, %ymm15
4667vmovdqa %ymm15, 1280(%r12)
4668vpermq $78, %ymm4, %ymm4
4669vpermq $78, %ymm5, %ymm5
4670vpermq $78, %ymm6, %ymm6
4671vpermq $78, %ymm7, %ymm7
4672vpermq $78, %ymm8, %ymm8
4673vpermq $78, %ymm9, %ymm9
4674vpermq $78, %ymm10, %ymm10
4675vinserti128 $0, %xmm4, %ymm3, %ymm15
4676vmovdqa %ymm15, 1664(%r12)
4677vinserti128 $0, %xmm5, %ymm13, %ymm15
4678vmovdqa %ymm15, 1856(%r12)
4679vinserti128 $0, %xmm6, %ymm11, %ymm15
4680vmovdqa %ymm15, 2048(%r12)
4681vinserti128 $0, %xmm7, %ymm0, %ymm15
4682vmovdqa %ymm15, 2240(%r12)
4683vinserti128 $0, %xmm8, %ymm12, %ymm15
4684vmovdqa %ymm15, 2432(%r12)
4685vinserti128 $0, %xmm9, %ymm2, %ymm15
4686vmovdqa %ymm15, 2624(%r12)
4687vinserti128 $0, %xmm10, %ymm14, %ymm15
4688vmovdqa %ymm15, 2816(%r12)
4689vmovdqa 0(%r8), %ymm11
4690vinserti128 $1, %xmm1, %ymm11, %ymm14
4691vmovdqa %ymm14, 1472(%r12)
4692vpermq $78, %ymm11, %ymm11
4693vinserti128 $0, %xmm11, %ymm1, %ymm1
4694vmovdqa %ymm1, 3008(%r12)
4695vmovdqa 5248(%r10), %ymm0
4696vmovdqa 5312(%r10), %ymm1
4697vmovdqa 5376(%r10), %ymm2
4698vmovdqa 5440(%r10), %ymm3
4699vpunpcklwd 5280(%r10), %ymm0, %ymm4
4700vpunpckhwd 5280(%r10), %ymm0, %ymm5
4701vpunpcklwd 5344(%r10), %ymm1, %ymm6
4702vpunpckhwd 5344(%r10), %ymm1, %ymm7
4703vpunpcklwd 5408(%r10), %ymm2, %ymm8
4704vpunpckhwd 5408(%r10), %ymm2, %ymm9
4705vpunpcklwd 5472(%r10), %ymm3, %ymm10
4706vpunpckhwd 5472(%r10), %ymm3, %ymm11
4707vpunpckldq %ymm6, %ymm4, %ymm0
4708vpunpckhdq %ymm6, %ymm4, %ymm1
4709vpunpckldq %ymm7, %ymm5, %ymm2
4710vpunpckhdq %ymm7, %ymm5, %ymm3
4711vpunpckldq %ymm10, %ymm8, %ymm12
4712vpunpckhdq %ymm10, %ymm8, %ymm13
4713vpunpckldq %ymm11, %ymm9, %ymm14
4714vpunpckhdq %ymm11, %ymm9, %ymm15
4715vpunpcklqdq %ymm12, %ymm0, %ymm4
4716vpunpckhqdq %ymm12, %ymm0, %ymm5
4717vpunpcklqdq %ymm13, %ymm1, %ymm6
4718vpunpckhqdq %ymm13, %ymm1, %ymm7
4719vpunpcklqdq %ymm14, %ymm2, %ymm8
4720vpunpckhqdq %ymm14, %ymm2, %ymm9
4721vpunpcklqdq %ymm15, %ymm3, %ymm10
4722vpunpckhqdq %ymm15, %ymm3, %ymm11
4723vmovdqa 5504(%r10), %ymm0
4724vmovdqa 5568(%r10), %ymm1
4725vmovdqa 5632(%r10), %ymm2
4726vmovdqa 5696(%r10), %ymm3
4727vpunpcklwd 5536(%r10), %ymm0, %ymm12
4728vpunpckhwd 5536(%r10), %ymm0, %ymm13
4729vpunpcklwd 5600(%r10), %ymm1, %ymm14
4730vpunpckhwd 5600(%r10), %ymm1, %ymm15
4731vpunpcklwd 5664(%r10), %ymm2, %ymm0
4732vpunpckhwd 5664(%r10), %ymm2, %ymm1
4733vpunpcklwd 5728(%r10), %ymm3, %ymm2
4734vpunpckhwd 5728(%r10), %ymm3, %ymm3
4735vmovdqa %ymm11, 0(%r8)
4736vpunpckldq %ymm14, %ymm12, %ymm11
4737vpunpckhdq %ymm14, %ymm12, %ymm12
4738vpunpckldq %ymm15, %ymm13, %ymm14
4739vpunpckhdq %ymm15, %ymm13, %ymm15
4740vpunpckldq %ymm2, %ymm0, %ymm13
4741vpunpckhdq %ymm2, %ymm0, %ymm0
4742vpunpckldq %ymm3, %ymm1, %ymm2
4743vpunpckhdq %ymm3, %ymm1, %ymm1
4744vpunpcklqdq %ymm13, %ymm11, %ymm3
4745vpunpckhqdq %ymm13, %ymm11, %ymm13
4746vpunpcklqdq %ymm0, %ymm12, %ymm11
4747vpunpckhqdq %ymm0, %ymm12, %ymm0
4748vpunpcklqdq %ymm2, %ymm14, %ymm12
4749vpunpckhqdq %ymm2, %ymm14, %ymm2
4750vpunpcklqdq %ymm1, %ymm15, %ymm14
4751vpunpckhqdq %ymm1, %ymm15, %ymm1
4752vinserti128 $1, %xmm3, %ymm4, %ymm15
4753vmovdqa %ymm15, 160(%r12)
4754vinserti128 $1, %xmm13, %ymm5, %ymm15
4755vmovdqa %ymm15, 352(%r12)
4756vinserti128 $1, %xmm11, %ymm6, %ymm15
4757vmovdqa %ymm15, 544(%r12)
4758vinserti128 $1, %xmm0, %ymm7, %ymm15
4759vmovdqa %ymm15, 736(%r12)
4760vinserti128 $1, %xmm12, %ymm8, %ymm15
4761vmovdqa %ymm15, 928(%r12)
4762vinserti128 $1, %xmm2, %ymm9, %ymm15
4763vmovdqa %ymm15, 1120(%r12)
4764vinserti128 $1, %xmm14, %ymm10, %ymm15
4765vmovdqa %ymm15, 1312(%r12)
4766vpermq $78, %ymm4, %ymm4
4767vpermq $78, %ymm5, %ymm5
4768vpermq $78, %ymm6, %ymm6
4769vpermq $78, %ymm7, %ymm7
4770vpermq $78, %ymm8, %ymm8
4771vpermq $78, %ymm9, %ymm9
4772vpermq $78, %ymm10, %ymm10
4773vinserti128 $0, %xmm4, %ymm3, %ymm15
4774vmovdqa %ymm15, 1696(%r12)
4775vinserti128 $0, %xmm5, %ymm13, %ymm15
4776vmovdqa %ymm15, 1888(%r12)
4777vinserti128 $0, %xmm6, %ymm11, %ymm15
4778vmovdqa %ymm15, 2080(%r12)
4779vinserti128 $0, %xmm7, %ymm0, %ymm15
4780vmovdqa %ymm15, 2272(%r12)
4781vinserti128 $0, %xmm8, %ymm12, %ymm15
4782vmovdqa %ymm15, 2464(%r12)
4783vinserti128 $0, %xmm9, %ymm2, %ymm15
4784vmovdqa %ymm15, 2656(%r12)
4785vinserti128 $0, %xmm10, %ymm14, %ymm15
4786vmovdqa %ymm15, 2848(%r12)
4787vmovdqa 0(%r8), %ymm11
4788vinserti128 $1, %xmm1, %ymm11, %ymm14
4789vmovdqa %ymm14, 1504(%r12)
4790vpermq $78, %ymm11, %ymm11
4791vinserti128 $0, %xmm11, %ymm1, %ymm1
4792vmovdqa %ymm1, 3040(%r12)
4793addq $32, %r8
4794add $1536, %rax
4795add $1536, %r11
4796add $3072, %r12
4797dec %ecx
4798jnz karatsuba_loop_4eced63f144beffcb0247f9c6f67d165
4799sub $12288, %r12
4800add $9408-2400, %r8
4801vpxor %ymm0, %ymm0, %ymm0
4802vmovdqa %ymm0, 1792(%r8)
4803vmovdqa %ymm0, 1824(%r8)
4804vmovdqa %ymm0, 1856(%r8)
4805vmovdqa %ymm0, 1888(%r8)
4806vmovdqa %ymm0, 1920(%r8)
4807vmovdqa %ymm0, 1952(%r8)
4808vmovdqa %ymm0, 1984(%r8)
4809vmovdqa %ymm0, 2016(%r8)
4810vmovdqa %ymm0, 2048(%r8)
4811vmovdqa %ymm0, 2080(%r8)
4812vmovdqa %ymm0, 2112(%r8)
4813vmovdqa %ymm0, 2144(%r8)
4814vmovdqa %ymm0, 2176(%r8)
4815vmovdqa %ymm0, 2208(%r8)
4816vmovdqa %ymm0, 2240(%r8)
4817vmovdqa %ymm0, 2272(%r8)
4818vmovdqa %ymm0, 2304(%r8)
4819vmovdqa %ymm0, 2336(%r8)
4820vmovdqa %ymm0, 2368(%r8)
4821vmovdqa %ymm0, 2400(%r8)
4822vmovdqa %ymm0, 2432(%r8)
4823vmovdqa %ymm0, 2464(%r8)
4824vmovdqa %ymm0, 2496(%r8)
4825vmovdqa %ymm0, 2528(%r8)
4826vmovdqa %ymm0, 2560(%r8)
4827vmovdqa %ymm0, 2592(%r8)
4828vmovdqa %ymm0, 2624(%r8)
4829vmovdqa %ymm0, 2656(%r8)
4830vmovdqa %ymm0, 2688(%r8)
4831vmovdqa %ymm0, 2720(%r8)
4832vmovdqa %ymm0, 2752(%r8)
4833vmovdqa %ymm0, 2784(%r8)
4834vmovdqa const729(%rip), %ymm15
4835vmovdqa const3_inv(%rip), %ymm14
4836vmovdqa const5_inv(%rip), %ymm13
4837vmovdqa const9(%rip), %ymm12
4838vmovdqa 96(%r12), %ymm0
4839vpsubw 192(%r12), %ymm0, %ymm0
4840vmovdqa 480(%r12), %ymm1
4841vpsubw %ymm0, %ymm1, %ymm1
4842vpsubw 288(%r12), %ymm1, %ymm1
4843vpsubw 0(%r12), %ymm0, %ymm0
4844vpaddw 384(%r12), %ymm0, %ymm0
4845vmovdqa 672(%r12), %ymm2
4846vpsubw 768(%r12), %ymm2, %ymm2
4847vmovdqa 1056(%r12), %ymm3
4848vpsubw %ymm2, %ymm3, %ymm3
4849vpsubw 864(%r12), %ymm3, %ymm3
4850vpsubw 576(%r12), %ymm2, %ymm2
4851vpaddw 960(%r12), %ymm2, %ymm2
4852vmovdqa 1248(%r12), %ymm4
4853vpsubw 1344(%r12), %ymm4, %ymm4
4854vmovdqa 1632(%r12), %ymm5
4855vpsubw %ymm4, %ymm5, %ymm5
4856vpsubw 1440(%r12), %ymm5, %ymm5
4857vpsubw 1152(%r12), %ymm4, %ymm4
4858vpaddw 1536(%r12), %ymm4, %ymm4
4859vpsubw 576(%r12), %ymm1, %ymm1
4860vpsubw %ymm1, %ymm5, %ymm5
4861vpsubw %ymm3, %ymm5, %ymm5
4862vpsubw 0(%r12), %ymm1, %ymm1
4863vpaddw 1152(%r12), %ymm1, %ymm1
4864vmovdqa 288(%r12), %ymm6
4865vpsubw %ymm2, %ymm6, %ymm7
4866vmovdqa 1440(%r12), %ymm2
4867vpsubw %ymm7, %ymm2, %ymm2
4868vpsubw 864(%r12), %ymm2, %ymm2
4869vpsubw %ymm0, %ymm7, %ymm7
4870vpaddw %ymm4, %ymm7, %ymm7
4871vmovdqa 0(%r12), %ymm8
4872vmovdqa 864(%r12), %ymm9
4873vmovdqa %ymm8, 0(%r8)
4874vmovdqa %ymm0, 32(%r8)
4875vmovdqa %ymm1, 64(%r8)
4876vmovdqa %ymm7, 96(%r8)
4877vmovdqa %ymm5, 128(%r8)
4878vmovdqa %ymm2, 160(%r8)
4879vmovdqa %ymm3, 192(%r8)
4880vmovdqa %ymm9, 224(%r8)
4881vmovdqa 1824(%r12), %ymm0
4882vpsubw 1920(%r12), %ymm0, %ymm0
4883vmovdqa 2208(%r12), %ymm1
4884vpsubw %ymm0, %ymm1, %ymm1
4885vpsubw 2016(%r12), %ymm1, %ymm1
4886vpsubw 1728(%r12), %ymm0, %ymm0
4887vpaddw 2112(%r12), %ymm0, %ymm0
4888vmovdqa 2400(%r12), %ymm2
4889vpsubw 2496(%r12), %ymm2, %ymm2
4890vmovdqa 2784(%r12), %ymm3
4891vpsubw %ymm2, %ymm3, %ymm3
4892vpsubw 2592(%r12), %ymm3, %ymm3
4893vpsubw 2304(%r12), %ymm2, %ymm2
4894vpaddw 2688(%r12), %ymm2, %ymm2
4895vmovdqa 2976(%r12), %ymm4
4896vpsubw 3072(%r12), %ymm4, %ymm4
4897vmovdqa 3360(%r12), %ymm5
4898vpsubw %ymm4, %ymm5, %ymm5
4899vpsubw 3168(%r12), %ymm5, %ymm5
4900vpsubw 2880(%r12), %ymm4, %ymm4
4901vpaddw 3264(%r12), %ymm4, %ymm4
4902vpsubw 2304(%r12), %ymm1, %ymm1
4903vpsubw %ymm1, %ymm5, %ymm5
4904vpsubw %ymm3, %ymm5, %ymm5
4905vpsubw 1728(%r12), %ymm1, %ymm1
4906vpaddw 2880(%r12), %ymm1, %ymm1
4907vmovdqa 2016(%r12), %ymm6
4908vpsubw %ymm2, %ymm6, %ymm7
4909vmovdqa 3168(%r12), %ymm2
4910vpsubw %ymm7, %ymm2, %ymm2
4911vpsubw 2592(%r12), %ymm2, %ymm2
4912vpsubw %ymm0, %ymm7, %ymm7
4913vpaddw %ymm4, %ymm7, %ymm7
4914vmovdqa 1728(%r12), %ymm8
4915vmovdqa 2592(%r12), %ymm9
4916vmovdqa %ymm8, 256(%r8)
4917vmovdqa %ymm0, 288(%r8)
4918vmovdqa %ymm1, 320(%r8)
4919vmovdqa %ymm7, 352(%r8)
4920vmovdqa %ymm5, 384(%r8)
4921vmovdqa %ymm2, 416(%r8)
4922vmovdqa %ymm3, 448(%r8)
4923vmovdqa %ymm9, 480(%r8)
4924vmovdqa 3552(%r12), %ymm0
4925vpsubw 3648(%r12), %ymm0, %ymm0
4926vmovdqa 3936(%r12), %ymm1
4927vpsubw %ymm0, %ymm1, %ymm1
4928vpsubw 3744(%r12), %ymm1, %ymm1
4929vpsubw 3456(%r12), %ymm0, %ymm0
4930vpaddw 3840(%r12), %ymm0, %ymm0
4931vmovdqa 4128(%r12), %ymm2
4932vpsubw 4224(%r12), %ymm2, %ymm2
4933vmovdqa 4512(%r12), %ymm3
4934vpsubw %ymm2, %ymm3, %ymm3
4935vpsubw 4320(%r12), %ymm3, %ymm3
4936vpsubw 4032(%r12), %ymm2, %ymm2
4937vpaddw 4416(%r12), %ymm2, %ymm2
4938vmovdqa 4704(%r12), %ymm4
4939vpsubw 4800(%r12), %ymm4, %ymm4
4940vmovdqa 5088(%r12), %ymm5
4941vpsubw %ymm4, %ymm5, %ymm5
4942vpsubw 4896(%r12), %ymm5, %ymm5
4943vpsubw 4608(%r12), %ymm4, %ymm4
4944vpaddw 4992(%r12), %ymm4, %ymm4
4945vpsubw 4032(%r12), %ymm1, %ymm1
4946vpsubw %ymm1, %ymm5, %ymm5
4947vpsubw %ymm3, %ymm5, %ymm5
4948vpsubw 3456(%r12), %ymm1, %ymm1
4949vpaddw 4608(%r12), %ymm1, %ymm1
4950vmovdqa 3744(%r12), %ymm6
4951vpsubw %ymm2, %ymm6, %ymm7
4952vmovdqa 4896(%r12), %ymm2
4953vpsubw %ymm7, %ymm2, %ymm2
4954vpsubw 4320(%r12), %ymm2, %ymm2
4955vpsubw %ymm0, %ymm7, %ymm7
4956vpaddw %ymm4, %ymm7, %ymm7
4957vmovdqa 3456(%r12), %ymm8
4958vmovdqa 4320(%r12), %ymm9
4959vmovdqa %ymm8, 512(%r8)
4960vmovdqa %ymm0, 544(%r8)
4961vmovdqa %ymm1, 576(%r8)
4962vmovdqa %ymm7, 608(%r8)
4963vmovdqa %ymm5, 640(%r8)
4964vmovdqa %ymm2, 672(%r8)
4965vmovdqa %ymm3, 704(%r8)
4966vmovdqa %ymm9, 736(%r8)
4967vmovdqa 5280(%r12), %ymm0
4968vpsubw 5376(%r12), %ymm0, %ymm0
4969vmovdqa 5664(%r12), %ymm1
4970vpsubw %ymm0, %ymm1, %ymm1
4971vpsubw 5472(%r12), %ymm1, %ymm1
4972vpsubw 5184(%r12), %ymm0, %ymm0
4973vpaddw 5568(%r12), %ymm0, %ymm0
4974vmovdqa 5856(%r12), %ymm2
4975vpsubw 5952(%r12), %ymm2, %ymm2
4976vmovdqa 6240(%r12), %ymm3
4977vpsubw %ymm2, %ymm3, %ymm3
4978vpsubw 6048(%r12), %ymm3, %ymm3
4979vpsubw 5760(%r12), %ymm2, %ymm2
4980vpaddw 6144(%r12), %ymm2, %ymm2
4981vmovdqa 6432(%r12), %ymm4
4982vpsubw 6528(%r12), %ymm4, %ymm4
4983vmovdqa 6816(%r12), %ymm5
4984vpsubw %ymm4, %ymm5, %ymm5
4985vpsubw 6624(%r12), %ymm5, %ymm5
4986vpsubw 6336(%r12), %ymm4, %ymm4
4987vpaddw 6720(%r12), %ymm4, %ymm4
4988vpsubw 5760(%r12), %ymm1, %ymm1
4989vpsubw %ymm1, %ymm5, %ymm5
4990vpsubw %ymm3, %ymm5, %ymm5
4991vpsubw 5184(%r12), %ymm1, %ymm1
4992vpaddw 6336(%r12), %ymm1, %ymm1
4993vmovdqa 5472(%r12), %ymm6
4994vpsubw %ymm2, %ymm6, %ymm7
4995vmovdqa 6624(%r12), %ymm2
4996vpsubw %ymm7, %ymm2, %ymm2
4997vpsubw 6048(%r12), %ymm2, %ymm2
4998vpsubw %ymm0, %ymm7, %ymm7
4999vpaddw %ymm4, %ymm7, %ymm7
5000vmovdqa 5184(%r12), %ymm8
5001vmovdqa 6048(%r12), %ymm9
5002vmovdqa %ymm8, 768(%r8)
5003vmovdqa %ymm0, 800(%r8)
5004vmovdqa %ymm1, 832(%r8)
5005vmovdqa %ymm7, 864(%r8)
5006vmovdqa %ymm5, 896(%r8)
5007vmovdqa %ymm2, 928(%r8)
5008vmovdqa %ymm3, 960(%r8)
5009vmovdqa %ymm9, 992(%r8)
5010vmovdqa 7008(%r12), %ymm0
5011vpsubw 7104(%r12), %ymm0, %ymm0
5012vmovdqa 7392(%r12), %ymm1
5013vpsubw %ymm0, %ymm1, %ymm1
5014vpsubw 7200(%r12), %ymm1, %ymm1
5015vpsubw 6912(%r12), %ymm0, %ymm0
5016vpaddw 7296(%r12), %ymm0, %ymm0
5017vmovdqa 7584(%r12), %ymm2
5018vpsubw 7680(%r12), %ymm2, %ymm2
5019vmovdqa 7968(%r12), %ymm3
5020vpsubw %ymm2, %ymm3, %ymm3
5021vpsubw 7776(%r12), %ymm3, %ymm3
5022vpsubw 7488(%r12), %ymm2, %ymm2
5023vpaddw 7872(%r12), %ymm2, %ymm2
5024vmovdqa 8160(%r12), %ymm4
5025vpsubw 8256(%r12), %ymm4, %ymm4
5026vmovdqa 8544(%r12), %ymm5
5027vpsubw %ymm4, %ymm5, %ymm5
5028vpsubw 8352(%r12), %ymm5, %ymm5
5029vpsubw 8064(%r12), %ymm4, %ymm4
5030vpaddw 8448(%r12), %ymm4, %ymm4
5031vpsubw 7488(%r12), %ymm1, %ymm1
5032vpsubw %ymm1, %ymm5, %ymm5
5033vpsubw %ymm3, %ymm5, %ymm5
5034vpsubw 6912(%r12), %ymm1, %ymm1
5035vpaddw 8064(%r12), %ymm1, %ymm1
5036vmovdqa 7200(%r12), %ymm6
5037vpsubw %ymm2, %ymm6, %ymm7
5038vmovdqa 8352(%r12), %ymm2
5039vpsubw %ymm7, %ymm2, %ymm2
5040vpsubw 7776(%r12), %ymm2, %ymm2
5041vpsubw %ymm0, %ymm7, %ymm7
5042vpaddw %ymm4, %ymm7, %ymm7
5043vmovdqa 6912(%r12), %ymm8
5044vmovdqa 7776(%r12), %ymm9
5045vmovdqa %ymm8, 1024(%r8)
5046vmovdqa %ymm0, 1056(%r8)
5047vmovdqa %ymm1, 1088(%r8)
5048vmovdqa %ymm7, 1120(%r8)
5049vmovdqa %ymm5, 1152(%r8)
5050vmovdqa %ymm2, 1184(%r8)
5051vmovdqa %ymm3, 1216(%r8)
5052vmovdqa %ymm9, 1248(%r8)
5053vmovdqa 8736(%r12), %ymm0
5054vpsubw 8832(%r12), %ymm0, %ymm0
5055vmovdqa 9120(%r12), %ymm1
5056vpsubw %ymm0, %ymm1, %ymm1
5057vpsubw 8928(%r12), %ymm1, %ymm1
5058vpsubw 8640(%r12), %ymm0, %ymm0
5059vpaddw 9024(%r12), %ymm0, %ymm0
5060vmovdqa 9312(%r12), %ymm2
5061vpsubw 9408(%r12), %ymm2, %ymm2
5062vmovdqa 9696(%r12), %ymm3
5063vpsubw %ymm2, %ymm3, %ymm3
5064vpsubw 9504(%r12), %ymm3, %ymm3
5065vpsubw 9216(%r12), %ymm2, %ymm2
5066vpaddw 9600(%r12), %ymm2, %ymm2
5067vmovdqa 9888(%r12), %ymm4
5068vpsubw 9984(%r12), %ymm4, %ymm4
5069vmovdqa 10272(%r12), %ymm5
5070vpsubw %ymm4, %ymm5, %ymm5
5071vpsubw 10080(%r12), %ymm5, %ymm5
5072vpsubw 9792(%r12), %ymm4, %ymm4
5073vpaddw 10176(%r12), %ymm4, %ymm4
5074vpsubw 9216(%r12), %ymm1, %ymm1
5075vpsubw %ymm1, %ymm5, %ymm5
5076vpsubw %ymm3, %ymm5, %ymm5
5077vpsubw 8640(%r12), %ymm1, %ymm1
5078vpaddw 9792(%r12), %ymm1, %ymm1
5079vmovdqa 8928(%r12), %ymm6
5080vpsubw %ymm2, %ymm6, %ymm7
5081vmovdqa 10080(%r12), %ymm2
5082vpsubw %ymm7, %ymm2, %ymm2
5083vpsubw 9504(%r12), %ymm2, %ymm2
5084vpsubw %ymm0, %ymm7, %ymm7
5085vpaddw %ymm4, %ymm7, %ymm7
5086vmovdqa 8640(%r12), %ymm8
5087vmovdqa 9504(%r12), %ymm9
5088vmovdqa %ymm8, 1280(%r8)
5089vmovdqa %ymm0, 1312(%r8)
5090vmovdqa %ymm1, 1344(%r8)
5091vmovdqa %ymm7, 1376(%r8)
5092vmovdqa %ymm5, 1408(%r8)
5093vmovdqa %ymm2, 1440(%r8)
5094vmovdqa %ymm3, 1472(%r8)
5095vmovdqa %ymm9, 1504(%r8)
5096vmovdqa 10464(%r12), %ymm0
5097vpsubw 10560(%r12), %ymm0, %ymm0
5098vmovdqa 10848(%r12), %ymm1
5099vpsubw %ymm0, %ymm1, %ymm1
5100vpsubw 10656(%r12), %ymm1, %ymm1
5101vpsubw 10368(%r12), %ymm0, %ymm0
5102vpaddw 10752(%r12), %ymm0, %ymm0
5103vmovdqa 11040(%r12), %ymm2
5104vpsubw 11136(%r12), %ymm2, %ymm2
5105vmovdqa 11424(%r12), %ymm3
5106vpsubw %ymm2, %ymm3, %ymm3
5107vpsubw 11232(%r12), %ymm3, %ymm3
5108vpsubw 10944(%r12), %ymm2, %ymm2
5109vpaddw 11328(%r12), %ymm2, %ymm2
5110vmovdqa 11616(%r12), %ymm4
5111vpsubw 11712(%r12), %ymm4, %ymm4
5112vmovdqa 12000(%r12), %ymm5
5113vpsubw %ymm4, %ymm5, %ymm5
5114vpsubw 11808(%r12), %ymm5, %ymm5
5115vpsubw 11520(%r12), %ymm4, %ymm4
5116vpaddw 11904(%r12), %ymm4, %ymm4
5117vpsubw 10944(%r12), %ymm1, %ymm1
5118vpsubw %ymm1, %ymm5, %ymm5
5119vpsubw %ymm3, %ymm5, %ymm5
5120vpsubw 10368(%r12), %ymm1, %ymm1
5121vpaddw 11520(%r12), %ymm1, %ymm1
5122vmovdqa 10656(%r12), %ymm6
5123vpsubw %ymm2, %ymm6, %ymm7
5124vmovdqa 11808(%r12), %ymm2
5125vpsubw %ymm7, %ymm2, %ymm2
5126vpsubw 11232(%r12), %ymm2, %ymm2
5127vpsubw %ymm0, %ymm7, %ymm7
5128vpaddw %ymm4, %ymm7, %ymm7
5129vmovdqa 10368(%r12), %ymm8
5130vmovdqa 11232(%r12), %ymm9
5131vmovdqa %ymm8, 1536(%r8)
5132vmovdqa %ymm0, 1568(%r8)
5133vmovdqa %ymm1, 1600(%r8)
5134vmovdqa %ymm7, 1632(%r8)
5135vmovdqa %ymm5, 1664(%r8)
5136vmovdqa %ymm2, 1696(%r8)
5137vmovdqa %ymm3, 1728(%r8)
5138vmovdqa %ymm9, 1760(%r8)
5139vmovdqa 0(%r8), %ymm11
5140vpunpcklwd const0(%rip), %ymm11, %ymm10
5141vpunpckhwd const0(%rip), %ymm11, %ymm9
5142vpslld $1, %ymm10, %ymm10
5143vpslld $1, %ymm9, %ymm9
5144vmovdqa 256(%r8), %ymm8
5145vpunpcklwd const0(%rip), %ymm8, %ymm7
5146vpunpckhwd const0(%rip), %ymm8, %ymm8
5147vmovdqa 512(%r8), %ymm6
5148vpunpcklwd const0(%rip), %ymm6, %ymm5
5149vpunpckhwd const0(%rip), %ymm6, %ymm6
5150vpaddd %ymm5, %ymm7, %ymm4
5151vpaddd %ymm6, %ymm8, %ymm3
5152vpsubd %ymm10, %ymm4, %ymm4
5153vpsubd %ymm9, %ymm3, %ymm3
5154vpsubd %ymm5, %ymm7, %ymm5
5155vpsubd %ymm6, %ymm8, %ymm6
5156vpsrld $1, %ymm5, %ymm5
5157vpsrld $1, %ymm6, %ymm6
5158vpand mask32_to_16(%rip), %ymm5, %ymm5
5159vpand mask32_to_16(%rip), %ymm6, %ymm6
5160vpackusdw %ymm6, %ymm5, %ymm6
5161vmovdqa 1536(%r8), %ymm5
5162vpunpcklwd const0(%rip), %ymm5, %ymm8
5163vpunpckhwd const0(%rip), %ymm5, %ymm7
5164vpslld $1, %ymm8, %ymm8
5165vpslld $1, %ymm7, %ymm7
5166vpsubd %ymm8, %ymm4, %ymm4
5167vpsubd %ymm7, %ymm3, %ymm3
5168vpsrld $1, %ymm4, %ymm4
5169vpsrld $1, %ymm3, %ymm3
5170vpand mask32_to_16(%rip), %ymm4, %ymm4
5171vpand mask32_to_16(%rip), %ymm3, %ymm3
5172vpackusdw %ymm3, %ymm4, %ymm3
5173vmovdqa 768(%r8), %ymm4
5174vpaddw 1024(%r8), %ymm4, %ymm7
5175vpsubw 1024(%r8), %ymm4, %ymm4
5176vpsrlw $2, %ymm4, %ymm4
5177vpsubw %ymm6, %ymm4, %ymm4
5178vpmullw %ymm14, %ymm4, %ymm4
5179vpsllw $1, %ymm11, %ymm8
5180vpsubw %ymm8, %ymm7, %ymm8
5181vpsllw $7, %ymm5, %ymm7
5182vpsubw %ymm7, %ymm8, %ymm7
5183vpsrlw $3, %ymm7, %ymm7
5184vpsubw %ymm3, %ymm7, %ymm7
5185vmovdqa 1280(%r8), %ymm8
5186vpsubw %ymm11, %ymm8, %ymm8
5187vpmullw %ymm15, %ymm5, %ymm9
5188vpsubw %ymm9, %ymm8, %ymm9
5189vpmullw %ymm14, %ymm7, %ymm7
5190vpsubw %ymm7, %ymm3, %ymm3
5191vpmullw %ymm12, %ymm7, %ymm8
5192vpaddw %ymm8, %ymm3, %ymm8
5193vpmullw %ymm12, %ymm8, %ymm8
5194vpsubw %ymm8, %ymm9, %ymm8
5195vpmullw %ymm14, %ymm8, %ymm8
5196vpsubw %ymm6, %ymm8, %ymm8
5197vpsrlw $3, %ymm8, %ymm8
5198vpsubw %ymm4, %ymm8, %ymm8
5199vpsubw %ymm8, %ymm4, %ymm4
5200vpsubw %ymm4, %ymm6, %ymm6
5201vpmullw %ymm13, %ymm8, %ymm8
5202vpsubw %ymm8, %ymm6, %ymm6
5203vpshufb shuf48_16(%rip), %ymm7, %ymm7
5204vpand mask3_5_3_5(%rip), %ymm7, %ymm9
5205vpand mask5_3_5_3(%rip), %ymm7, %ymm7
5206vpermq $206, %ymm9, %ymm9
5207vpand mask_keephigh(%rip), %ymm9, %ymm10
5208vpor %ymm10, %ymm7, %ymm7
5209vpaddw %ymm7, %ymm11, %ymm11
5210vmovdqa %xmm9, 2048(%r8)
5211vpshufb shuf48_16(%rip), %ymm8, %ymm8
5212vpand mask3_5_3_5(%rip), %ymm8, %ymm9
5213vpand mask5_3_5_3(%rip), %ymm8, %ymm8
5214vpermq $206, %ymm9, %ymm9
5215vpand mask_keephigh(%rip), %ymm9, %ymm10
5216vpor %ymm10, %ymm8, %ymm8
5217vpaddw %ymm8, %ymm6, %ymm6
5218vmovdqa %xmm9, 2304(%r8)
5219vpshufb shuf48_16(%rip), %ymm5, %ymm5
5220vpand mask3_5_3_5(%rip), %ymm5, %ymm9
5221vpand mask5_3_5_3(%rip), %ymm5, %ymm5
5222vpermq $206, %ymm9, %ymm9
5223vpand mask_keephigh(%rip), %ymm9, %ymm10
5224vpor %ymm10, %ymm5, %ymm5
5225vpaddw %ymm5, %ymm3, %ymm3
5226vmovdqa %xmm9, 2560(%r8)
5227vpand mask_mod8192(%rip), %ymm11, %ymm11
5228vmovdqu %ymm11, 0(%rdi)
5229vpand mask_mod8192(%rip), %ymm6, %ymm6
5230vmovdqu %ymm6, 352(%rdi)
5231vpand mask_mod8192(%rip), %ymm3, %ymm3
5232vmovdqu %ymm3, 704(%rdi)
5233vpand mask_mod8192(%rip), %ymm4, %ymm4
5234vmovdqu %ymm4, 1056(%rdi)
5235vmovdqa 32(%r8), %ymm5
5236vpunpcklwd const0(%rip), %ymm5, %ymm8
5237vpunpckhwd const0(%rip), %ymm5, %ymm7
5238vpslld $1, %ymm8, %ymm8
5239vpslld $1, %ymm7, %ymm7
5240vmovdqa 288(%r8), %ymm4
5241vpunpcklwd const0(%rip), %ymm4, %ymm3
5242vpunpckhwd const0(%rip), %ymm4, %ymm4
5243vmovdqa 544(%r8), %ymm6
5244vpunpcklwd const0(%rip), %ymm6, %ymm11
5245vpunpckhwd const0(%rip), %ymm6, %ymm6
5246vpaddd %ymm11, %ymm3, %ymm9
5247vpaddd %ymm6, %ymm4, %ymm10
5248vpsubd %ymm8, %ymm9, %ymm9
5249vpsubd %ymm7, %ymm10, %ymm10
5250vpsubd %ymm11, %ymm3, %ymm11
5251vpsubd %ymm6, %ymm4, %ymm6
5252vpsrld $1, %ymm11, %ymm11
5253vpsrld $1, %ymm6, %ymm6
5254vpand mask32_to_16(%rip), %ymm11, %ymm11
5255vpand mask32_to_16(%rip), %ymm6, %ymm6
5256vpackusdw %ymm6, %ymm11, %ymm6
5257vmovdqa 1568(%r8), %ymm11
5258vpunpcklwd const0(%rip), %ymm11, %ymm4
5259vpunpckhwd const0(%rip), %ymm11, %ymm3
5260vpslld $1, %ymm4, %ymm4
5261vpslld $1, %ymm3, %ymm3
5262vpsubd %ymm4, %ymm9, %ymm9
5263vpsubd %ymm3, %ymm10, %ymm10
5264vpsrld $1, %ymm9, %ymm9
5265vpsrld $1, %ymm10, %ymm10
5266vpand mask32_to_16(%rip), %ymm9, %ymm9
5267vpand mask32_to_16(%rip), %ymm10, %ymm10
5268vpackusdw %ymm10, %ymm9, %ymm10
5269vmovdqa 800(%r8), %ymm9
5270vpaddw 1056(%r8), %ymm9, %ymm3
5271vpsubw 1056(%r8), %ymm9, %ymm9
5272vpsrlw $2, %ymm9, %ymm9
5273vpsubw %ymm6, %ymm9, %ymm9
5274vpmullw %ymm14, %ymm9, %ymm9
5275vpsllw $1, %ymm5, %ymm4
5276vpsubw %ymm4, %ymm3, %ymm4
5277vpsllw $7, %ymm11, %ymm3
5278vpsubw %ymm3, %ymm4, %ymm3
5279vpsrlw $3, %ymm3, %ymm3
5280vpsubw %ymm10, %ymm3, %ymm3
5281vmovdqa 1312(%r8), %ymm4
5282vpsubw %ymm5, %ymm4, %ymm4
5283vpmullw %ymm15, %ymm11, %ymm7
5284vpsubw %ymm7, %ymm4, %ymm7
5285vpmullw %ymm14, %ymm3, %ymm3
5286vpsubw %ymm3, %ymm10, %ymm10
5287vpmullw %ymm12, %ymm3, %ymm4
5288vpaddw %ymm4, %ymm10, %ymm4
5289vpmullw %ymm12, %ymm4, %ymm4
5290vpsubw %ymm4, %ymm7, %ymm4
5291vpmullw %ymm14, %ymm4, %ymm4
5292vpsubw %ymm6, %ymm4, %ymm4
5293vpsrlw $3, %ymm4, %ymm4
5294vpsubw %ymm9, %ymm4, %ymm4
5295vpsubw %ymm4, %ymm9, %ymm9
5296vpsubw %ymm9, %ymm6, %ymm6
5297vpmullw %ymm13, %ymm4, %ymm4
5298vpsubw %ymm4, %ymm6, %ymm6
5299vpshufb shuf48_16(%rip), %ymm3, %ymm3
5300vpand mask3_5_3_5(%rip), %ymm3, %ymm7
5301vpand mask5_3_5_3(%rip), %ymm3, %ymm3
5302vpermq $206, %ymm7, %ymm7
5303vpand mask_keephigh(%rip), %ymm7, %ymm8
5304vpor %ymm8, %ymm3, %ymm3
5305vpaddw %ymm3, %ymm5, %ymm5
5306vmovdqa %xmm7, 2080(%r8)
5307vpshufb shuf48_16(%rip), %ymm4, %ymm4
5308vpand mask3_5_3_5(%rip), %ymm4, %ymm7
5309vpand mask5_3_5_3(%rip), %ymm4, %ymm4
5310vpermq $206, %ymm7, %ymm7
5311vpand mask_keephigh(%rip), %ymm7, %ymm8
5312vpor %ymm8, %ymm4, %ymm4
5313vpaddw %ymm4, %ymm6, %ymm6
5314vmovdqa %xmm7, 2336(%r8)
5315vpshufb shuf48_16(%rip), %ymm11, %ymm11
5316vpand mask3_5_3_5(%rip), %ymm11, %ymm7
5317vpand mask5_3_5_3(%rip), %ymm11, %ymm11
5318vpermq $206, %ymm7, %ymm7
5319vpand mask_keephigh(%rip), %ymm7, %ymm8
5320vpor %ymm8, %ymm11, %ymm11
5321vpaddw %ymm11, %ymm10, %ymm10
5322vmovdqa %xmm7, 2592(%r8)
5323vpand mask_mod8192(%rip), %ymm5, %ymm5
5324vmovdqu %ymm5, 88(%rdi)
5325vpand mask_mod8192(%rip), %ymm6, %ymm6
5326vmovdqu %ymm6, 440(%rdi)
5327vpand mask_mod8192(%rip), %ymm10, %ymm10
5328vmovdqu %ymm10, 792(%rdi)
5329vpand mask_mod8192(%rip), %ymm9, %ymm9
5330vmovdqu %ymm9, 1144(%rdi)
5331vmovdqa 64(%r8), %ymm11
5332vpunpcklwd const0(%rip), %ymm11, %ymm4
5333vpunpckhwd const0(%rip), %ymm11, %ymm3
5334vpslld $1, %ymm4, %ymm4
5335vpslld $1, %ymm3, %ymm3
5336vmovdqa 320(%r8), %ymm9
5337vpunpcklwd const0(%rip), %ymm9, %ymm10
5338vpunpckhwd const0(%rip), %ymm9, %ymm9
5339vmovdqa 576(%r8), %ymm6
5340vpunpcklwd const0(%rip), %ymm6, %ymm5
5341vpunpckhwd const0(%rip), %ymm6, %ymm6
5342vpaddd %ymm5, %ymm10, %ymm7
5343vpaddd %ymm6, %ymm9, %ymm8
5344vpsubd %ymm4, %ymm7, %ymm7
5345vpsubd %ymm3, %ymm8, %ymm8
5346vpsubd %ymm5, %ymm10, %ymm5
5347vpsubd %ymm6, %ymm9, %ymm6
5348vpsrld $1, %ymm5, %ymm5
5349vpsrld $1, %ymm6, %ymm6
5350vpand mask32_to_16(%rip), %ymm5, %ymm5
5351vpand mask32_to_16(%rip), %ymm6, %ymm6
5352vpackusdw %ymm6, %ymm5, %ymm6
5353vmovdqa 1600(%r8), %ymm5
5354vpunpcklwd const0(%rip), %ymm5, %ymm9
5355vpunpckhwd const0(%rip), %ymm5, %ymm10
5356vpslld $1, %ymm9, %ymm9
5357vpslld $1, %ymm10, %ymm10
5358vpsubd %ymm9, %ymm7, %ymm7
5359vpsubd %ymm10, %ymm8, %ymm8
5360vpsrld $1, %ymm7, %ymm7
5361vpsrld $1, %ymm8, %ymm8
5362vpand mask32_to_16(%rip), %ymm7, %ymm7
5363vpand mask32_to_16(%rip), %ymm8, %ymm8
5364vpackusdw %ymm8, %ymm7, %ymm8
5365vmovdqa 832(%r8), %ymm7
5366vpaddw 1088(%r8), %ymm7, %ymm10
5367vpsubw 1088(%r8), %ymm7, %ymm7
5368vpsrlw $2, %ymm7, %ymm7
5369vpsubw %ymm6, %ymm7, %ymm7
5370vpmullw %ymm14, %ymm7, %ymm7
5371vpsllw $1, %ymm11, %ymm9
5372vpsubw %ymm9, %ymm10, %ymm9
5373vpsllw $7, %ymm5, %ymm10
5374vpsubw %ymm10, %ymm9, %ymm10
5375vpsrlw $3, %ymm10, %ymm10
5376vpsubw %ymm8, %ymm10, %ymm10
5377vmovdqa 1344(%r8), %ymm9
5378vpsubw %ymm11, %ymm9, %ymm9
5379vpmullw %ymm15, %ymm5, %ymm3
5380vpsubw %ymm3, %ymm9, %ymm3
5381vpmullw %ymm14, %ymm10, %ymm10
5382vpsubw %ymm10, %ymm8, %ymm8
5383vpmullw %ymm12, %ymm10, %ymm9
5384vpaddw %ymm9, %ymm8, %ymm9
5385vpmullw %ymm12, %ymm9, %ymm9
5386vpsubw %ymm9, %ymm3, %ymm9
5387vpmullw %ymm14, %ymm9, %ymm9
5388vpsubw %ymm6, %ymm9, %ymm9
5389vpsrlw $3, %ymm9, %ymm9
5390vpsubw %ymm7, %ymm9, %ymm9
5391vpsubw %ymm9, %ymm7, %ymm7
5392vpsubw %ymm7, %ymm6, %ymm6
5393vpmullw %ymm13, %ymm9, %ymm9
5394vpsubw %ymm9, %ymm6, %ymm6
5395vpshufb shuf48_16(%rip), %ymm10, %ymm10
5396vpand mask3_5_3_5(%rip), %ymm10, %ymm3
5397vpand mask5_3_5_3(%rip), %ymm10, %ymm10
5398vpermq $206, %ymm3, %ymm3
5399vpand mask_keephigh(%rip), %ymm3, %ymm4
5400vpor %ymm4, %ymm10, %ymm10
5401vpaddw %ymm10, %ymm11, %ymm11
5402vmovdqa %xmm3, 2112(%r8)
5403vpshufb shuf48_16(%rip), %ymm9, %ymm9
5404vpand mask3_5_3_5(%rip), %ymm9, %ymm3
5405vpand mask5_3_5_3(%rip), %ymm9, %ymm9
5406vpermq $206, %ymm3, %ymm3
5407vpand mask_keephigh(%rip), %ymm3, %ymm4
5408vpor %ymm4, %ymm9, %ymm9
5409vpaddw %ymm9, %ymm6, %ymm6
5410vmovdqa %xmm3, 2368(%r8)
5411vpshufb shuf48_16(%rip), %ymm5, %ymm5
5412vpand mask3_5_3_5(%rip), %ymm5, %ymm3
5413vpand mask5_3_5_3(%rip), %ymm5, %ymm5
5414vpermq $206, %ymm3, %ymm3
5415vpand mask_keephigh(%rip), %ymm3, %ymm4
5416vpor %ymm4, %ymm5, %ymm5
5417vpaddw %ymm5, %ymm8, %ymm8
5418vmovdqa %xmm3, 2624(%r8)
5419vpand mask_mod8192(%rip), %ymm11, %ymm11
5420vmovdqu %ymm11, 176(%rdi)
5421vpand mask_mod8192(%rip), %ymm6, %ymm6
5422vmovdqu %ymm6, 528(%rdi)
5423vpand mask_mod8192(%rip), %ymm8, %ymm8
5424vmovdqu %ymm8, 880(%rdi)
5425vpand mask_mod8192(%rip), %ymm7, %ymm7
5426vmovdqu %ymm7, 1232(%rdi)
5427vmovdqa 96(%r8), %ymm5
5428vpunpcklwd const0(%rip), %ymm5, %ymm9
5429vpunpckhwd const0(%rip), %ymm5, %ymm10
5430vpslld $1, %ymm9, %ymm9
5431vpslld $1, %ymm10, %ymm10
5432vmovdqa 352(%r8), %ymm7
5433vpunpcklwd const0(%rip), %ymm7, %ymm8
5434vpunpckhwd const0(%rip), %ymm7, %ymm7
5435vmovdqa 608(%r8), %ymm6
5436vpunpcklwd const0(%rip), %ymm6, %ymm11
5437vpunpckhwd const0(%rip), %ymm6, %ymm6
5438vpaddd %ymm11, %ymm8, %ymm3
5439vpaddd %ymm6, %ymm7, %ymm4
5440vpsubd %ymm9, %ymm3, %ymm3
5441vpsubd %ymm10, %ymm4, %ymm4
5442vpsubd %ymm11, %ymm8, %ymm11
5443vpsubd %ymm6, %ymm7, %ymm6
5444vpsrld $1, %ymm11, %ymm11
5445vpsrld $1, %ymm6, %ymm6
5446vpand mask32_to_16(%rip), %ymm11, %ymm11
5447vpand mask32_to_16(%rip), %ymm6, %ymm6
5448vpackusdw %ymm6, %ymm11, %ymm6
5449vmovdqa 1632(%r8), %ymm11
5450vpunpcklwd const0(%rip), %ymm11, %ymm7
5451vpunpckhwd const0(%rip), %ymm11, %ymm8
5452vpslld $1, %ymm7, %ymm7
5453vpslld $1, %ymm8, %ymm8
5454vpsubd %ymm7, %ymm3, %ymm3
5455vpsubd %ymm8, %ymm4, %ymm4
5456vpsrld $1, %ymm3, %ymm3
5457vpsrld $1, %ymm4, %ymm4
5458vpand mask32_to_16(%rip), %ymm3, %ymm3
5459vpand mask32_to_16(%rip), %ymm4, %ymm4
5460vpackusdw %ymm4, %ymm3, %ymm4
5461vmovdqa 864(%r8), %ymm3
5462vpaddw 1120(%r8), %ymm3, %ymm8
5463vpsubw 1120(%r8), %ymm3, %ymm3
5464vpsrlw $2, %ymm3, %ymm3
5465vpsubw %ymm6, %ymm3, %ymm3
5466vpmullw %ymm14, %ymm3, %ymm3
5467vpsllw $1, %ymm5, %ymm7
5468vpsubw %ymm7, %ymm8, %ymm7
5469vpsllw $7, %ymm11, %ymm8
5470vpsubw %ymm8, %ymm7, %ymm8
5471vpsrlw $3, %ymm8, %ymm8
5472vpsubw %ymm4, %ymm8, %ymm8
5473vmovdqa 1376(%r8), %ymm7
5474vpsubw %ymm5, %ymm7, %ymm7
5475vpmullw %ymm15, %ymm11, %ymm10
5476vpsubw %ymm10, %ymm7, %ymm10
5477vpmullw %ymm14, %ymm8, %ymm8
5478vpsubw %ymm8, %ymm4, %ymm4
5479vpmullw %ymm12, %ymm8, %ymm7
5480vpaddw %ymm7, %ymm4, %ymm7
5481vpmullw %ymm12, %ymm7, %ymm7
5482vpsubw %ymm7, %ymm10, %ymm7
5483vpmullw %ymm14, %ymm7, %ymm7
5484vpsubw %ymm6, %ymm7, %ymm7
5485vpsrlw $3, %ymm7, %ymm7
5486vpsubw %ymm3, %ymm7, %ymm7
5487vpsubw %ymm7, %ymm3, %ymm3
5488vpsubw %ymm3, %ymm6, %ymm6
5489vpmullw %ymm13, %ymm7, %ymm7
5490vpsubw %ymm7, %ymm6, %ymm6
5491vpshufb shuf48_16(%rip), %ymm8, %ymm8
5492vpand mask3_5_3_5(%rip), %ymm8, %ymm10
5493vpand mask5_3_5_3(%rip), %ymm8, %ymm8
5494vpermq $206, %ymm10, %ymm10
5495vpand mask_keephigh(%rip), %ymm10, %ymm9
5496vpor %ymm9, %ymm8, %ymm8
5497vpaddw %ymm8, %ymm5, %ymm5
5498vmovdqa %xmm10, 2144(%r8)
5499vpshufb shuf48_16(%rip), %ymm7, %ymm7
5500vpand mask3_5_3_5(%rip), %ymm7, %ymm10
5501vpand mask5_3_5_3(%rip), %ymm7, %ymm7
5502vpermq $206, %ymm10, %ymm10
5503vpand mask_keephigh(%rip), %ymm10, %ymm9
5504vpor %ymm9, %ymm7, %ymm7
5505vpaddw %ymm7, %ymm6, %ymm6
5506vmovdqa %xmm10, 2400(%r8)
5507vpshufb shuf48_16(%rip), %ymm11, %ymm11
5508vpand mask3_5_3_5(%rip), %ymm11, %ymm10
5509vpand mask5_3_5_3(%rip), %ymm11, %ymm11
5510vpermq $206, %ymm10, %ymm10
5511vpand mask_keephigh(%rip), %ymm10, %ymm9
5512vpor %ymm9, %ymm11, %ymm11
5513vpaddw %ymm11, %ymm4, %ymm4
5514vmovdqa %xmm10, 2656(%r8)
5515vpand mask_mod8192(%rip), %ymm5, %ymm5
5516vmovdqu %ymm5, 264(%rdi)
5517vpand mask_mod8192(%rip), %ymm6, %ymm6
5518vmovdqu %ymm6, 616(%rdi)
5519vpand mask_mod8192(%rip), %ymm4, %ymm4
5520vmovdqu %ymm4, 968(%rdi)
5521vpand mask_mod8192(%rip), %ymm3, %ymm3
5522vmovdqu %ymm3, 1320(%rdi)
5523vmovdqa 128(%r8), %ymm11
5524vpunpcklwd const0(%rip), %ymm11, %ymm7
5525vpunpckhwd const0(%rip), %ymm11, %ymm8
5526vpslld $1, %ymm7, %ymm7
5527vpslld $1, %ymm8, %ymm8
5528vmovdqa 384(%r8), %ymm3
5529vpunpcklwd const0(%rip), %ymm3, %ymm4
5530vpunpckhwd const0(%rip), %ymm3, %ymm3
5531vmovdqa 640(%r8), %ymm6
5532vpunpcklwd const0(%rip), %ymm6, %ymm5
5533vpunpckhwd const0(%rip), %ymm6, %ymm6
5534vpaddd %ymm5, %ymm4, %ymm10
5535vpaddd %ymm6, %ymm3, %ymm9
5536vpsubd %ymm7, %ymm10, %ymm10
5537vpsubd %ymm8, %ymm9, %ymm9
5538vpsubd %ymm5, %ymm4, %ymm5
5539vpsubd %ymm6, %ymm3, %ymm6
5540vpsrld $1, %ymm5, %ymm5
5541vpsrld $1, %ymm6, %ymm6
5542vpand mask32_to_16(%rip), %ymm5, %ymm5
5543vpand mask32_to_16(%rip), %ymm6, %ymm6
5544vpackusdw %ymm6, %ymm5, %ymm6
5545vmovdqa 1664(%r8), %ymm5
5546vpunpcklwd const0(%rip), %ymm5, %ymm3
5547vpunpckhwd const0(%rip), %ymm5, %ymm4
5548vpslld $1, %ymm3, %ymm3
5549vpslld $1, %ymm4, %ymm4
5550vpsubd %ymm3, %ymm10, %ymm10
5551vpsubd %ymm4, %ymm9, %ymm9
5552vpsrld $1, %ymm10, %ymm10
5553vpsrld $1, %ymm9, %ymm9
5554vpand mask32_to_16(%rip), %ymm10, %ymm10
5555vpand mask32_to_16(%rip), %ymm9, %ymm9
5556vpackusdw %ymm9, %ymm10, %ymm9
5557vmovdqa 896(%r8), %ymm10
5558vpaddw 1152(%r8), %ymm10, %ymm4
5559vpsubw 1152(%r8), %ymm10, %ymm10
5560vpsrlw $2, %ymm10, %ymm10
5561vpsubw %ymm6, %ymm10, %ymm10
5562vpmullw %ymm14, %ymm10, %ymm10
5563vpsllw $1, %ymm11, %ymm3
5564vpsubw %ymm3, %ymm4, %ymm3
5565vpsllw $7, %ymm5, %ymm4
5566vpsubw %ymm4, %ymm3, %ymm4
5567vpsrlw $3, %ymm4, %ymm4
5568vpsubw %ymm9, %ymm4, %ymm4
5569vmovdqa 1408(%r8), %ymm3
5570vpsubw %ymm11, %ymm3, %ymm3
5571vpmullw %ymm15, %ymm5, %ymm8
5572vpsubw %ymm8, %ymm3, %ymm8
5573vpmullw %ymm14, %ymm4, %ymm4
5574vpsubw %ymm4, %ymm9, %ymm9
5575vpmullw %ymm12, %ymm4, %ymm3
5576vpaddw %ymm3, %ymm9, %ymm3
5577vpmullw %ymm12, %ymm3, %ymm3
5578vpsubw %ymm3, %ymm8, %ymm3
5579vpmullw %ymm14, %ymm3, %ymm3
5580vpsubw %ymm6, %ymm3, %ymm3
5581vpsrlw $3, %ymm3, %ymm3
5582vpsubw %ymm10, %ymm3, %ymm3
5583vpsubw %ymm3, %ymm10, %ymm10
5584vpsubw %ymm10, %ymm6, %ymm6
5585vpmullw %ymm13, %ymm3, %ymm3
5586vpsubw %ymm3, %ymm6, %ymm6
5587vmovdqu 352(%rdi), %ymm8
5588vmovdqu 704(%rdi), %ymm7
5589vmovdqu 1056(%rdi), %ymm2
5590vpaddw %ymm11, %ymm8, %ymm11
5591vpaddw %ymm6, %ymm7, %ymm6
5592vpaddw %ymm9, %ymm2, %ymm9
5593vpshufb shuf48_16(%rip), %ymm10, %ymm10
5594vpand mask3_5_3_5(%rip), %ymm10, %ymm2
5595vpand mask5_3_5_3(%rip), %ymm10, %ymm10
5596vpermq $206, %ymm2, %ymm2
5597vpand mask_keephigh(%rip), %ymm2, %ymm7
5598vpor %ymm7, %ymm10, %ymm10
5599vmovdqu 0(%rdi), %ymm7
5600vpaddw %ymm10, %ymm7, %ymm7
5601vpand mask_mod8192(%rip), %ymm7, %ymm7
5602vmovdqu %ymm7, 0(%rdi)
5603vmovdqa %xmm2, 1920(%r8)
5604vpshufb shuf48_16(%rip), %ymm4, %ymm4
5605vpand mask3_5_3_5(%rip), %ymm4, %ymm2
5606vpand mask5_3_5_3(%rip), %ymm4, %ymm4
5607vpermq $206, %ymm2, %ymm2
5608vpand mask_keephigh(%rip), %ymm2, %ymm7
5609vpor %ymm7, %ymm4, %ymm4
5610vpaddw %ymm4, %ymm11, %ymm11
5611vmovdqa %xmm2, 2176(%r8)
5612vpshufb shuf48_16(%rip), %ymm3, %ymm3
5613vpand mask3_5_3_5(%rip), %ymm3, %ymm2
5614vpand mask5_3_5_3(%rip), %ymm3, %ymm3
5615vpermq $206, %ymm2, %ymm2
5616vpand mask_keephigh(%rip), %ymm2, %ymm7
5617vpor %ymm7, %ymm3, %ymm3
5618vpaddw %ymm3, %ymm6, %ymm6
5619vmovdqa %xmm2, 2432(%r8)
5620vpshufb shuf48_16(%rip), %ymm5, %ymm5
5621vpand mask3_5_3_5(%rip), %ymm5, %ymm2
5622vpand mask5_3_5_3(%rip), %ymm5, %ymm5
5623vpermq $206, %ymm2, %ymm2
5624vpand mask_keephigh(%rip), %ymm2, %ymm7
5625vpor %ymm7, %ymm5, %ymm5
5626vpaddw %ymm5, %ymm9, %ymm9
5627vmovdqa %xmm2, 2688(%r8)
5628vpand mask_mod8192(%rip), %ymm11, %ymm11
5629vmovdqu %ymm11, 352(%rdi)
5630vpand mask_mod8192(%rip), %ymm6, %ymm6
5631vmovdqu %ymm6, 704(%rdi)
5632vpand mask_mod8192(%rip), %ymm9, %ymm9
5633vmovdqu %ymm9, 1056(%rdi)
5634vmovdqa 160(%r8), %ymm5
5635vpunpcklwd const0(%rip), %ymm5, %ymm3
5636vpunpckhwd const0(%rip), %ymm5, %ymm4
5637vpslld $1, %ymm3, %ymm3
5638vpslld $1, %ymm4, %ymm4
5639vmovdqa 416(%r8), %ymm10
5640vpunpcklwd const0(%rip), %ymm10, %ymm9
5641vpunpckhwd const0(%rip), %ymm10, %ymm10
5642vmovdqa 672(%r8), %ymm6
5643vpunpcklwd const0(%rip), %ymm6, %ymm11
5644vpunpckhwd const0(%rip), %ymm6, %ymm6
5645vpaddd %ymm11, %ymm9, %ymm2
5646vpaddd %ymm6, %ymm10, %ymm7
5647vpsubd %ymm3, %ymm2, %ymm2
5648vpsubd %ymm4, %ymm7, %ymm7
5649vpsubd %ymm11, %ymm9, %ymm11
5650vpsubd %ymm6, %ymm10, %ymm6
5651vpsrld $1, %ymm11, %ymm11
5652vpsrld $1, %ymm6, %ymm6
5653vpand mask32_to_16(%rip), %ymm11, %ymm11
5654vpand mask32_to_16(%rip), %ymm6, %ymm6
5655vpackusdw %ymm6, %ymm11, %ymm6
5656vmovdqa 1696(%r8), %ymm11
5657vpunpcklwd const0(%rip), %ymm11, %ymm10
5658vpunpckhwd const0(%rip), %ymm11, %ymm9
5659vpslld $1, %ymm10, %ymm10
5660vpslld $1, %ymm9, %ymm9
5661vpsubd %ymm10, %ymm2, %ymm2
5662vpsubd %ymm9, %ymm7, %ymm7
5663vpsrld $1, %ymm2, %ymm2
5664vpsrld $1, %ymm7, %ymm7
5665vpand mask32_to_16(%rip), %ymm2, %ymm2
5666vpand mask32_to_16(%rip), %ymm7, %ymm7
5667vpackusdw %ymm7, %ymm2, %ymm7
5668vmovdqa 928(%r8), %ymm2
5669vpaddw 1184(%r8), %ymm2, %ymm9
5670vpsubw 1184(%r8), %ymm2, %ymm2
5671vpsrlw $2, %ymm2, %ymm2
5672vpsubw %ymm6, %ymm2, %ymm2
5673vpmullw %ymm14, %ymm2, %ymm2
5674vpsllw $1, %ymm5, %ymm10
5675vpsubw %ymm10, %ymm9, %ymm10
5676vpsllw $7, %ymm11, %ymm9
5677vpsubw %ymm9, %ymm10, %ymm9
5678vpsrlw $3, %ymm9, %ymm9
5679vpsubw %ymm7, %ymm9, %ymm9
5680vmovdqa 1440(%r8), %ymm10
5681vpsubw %ymm5, %ymm10, %ymm10
5682vpmullw %ymm15, %ymm11, %ymm4
5683vpsubw %ymm4, %ymm10, %ymm4
5684vpmullw %ymm14, %ymm9, %ymm9
5685vpsubw %ymm9, %ymm7, %ymm7
5686vpmullw %ymm12, %ymm9, %ymm10
5687vpaddw %ymm10, %ymm7, %ymm10
5688vpmullw %ymm12, %ymm10, %ymm10
5689vpsubw %ymm10, %ymm4, %ymm10
5690vpmullw %ymm14, %ymm10, %ymm10
5691vpsubw %ymm6, %ymm10, %ymm10
5692vpsrlw $3, %ymm10, %ymm10
5693vpsubw %ymm2, %ymm10, %ymm10
5694vpsubw %ymm10, %ymm2, %ymm2
5695vpsubw %ymm2, %ymm6, %ymm6
5696vpmullw %ymm13, %ymm10, %ymm10
5697vpsubw %ymm10, %ymm6, %ymm6
5698vmovdqu 440(%rdi), %ymm4
5699vmovdqu 792(%rdi), %ymm3
5700vmovdqu 1144(%rdi), %ymm8
5701vpaddw %ymm5, %ymm4, %ymm5
5702vpaddw %ymm6, %ymm3, %ymm6
5703vpaddw %ymm7, %ymm8, %ymm7
5704vpshufb shuf48_16(%rip), %ymm2, %ymm2
5705vpand mask3_5_3_5(%rip), %ymm2, %ymm8
5706vpand mask5_3_5_3(%rip), %ymm2, %ymm2
5707vpermq $206, %ymm8, %ymm8
5708vpand mask_keephigh(%rip), %ymm8, %ymm3
5709vpor %ymm3, %ymm2, %ymm2
5710vmovdqu 88(%rdi), %ymm3
5711vpaddw %ymm2, %ymm3, %ymm3
5712vpand mask_mod8192(%rip), %ymm3, %ymm3
5713vmovdqu %ymm3, 88(%rdi)
5714vmovdqa %xmm8, 1952(%r8)
5715vpshufb shuf48_16(%rip), %ymm9, %ymm9
5716vpand mask3_5_3_5(%rip), %ymm9, %ymm8
5717vpand mask5_3_5_3(%rip), %ymm9, %ymm9
5718vpermq $206, %ymm8, %ymm8
5719vpand mask_keephigh(%rip), %ymm8, %ymm3
5720vpor %ymm3, %ymm9, %ymm9
5721vpaddw %ymm9, %ymm5, %ymm5
5722vmovdqa %xmm8, 2208(%r8)
5723vpshufb shuf48_16(%rip), %ymm10, %ymm10
5724vpand mask3_5_3_5(%rip), %ymm10, %ymm8
5725vpand mask5_3_5_3(%rip), %ymm10, %ymm10
5726vpermq $206, %ymm8, %ymm8
5727vpand mask_keephigh(%rip), %ymm8, %ymm3
5728vpor %ymm3, %ymm10, %ymm10
5729vpaddw %ymm10, %ymm6, %ymm6
5730vmovdqa %xmm8, 2464(%r8)
5731vpshufb shuf48_16(%rip), %ymm11, %ymm11
5732vpand mask3_5_3_5(%rip), %ymm11, %ymm8
5733vpand mask5_3_5_3(%rip), %ymm11, %ymm11
5734vpermq $206, %ymm8, %ymm8
5735vpand mask_keephigh(%rip), %ymm8, %ymm3
5736vpor %ymm3, %ymm11, %ymm11
5737vpaddw %ymm11, %ymm7, %ymm7
5738vmovdqa %xmm8, 2720(%r8)
5739vpand mask_mod8192(%rip), %ymm5, %ymm5
5740vmovdqu %ymm5, 440(%rdi)
5741vpand mask_mod8192(%rip), %ymm6, %ymm6
5742vmovdqu %ymm6, 792(%rdi)
5743vpand mask_mod8192(%rip), %ymm7, %ymm7
5744vmovdqu %ymm7, 1144(%rdi)
5745vmovdqa 192(%r8), %ymm11
5746vpunpcklwd const0(%rip), %ymm11, %ymm10
5747vpunpckhwd const0(%rip), %ymm11, %ymm9
5748vpslld $1, %ymm10, %ymm10
5749vpslld $1, %ymm9, %ymm9
5750vmovdqa 448(%r8), %ymm2
5751vpunpcklwd const0(%rip), %ymm2, %ymm7
5752vpunpckhwd const0(%rip), %ymm2, %ymm2
5753vmovdqa 704(%r8), %ymm6
5754vpunpcklwd const0(%rip), %ymm6, %ymm5
5755vpunpckhwd const0(%rip), %ymm6, %ymm6
5756vpaddd %ymm5, %ymm7, %ymm8
5757vpaddd %ymm6, %ymm2, %ymm3
5758vpsubd %ymm10, %ymm8, %ymm8
5759vpsubd %ymm9, %ymm3, %ymm3
5760vpsubd %ymm5, %ymm7, %ymm5
5761vpsubd %ymm6, %ymm2, %ymm6
5762vpsrld $1, %ymm5, %ymm5
5763vpsrld $1, %ymm6, %ymm6
5764vpand mask32_to_16(%rip), %ymm5, %ymm5
5765vpand mask32_to_16(%rip), %ymm6, %ymm6
5766vpackusdw %ymm6, %ymm5, %ymm6
5767vmovdqa 1728(%r8), %ymm5
5768vpunpcklwd const0(%rip), %ymm5, %ymm2
5769vpunpckhwd const0(%rip), %ymm5, %ymm7
5770vpslld $1, %ymm2, %ymm2
5771vpslld $1, %ymm7, %ymm7
5772vpsubd %ymm2, %ymm8, %ymm8
5773vpsubd %ymm7, %ymm3, %ymm3
5774vpsrld $1, %ymm8, %ymm8
5775vpsrld $1, %ymm3, %ymm3
5776vpand mask32_to_16(%rip), %ymm8, %ymm8
5777vpand mask32_to_16(%rip), %ymm3, %ymm3
5778vpackusdw %ymm3, %ymm8, %ymm3
5779vmovdqa 960(%r8), %ymm8
5780vpaddw 1216(%r8), %ymm8, %ymm7
5781vpsubw 1216(%r8), %ymm8, %ymm8
5782vpsrlw $2, %ymm8, %ymm8
5783vpsubw %ymm6, %ymm8, %ymm8
5784vpmullw %ymm14, %ymm8, %ymm8
5785vpsllw $1, %ymm11, %ymm2
5786vpsubw %ymm2, %ymm7, %ymm2
5787vpsllw $7, %ymm5, %ymm7
5788vpsubw %ymm7, %ymm2, %ymm7
5789vpsrlw $3, %ymm7, %ymm7
5790vpsubw %ymm3, %ymm7, %ymm7
5791vmovdqa 1472(%r8), %ymm2
5792vpsubw %ymm11, %ymm2, %ymm2
5793vpmullw %ymm15, %ymm5, %ymm9
5794vpsubw %ymm9, %ymm2, %ymm9
5795vpmullw %ymm14, %ymm7, %ymm7
5796vpsubw %ymm7, %ymm3, %ymm3
5797vpmullw %ymm12, %ymm7, %ymm2
5798vpaddw %ymm2, %ymm3, %ymm2
5799vpmullw %ymm12, %ymm2, %ymm2
5800vpsubw %ymm2, %ymm9, %ymm2
5801vpmullw %ymm14, %ymm2, %ymm2
5802vpsubw %ymm6, %ymm2, %ymm2
5803vpsrlw $3, %ymm2, %ymm2
5804vpsubw %ymm8, %ymm2, %ymm2
5805vpsubw %ymm2, %ymm8, %ymm8
5806vpsubw %ymm8, %ymm6, %ymm6
5807vpmullw %ymm13, %ymm2, %ymm2
5808vpsubw %ymm2, %ymm6, %ymm6
5809vmovdqu 528(%rdi), %ymm9
5810vmovdqu 880(%rdi), %ymm10
5811vmovdqu 1232(%rdi), %ymm4
5812vpaddw %ymm11, %ymm9, %ymm11
5813vpaddw %ymm6, %ymm10, %ymm6
5814vpaddw %ymm3, %ymm4, %ymm3
5815vpshufb shuf48_16(%rip), %ymm8, %ymm8
5816vpand mask3_5_3_5(%rip), %ymm8, %ymm4
5817vpand mask5_3_5_3(%rip), %ymm8, %ymm8
5818vpermq $206, %ymm4, %ymm4
5819vpand mask_keephigh(%rip), %ymm4, %ymm10
5820vpor %ymm10, %ymm8, %ymm8
5821vmovdqu 176(%rdi), %ymm10
5822vpaddw %ymm8, %ymm10, %ymm10
5823vpand mask_mod8192(%rip), %ymm10, %ymm10
5824vmovdqu %ymm10, 176(%rdi)
5825vmovdqa %xmm4, 1984(%r8)
5826vpshufb shuf48_16(%rip), %ymm7, %ymm7
5827vpand mask3_5_3_5(%rip), %ymm7, %ymm4
5828vpand mask5_3_5_3(%rip), %ymm7, %ymm7
5829vpermq $206, %ymm4, %ymm4
5830vpand mask_keephigh(%rip), %ymm4, %ymm10
5831vpor %ymm10, %ymm7, %ymm7
5832vpaddw %ymm7, %ymm11, %ymm11
5833vmovdqa %xmm4, 2240(%r8)
5834vpshufb shuf48_16(%rip), %ymm2, %ymm2
5835vpand mask3_5_3_5(%rip), %ymm2, %ymm4
5836vpand mask5_3_5_3(%rip), %ymm2, %ymm2
5837vpermq $206, %ymm4, %ymm4
5838vpand mask_keephigh(%rip), %ymm4, %ymm10
5839vpor %ymm10, %ymm2, %ymm2
5840vpaddw %ymm2, %ymm6, %ymm6
5841vmovdqa %xmm4, 2496(%r8)
5842vpshufb shuf48_16(%rip), %ymm5, %ymm5
5843vpand mask3_5_3_5(%rip), %ymm5, %ymm4
5844vpand mask5_3_5_3(%rip), %ymm5, %ymm5
5845vpermq $206, %ymm4, %ymm4
5846vpand mask_keephigh(%rip), %ymm4, %ymm10
5847vpor %ymm10, %ymm5, %ymm5
5848vpaddw %ymm5, %ymm3, %ymm3
5849vmovdqa %xmm4, 2752(%r8)
5850vpand mask_mod8192(%rip), %ymm11, %ymm11
5851vmovdqu %ymm11, 528(%rdi)
5852vpand mask_mod8192(%rip), %ymm6, %ymm6
5853vmovdqu %ymm6, 880(%rdi)
5854vpand mask_mod8192(%rip), %ymm3, %ymm3
5855vmovdqu %ymm3, 1232(%rdi)
5856vmovdqa 224(%r8), %ymm5
5857vpunpcklwd const0(%rip), %ymm5, %ymm2
5858vpunpckhwd const0(%rip), %ymm5, %ymm7
5859vpslld $1, %ymm2, %ymm2
5860vpslld $1, %ymm7, %ymm7
5861vmovdqa 480(%r8), %ymm8
5862vpunpcklwd const0(%rip), %ymm8, %ymm3
5863vpunpckhwd const0(%rip), %ymm8, %ymm8
5864vmovdqa 736(%r8), %ymm6
5865vpunpcklwd const0(%rip), %ymm6, %ymm11
5866vpunpckhwd const0(%rip), %ymm6, %ymm6
5867vpaddd %ymm11, %ymm3, %ymm4
5868vpaddd %ymm6, %ymm8, %ymm10
5869vpsubd %ymm2, %ymm4, %ymm4
5870vpsubd %ymm7, %ymm10, %ymm10
5871vpsubd %ymm11, %ymm3, %ymm11
5872vpsubd %ymm6, %ymm8, %ymm6
5873vpsrld $1, %ymm11, %ymm11
5874vpsrld $1, %ymm6, %ymm6
5875vpand mask32_to_16(%rip), %ymm11, %ymm11
5876vpand mask32_to_16(%rip), %ymm6, %ymm6
5877vpackusdw %ymm6, %ymm11, %ymm6
5878vmovdqa 1760(%r8), %ymm11
5879vpunpcklwd const0(%rip), %ymm11, %ymm8
5880vpunpckhwd const0(%rip), %ymm11, %ymm3
5881vpslld $1, %ymm8, %ymm8
5882vpslld $1, %ymm3, %ymm3
5883vpsubd %ymm8, %ymm4, %ymm4
5884vpsubd %ymm3, %ymm10, %ymm10
5885vpsrld $1, %ymm4, %ymm4
5886vpsrld $1, %ymm10, %ymm10
5887vpand mask32_to_16(%rip), %ymm4, %ymm4
5888vpand mask32_to_16(%rip), %ymm10, %ymm10
5889vpackusdw %ymm10, %ymm4, %ymm10
5890vmovdqa 992(%r8), %ymm4
5891vpaddw 1248(%r8), %ymm4, %ymm3
5892vpsubw 1248(%r8), %ymm4, %ymm4
5893vpsrlw $2, %ymm4, %ymm4
5894vpsubw %ymm6, %ymm4, %ymm4
5895vpmullw %ymm14, %ymm4, %ymm4
5896vpsllw $1, %ymm5, %ymm8
5897vpsubw %ymm8, %ymm3, %ymm8
5898vpsllw $7, %ymm11, %ymm3
5899vpsubw %ymm3, %ymm8, %ymm3
5900vpsrlw $3, %ymm3, %ymm3
5901vpsubw %ymm10, %ymm3, %ymm3
5902vmovdqa 1504(%r8), %ymm8
5903vpsubw %ymm5, %ymm8, %ymm8
5904vpmullw %ymm15, %ymm11, %ymm7
5905vpsubw %ymm7, %ymm8, %ymm7
5906vpmullw %ymm14, %ymm3, %ymm3
5907vpsubw %ymm3, %ymm10, %ymm10
5908vpmullw %ymm12, %ymm3, %ymm8
5909vpaddw %ymm8, %ymm10, %ymm8
5910vpmullw %ymm12, %ymm8, %ymm8
5911vpsubw %ymm8, %ymm7, %ymm8
5912vpmullw %ymm14, %ymm8, %ymm8
5913vpsubw %ymm6, %ymm8, %ymm8
5914vpsrlw $3, %ymm8, %ymm8
5915vpsubw %ymm4, %ymm8, %ymm8
5916vpsubw %ymm8, %ymm4, %ymm4
5917vpsubw %ymm4, %ymm6, %ymm6
5918vpmullw %ymm13, %ymm8, %ymm8
5919vpsubw %ymm8, %ymm6, %ymm6
5920vmovdqu 616(%rdi), %ymm7
5921vmovdqu 968(%rdi), %ymm2
5922vmovdqu 1320(%rdi), %ymm9
5923vpaddw %ymm5, %ymm7, %ymm5
5924vpaddw %ymm6, %ymm2, %ymm6
5925vpaddw %ymm10, %ymm9, %ymm10
5926vpshufb shuf48_16(%rip), %ymm4, %ymm4
5927vpand mask3_5_3_5(%rip), %ymm4, %ymm9
5928vpand mask5_3_5_3(%rip), %ymm4, %ymm4
5929vpermq $206, %ymm9, %ymm9
5930vpand mask_keephigh(%rip), %ymm9, %ymm2
5931vpor %ymm2, %ymm4, %ymm4
5932vmovdqu 264(%rdi), %ymm2
5933vpaddw %ymm4, %ymm2, %ymm2
5934vpand mask_mod8192(%rip), %ymm2, %ymm2
5935vmovdqu %ymm2, 264(%rdi)
5936vmovdqa %xmm9, 2016(%r8)
5937vpshufb shuf48_16(%rip), %ymm3, %ymm3
5938vpand mask3_5_3_5(%rip), %ymm3, %ymm9
5939vpand mask5_3_5_3(%rip), %ymm3, %ymm3
5940vpermq $206, %ymm9, %ymm9
5941vpand mask_keephigh(%rip), %ymm9, %ymm2
5942vpor %ymm2, %ymm3, %ymm3
5943vpaddw %ymm3, %ymm5, %ymm5
5944vmovdqa %xmm9, 2272(%r8)
5945vpshufb shuf48_16(%rip), %ymm8, %ymm8
5946vpand mask3_5_3_5(%rip), %ymm8, %ymm9
5947vpand mask5_3_5_3(%rip), %ymm8, %ymm8
5948vpermq $206, %ymm9, %ymm9
5949vpand mask_keephigh(%rip), %ymm9, %ymm2
5950vpor %ymm2, %ymm8, %ymm8
5951vpaddw %ymm8, %ymm6, %ymm6
5952vmovdqa %xmm9, 2528(%r8)
5953vpshufb shuf48_16(%rip), %ymm11, %ymm11
5954vpand mask3_5_3_5(%rip), %ymm11, %ymm9
5955vpand mask5_3_5_3(%rip), %ymm11, %ymm11
5956vpermq $206, %ymm9, %ymm9
5957vpand mask_keephigh(%rip), %ymm9, %ymm2
5958vpor %ymm2, %ymm11, %ymm11
5959vpaddw %ymm11, %ymm10, %ymm10
5960vmovdqa %xmm9, 2784(%r8)
5961vpand mask_mod8192(%rip), %ymm5, %ymm5
5962vmovdqu %ymm5, 616(%rdi)
5963vpand mask_mod8192(%rip), %ymm6, %ymm6
5964vmovdqu %ymm6, 968(%rdi)
5965vpand mask_mod8192(%rip), %ymm10, %ymm10
5966vmovdqu %ymm10, 1320(%rdi)
5967vmovdqa 128(%r12), %ymm0
5968vpsubw 224(%r12), %ymm0, %ymm0
5969vmovdqa 512(%r12), %ymm1
5970vpsubw %ymm0, %ymm1, %ymm1
5971vpsubw 320(%r12), %ymm1, %ymm1
5972vpsubw 32(%r12), %ymm0, %ymm0
5973vpaddw 416(%r12), %ymm0, %ymm0
5974vmovdqa 704(%r12), %ymm2
5975vpsubw 800(%r12), %ymm2, %ymm2
5976vmovdqa 1088(%r12), %ymm3
5977vpsubw %ymm2, %ymm3, %ymm3
5978vpsubw 896(%r12), %ymm3, %ymm3
5979vpsubw 608(%r12), %ymm2, %ymm2
5980vpaddw 992(%r12), %ymm2, %ymm2
5981vmovdqa 1280(%r12), %ymm4
5982vpsubw 1376(%r12), %ymm4, %ymm4
5983vmovdqa 1664(%r12), %ymm5
5984vpsubw %ymm4, %ymm5, %ymm5
5985vpsubw 1472(%r12), %ymm5, %ymm5
5986vpsubw 1184(%r12), %ymm4, %ymm4
5987vpaddw 1568(%r12), %ymm4, %ymm4
5988vpsubw 608(%r12), %ymm1, %ymm1
5989vpsubw %ymm1, %ymm5, %ymm5
5990vpsubw %ymm3, %ymm5, %ymm5
5991vpsubw 32(%r12), %ymm1, %ymm1
5992vpaddw 1184(%r12), %ymm1, %ymm1
5993vmovdqa 320(%r12), %ymm6
5994vpsubw %ymm2, %ymm6, %ymm7
5995vmovdqa 1472(%r12), %ymm2
5996vpsubw %ymm7, %ymm2, %ymm2
5997vpsubw 896(%r12), %ymm2, %ymm2
5998vpsubw %ymm0, %ymm7, %ymm7
5999vpaddw %ymm4, %ymm7, %ymm7
6000vmovdqa 32(%r12), %ymm8
6001vmovdqa 896(%r12), %ymm9
6002vmovdqa %ymm8, 0(%r8)
6003vmovdqa %ymm0, 32(%r8)
6004vmovdqa %ymm1, 64(%r8)
6005vmovdqa %ymm7, 96(%r8)
6006vmovdqa %ymm5, 128(%r8)
6007vmovdqa %ymm2, 160(%r8)
6008vmovdqa %ymm3, 192(%r8)
6009vmovdqa %ymm9, 224(%r8)
6010vmovdqa 1856(%r12), %ymm0
6011vpsubw 1952(%r12), %ymm0, %ymm0
6012vmovdqa 2240(%r12), %ymm1
6013vpsubw %ymm0, %ymm1, %ymm1
6014vpsubw 2048(%r12), %ymm1, %ymm1
6015vpsubw 1760(%r12), %ymm0, %ymm0
6016vpaddw 2144(%r12), %ymm0, %ymm0
6017vmovdqa 2432(%r12), %ymm2
6018vpsubw 2528(%r12), %ymm2, %ymm2
6019vmovdqa 2816(%r12), %ymm3
6020vpsubw %ymm2, %ymm3, %ymm3
6021vpsubw 2624(%r12), %ymm3, %ymm3
6022vpsubw 2336(%r12), %ymm2, %ymm2
6023vpaddw 2720(%r12), %ymm2, %ymm2
6024vmovdqa 3008(%r12), %ymm4
6025vpsubw 3104(%r12), %ymm4, %ymm4
6026vmovdqa 3392(%r12), %ymm5
6027vpsubw %ymm4, %ymm5, %ymm5
6028vpsubw 3200(%r12), %ymm5, %ymm5
6029vpsubw 2912(%r12), %ymm4, %ymm4
6030vpaddw 3296(%r12), %ymm4, %ymm4
6031vpsubw 2336(%r12), %ymm1, %ymm1
6032vpsubw %ymm1, %ymm5, %ymm5
6033vpsubw %ymm3, %ymm5, %ymm5
6034vpsubw 1760(%r12), %ymm1, %ymm1
6035vpaddw 2912(%r12), %ymm1, %ymm1
6036vmovdqa 2048(%r12), %ymm6
6037vpsubw %ymm2, %ymm6, %ymm7
6038vmovdqa 3200(%r12), %ymm2
6039vpsubw %ymm7, %ymm2, %ymm2
6040vpsubw 2624(%r12), %ymm2, %ymm2
6041vpsubw %ymm0, %ymm7, %ymm7
6042vpaddw %ymm4, %ymm7, %ymm7
6043vmovdqa 1760(%r12), %ymm8
6044vmovdqa 2624(%r12), %ymm9
6045vmovdqa %ymm8, 256(%r8)
6046vmovdqa %ymm0, 288(%r8)
6047vmovdqa %ymm1, 320(%r8)
6048vmovdqa %ymm7, 352(%r8)
6049vmovdqa %ymm5, 384(%r8)
6050vmovdqa %ymm2, 416(%r8)
6051vmovdqa %ymm3, 448(%r8)
6052vmovdqa %ymm9, 480(%r8)
6053vmovdqa 3584(%r12), %ymm0
6054vpsubw 3680(%r12), %ymm0, %ymm0
6055vmovdqa 3968(%r12), %ymm1
6056vpsubw %ymm0, %ymm1, %ymm1
6057vpsubw 3776(%r12), %ymm1, %ymm1
6058vpsubw 3488(%r12), %ymm0, %ymm0
6059vpaddw 3872(%r12), %ymm0, %ymm0
6060vmovdqa 4160(%r12), %ymm2
6061vpsubw 4256(%r12), %ymm2, %ymm2
6062vmovdqa 4544(%r12), %ymm3
6063vpsubw %ymm2, %ymm3, %ymm3
6064vpsubw 4352(%r12), %ymm3, %ymm3
6065vpsubw 4064(%r12), %ymm2, %ymm2
6066vpaddw 4448(%r12), %ymm2, %ymm2
6067vmovdqa 4736(%r12), %ymm4
6068vpsubw 4832(%r12), %ymm4, %ymm4
6069vmovdqa 5120(%r12), %ymm5
6070vpsubw %ymm4, %ymm5, %ymm5
6071vpsubw 4928(%r12), %ymm5, %ymm5
6072vpsubw 4640(%r12), %ymm4, %ymm4
6073vpaddw 5024(%r12), %ymm4, %ymm4
6074vpsubw 4064(%r12), %ymm1, %ymm1
6075vpsubw %ymm1, %ymm5, %ymm5
6076vpsubw %ymm3, %ymm5, %ymm5
6077vpsubw 3488(%r12), %ymm1, %ymm1
6078vpaddw 4640(%r12), %ymm1, %ymm1
6079vmovdqa 3776(%r12), %ymm6
6080vpsubw %ymm2, %ymm6, %ymm7
6081vmovdqa 4928(%r12), %ymm2
6082vpsubw %ymm7, %ymm2, %ymm2
6083vpsubw 4352(%r12), %ymm2, %ymm2
6084vpsubw %ymm0, %ymm7, %ymm7
6085vpaddw %ymm4, %ymm7, %ymm7
6086vmovdqa 3488(%r12), %ymm8
6087vmovdqa 4352(%r12), %ymm9
6088vmovdqa %ymm8, 512(%r8)
6089vmovdqa %ymm0, 544(%r8)
6090vmovdqa %ymm1, 576(%r8)
6091vmovdqa %ymm7, 608(%r8)
6092vmovdqa %ymm5, 640(%r8)
6093vmovdqa %ymm2, 672(%r8)
6094vmovdqa %ymm3, 704(%r8)
6095vmovdqa %ymm9, 736(%r8)
6096vmovdqa 5312(%r12), %ymm0
6097vpsubw 5408(%r12), %ymm0, %ymm0
6098vmovdqa 5696(%r12), %ymm1
6099vpsubw %ymm0, %ymm1, %ymm1
6100vpsubw 5504(%r12), %ymm1, %ymm1
6101vpsubw 5216(%r12), %ymm0, %ymm0
6102vpaddw 5600(%r12), %ymm0, %ymm0
6103vmovdqa 5888(%r12), %ymm2
6104vpsubw 5984(%r12), %ymm2, %ymm2
6105vmovdqa 6272(%r12), %ymm3
6106vpsubw %ymm2, %ymm3, %ymm3
6107vpsubw 6080(%r12), %ymm3, %ymm3
6108vpsubw 5792(%r12), %ymm2, %ymm2
6109vpaddw 6176(%r12), %ymm2, %ymm2
6110vmovdqa 6464(%r12), %ymm4
6111vpsubw 6560(%r12), %ymm4, %ymm4
6112vmovdqa 6848(%r12), %ymm5
6113vpsubw %ymm4, %ymm5, %ymm5
6114vpsubw 6656(%r12), %ymm5, %ymm5
6115vpsubw 6368(%r12), %ymm4, %ymm4
6116vpaddw 6752(%r12), %ymm4, %ymm4
6117vpsubw 5792(%r12), %ymm1, %ymm1
6118vpsubw %ymm1, %ymm5, %ymm5
6119vpsubw %ymm3, %ymm5, %ymm5
6120vpsubw 5216(%r12), %ymm1, %ymm1
6121vpaddw 6368(%r12), %ymm1, %ymm1
6122vmovdqa 5504(%r12), %ymm6
6123vpsubw %ymm2, %ymm6, %ymm7
6124vmovdqa 6656(%r12), %ymm2
6125vpsubw %ymm7, %ymm2, %ymm2
6126vpsubw 6080(%r12), %ymm2, %ymm2
6127vpsubw %ymm0, %ymm7, %ymm7
6128vpaddw %ymm4, %ymm7, %ymm7
6129vmovdqa 5216(%r12), %ymm8
6130vmovdqa 6080(%r12), %ymm9
6131vmovdqa %ymm8, 768(%r8)
6132vmovdqa %ymm0, 800(%r8)
6133vmovdqa %ymm1, 832(%r8)
6134vmovdqa %ymm7, 864(%r8)
6135vmovdqa %ymm5, 896(%r8)
6136vmovdqa %ymm2, 928(%r8)
6137vmovdqa %ymm3, 960(%r8)
6138vmovdqa %ymm9, 992(%r8)
6139vmovdqa 7040(%r12), %ymm0
6140vpsubw 7136(%r12), %ymm0, %ymm0
6141vmovdqa 7424(%r12), %ymm1
6142vpsubw %ymm0, %ymm1, %ymm1
6143vpsubw 7232(%r12), %ymm1, %ymm1
6144vpsubw 6944(%r12), %ymm0, %ymm0
6145vpaddw 7328(%r12), %ymm0, %ymm0
6146vmovdqa 7616(%r12), %ymm2
6147vpsubw 7712(%r12), %ymm2, %ymm2
6148vmovdqa 8000(%r12), %ymm3
6149vpsubw %ymm2, %ymm3, %ymm3
6150vpsubw 7808(%r12), %ymm3, %ymm3
6151vpsubw 7520(%r12), %ymm2, %ymm2
6152vpaddw 7904(%r12), %ymm2, %ymm2
6153vmovdqa 8192(%r12), %ymm4
6154vpsubw 8288(%r12), %ymm4, %ymm4
6155vmovdqa 8576(%r12), %ymm5
6156vpsubw %ymm4, %ymm5, %ymm5
6157vpsubw 8384(%r12), %ymm5, %ymm5
6158vpsubw 8096(%r12), %ymm4, %ymm4
6159vpaddw 8480(%r12), %ymm4, %ymm4
6160vpsubw 7520(%r12), %ymm1, %ymm1
6161vpsubw %ymm1, %ymm5, %ymm5
6162vpsubw %ymm3, %ymm5, %ymm5
6163vpsubw 6944(%r12), %ymm1, %ymm1
6164vpaddw 8096(%r12), %ymm1, %ymm1
6165vmovdqa 7232(%r12), %ymm6
6166vpsubw %ymm2, %ymm6, %ymm7
6167vmovdqa 8384(%r12), %ymm2
6168vpsubw %ymm7, %ymm2, %ymm2
6169vpsubw 7808(%r12), %ymm2, %ymm2
6170vpsubw %ymm0, %ymm7, %ymm7
6171vpaddw %ymm4, %ymm7, %ymm7
6172vmovdqa 6944(%r12), %ymm8
6173vmovdqa 7808(%r12), %ymm9
6174vmovdqa %ymm8, 1024(%r8)
6175vmovdqa %ymm0, 1056(%r8)
6176vmovdqa %ymm1, 1088(%r8)
6177vmovdqa %ymm7, 1120(%r8)
6178vmovdqa %ymm5, 1152(%r8)
6179vmovdqa %ymm2, 1184(%r8)
6180vmovdqa %ymm3, 1216(%r8)
6181vmovdqa %ymm9, 1248(%r8)
6182vmovdqa 8768(%r12), %ymm0
6183vpsubw 8864(%r12), %ymm0, %ymm0
6184vmovdqa 9152(%r12), %ymm1
6185vpsubw %ymm0, %ymm1, %ymm1
6186vpsubw 8960(%r12), %ymm1, %ymm1
6187vpsubw 8672(%r12), %ymm0, %ymm0
6188vpaddw 9056(%r12), %ymm0, %ymm0
6189vmovdqa 9344(%r12), %ymm2
6190vpsubw 9440(%r12), %ymm2, %ymm2
6191vmovdqa 9728(%r12), %ymm3
6192vpsubw %ymm2, %ymm3, %ymm3
6193vpsubw 9536(%r12), %ymm3, %ymm3
6194vpsubw 9248(%r12), %ymm2, %ymm2
6195vpaddw 9632(%r12), %ymm2, %ymm2
6196vmovdqa 9920(%r12), %ymm4
6197vpsubw 10016(%r12), %ymm4, %ymm4
6198vmovdqa 10304(%r12), %ymm5
6199vpsubw %ymm4, %ymm5, %ymm5
6200vpsubw 10112(%r12), %ymm5, %ymm5
6201vpsubw 9824(%r12), %ymm4, %ymm4
6202vpaddw 10208(%r12), %ymm4, %ymm4
6203vpsubw 9248(%r12), %ymm1, %ymm1
6204vpsubw %ymm1, %ymm5, %ymm5
6205vpsubw %ymm3, %ymm5, %ymm5
6206vpsubw 8672(%r12), %ymm1, %ymm1
6207vpaddw 9824(%r12), %ymm1, %ymm1
6208vmovdqa 8960(%r12), %ymm6
6209vpsubw %ymm2, %ymm6, %ymm7
6210vmovdqa 10112(%r12), %ymm2
6211vpsubw %ymm7, %ymm2, %ymm2
6212vpsubw 9536(%r12), %ymm2, %ymm2
6213vpsubw %ymm0, %ymm7, %ymm7
6214vpaddw %ymm4, %ymm7, %ymm7
6215vmovdqa 8672(%r12), %ymm8
6216vmovdqa 9536(%r12), %ymm9
6217vmovdqa %ymm8, 1280(%r8)
6218vmovdqa %ymm0, 1312(%r8)
6219vmovdqa %ymm1, 1344(%r8)
6220vmovdqa %ymm7, 1376(%r8)
6221vmovdqa %ymm5, 1408(%r8)
6222vmovdqa %ymm2, 1440(%r8)
6223vmovdqa %ymm3, 1472(%r8)
6224vmovdqa %ymm9, 1504(%r8)
6225vmovdqa 10496(%r12), %ymm0
6226vpsubw 10592(%r12), %ymm0, %ymm0
6227vmovdqa 10880(%r12), %ymm1
6228vpsubw %ymm0, %ymm1, %ymm1
6229vpsubw 10688(%r12), %ymm1, %ymm1
6230vpsubw 10400(%r12), %ymm0, %ymm0
6231vpaddw 10784(%r12), %ymm0, %ymm0
6232vmovdqa 11072(%r12), %ymm2
6233vpsubw 11168(%r12), %ymm2, %ymm2
6234vmovdqa 11456(%r12), %ymm3
6235vpsubw %ymm2, %ymm3, %ymm3
6236vpsubw 11264(%r12), %ymm3, %ymm3
6237vpsubw 10976(%r12), %ymm2, %ymm2
6238vpaddw 11360(%r12), %ymm2, %ymm2
6239vmovdqa 11648(%r12), %ymm4
6240vpsubw 11744(%r12), %ymm4, %ymm4
6241vmovdqa 12032(%r12), %ymm5
6242vpsubw %ymm4, %ymm5, %ymm5
6243vpsubw 11840(%r12), %ymm5, %ymm5
6244vpsubw 11552(%r12), %ymm4, %ymm4
6245vpaddw 11936(%r12), %ymm4, %ymm4
6246vpsubw 10976(%r12), %ymm1, %ymm1
6247vpsubw %ymm1, %ymm5, %ymm5
6248vpsubw %ymm3, %ymm5, %ymm5
6249vpsubw 10400(%r12), %ymm1, %ymm1
6250vpaddw 11552(%r12), %ymm1, %ymm1
6251vmovdqa 10688(%r12), %ymm6
6252vpsubw %ymm2, %ymm6, %ymm7
6253vmovdqa 11840(%r12), %ymm2
6254vpsubw %ymm7, %ymm2, %ymm2
6255vpsubw 11264(%r12), %ymm2, %ymm2
6256vpsubw %ymm0, %ymm7, %ymm7
6257vpaddw %ymm4, %ymm7, %ymm7
6258vmovdqa 10400(%r12), %ymm8
6259vmovdqa 11264(%r12), %ymm9
6260vmovdqa %ymm8, 1536(%r8)
6261vmovdqa %ymm0, 1568(%r8)
6262vmovdqa %ymm1, 1600(%r8)
6263vmovdqa %ymm7, 1632(%r8)
6264vmovdqa %ymm5, 1664(%r8)
6265vmovdqa %ymm2, 1696(%r8)
6266vmovdqa %ymm3, 1728(%r8)
6267vmovdqa %ymm9, 1760(%r8)
6268vmovdqa 0(%r8), %ymm11
6269vpunpcklwd const0(%rip), %ymm11, %ymm8
6270vpunpckhwd const0(%rip), %ymm11, %ymm3
6271vpslld $1, %ymm8, %ymm8
6272vpslld $1, %ymm3, %ymm3
6273vmovdqa 256(%r8), %ymm4
6274vpunpcklwd const0(%rip), %ymm4, %ymm10
6275vpunpckhwd const0(%rip), %ymm4, %ymm4
6276vmovdqa 512(%r8), %ymm6
6277vpunpcklwd const0(%rip), %ymm6, %ymm5
6278vpunpckhwd const0(%rip), %ymm6, %ymm6
6279vpaddd %ymm5, %ymm10, %ymm9
6280vpaddd %ymm6, %ymm4, %ymm2
6281vpsubd %ymm8, %ymm9, %ymm9
6282vpsubd %ymm3, %ymm2, %ymm2
6283vpsubd %ymm5, %ymm10, %ymm5
6284vpsubd %ymm6, %ymm4, %ymm6
6285vpsrld $1, %ymm5, %ymm5
6286vpsrld $1, %ymm6, %ymm6
6287vpand mask32_to_16(%rip), %ymm5, %ymm5
6288vpand mask32_to_16(%rip), %ymm6, %ymm6
6289vpackusdw %ymm6, %ymm5, %ymm6
6290vmovdqa 1536(%r8), %ymm5
6291vpunpcklwd const0(%rip), %ymm5, %ymm4
6292vpunpckhwd const0(%rip), %ymm5, %ymm10
6293vpslld $1, %ymm4, %ymm4
6294vpslld $1, %ymm10, %ymm10
6295vpsubd %ymm4, %ymm9, %ymm9
6296vpsubd %ymm10, %ymm2, %ymm2
6297vpsrld $1, %ymm9, %ymm9
6298vpsrld $1, %ymm2, %ymm2
6299vpand mask32_to_16(%rip), %ymm9, %ymm9
6300vpand mask32_to_16(%rip), %ymm2, %ymm2
6301vpackusdw %ymm2, %ymm9, %ymm2
6302vmovdqa 768(%r8), %ymm9
6303vpaddw 1024(%r8), %ymm9, %ymm10
6304vpsubw 1024(%r8), %ymm9, %ymm9
6305vpsrlw $2, %ymm9, %ymm9
6306vpsubw %ymm6, %ymm9, %ymm9
6307vpmullw %ymm14, %ymm9, %ymm9
6308vpsllw $1, %ymm11, %ymm4
6309vpsubw %ymm4, %ymm10, %ymm4
6310vpsllw $7, %ymm5, %ymm10
6311vpsubw %ymm10, %ymm4, %ymm10
6312vpsrlw $3, %ymm10, %ymm10
6313vpsubw %ymm2, %ymm10, %ymm10
6314vmovdqa 1280(%r8), %ymm4
6315vpsubw %ymm11, %ymm4, %ymm4
6316vpmullw %ymm15, %ymm5, %ymm3
6317vpsubw %ymm3, %ymm4, %ymm3
6318vpmullw %ymm14, %ymm10, %ymm10
6319vpsubw %ymm10, %ymm2, %ymm2
6320vpmullw %ymm12, %ymm10, %ymm4
6321vpaddw %ymm4, %ymm2, %ymm4
6322vpmullw %ymm12, %ymm4, %ymm4
6323vpsubw %ymm4, %ymm3, %ymm4
6324vpmullw %ymm14, %ymm4, %ymm4
6325vpsubw %ymm6, %ymm4, %ymm4
6326vpsrlw $3, %ymm4, %ymm4
6327vpsubw %ymm9, %ymm4, %ymm4
6328vpsubw %ymm4, %ymm9, %ymm9
6329vpsubw %ymm9, %ymm6, %ymm6
6330vpmullw %ymm13, %ymm4, %ymm4
6331vpsubw %ymm4, %ymm6, %ymm6
6332vpshufb shuf48_16(%rip), %ymm10, %ymm10
6333vpand mask3_5_3_5(%rip), %ymm10, %ymm3
6334vpand mask5_3_5_3(%rip), %ymm10, %ymm10
6335vpermq $206, %ymm3, %ymm3
6336vpand mask_keephigh(%rip), %ymm3, %ymm8
6337vpor %ymm8, %ymm10, %ymm10
6338vpaddw 2048(%r8), %ymm11, %ymm11
6339vpaddw %ymm10, %ymm11, %ymm11
6340vmovdqa %xmm3, 2048(%r8)
6341vpshufb shuf48_16(%rip), %ymm4, %ymm4
6342vpand mask3_5_3_5(%rip), %ymm4, %ymm3
6343vpand mask5_3_5_3(%rip), %ymm4, %ymm4
6344vpermq $206, %ymm3, %ymm3
6345vpand mask_keephigh(%rip), %ymm3, %ymm8
6346vpor %ymm8, %ymm4, %ymm4
6347vpaddw 2304(%r8), %ymm6, %ymm6
6348vpaddw %ymm4, %ymm6, %ymm6
6349vmovdqa %xmm3, 2304(%r8)
6350vpshufb shuf48_16(%rip), %ymm5, %ymm5
6351vpand mask3_5_3_5(%rip), %ymm5, %ymm3
6352vpand mask5_3_5_3(%rip), %ymm5, %ymm5
6353vpermq $206, %ymm3, %ymm3
6354vpand mask_keephigh(%rip), %ymm3, %ymm8
6355vpor %ymm8, %ymm5, %ymm5
6356vpaddw 2560(%r8), %ymm2, %ymm2
6357vpaddw %ymm5, %ymm2, %ymm2
6358vmovdqa %xmm3, 2560(%r8)
6359vpand mask_mod8192(%rip), %ymm11, %ymm11
6360vmovdqu %ymm11, 32(%rdi)
6361vpand mask_mod8192(%rip), %ymm6, %ymm6
6362vmovdqu %ymm6, 384(%rdi)
6363vpand mask_mod8192(%rip), %ymm2, %ymm2
6364vmovdqu %ymm2, 736(%rdi)
6365vpand mask_mod8192(%rip), %ymm9, %ymm9
6366vmovdqu %ymm9, 1088(%rdi)
6367vmovdqa 32(%r8), %ymm5
6368vpunpcklwd const0(%rip), %ymm5, %ymm4
6369vpunpckhwd const0(%rip), %ymm5, %ymm10
6370vpslld $1, %ymm4, %ymm4
6371vpslld $1, %ymm10, %ymm10
6372vmovdqa 288(%r8), %ymm9
6373vpunpcklwd const0(%rip), %ymm9, %ymm2
6374vpunpckhwd const0(%rip), %ymm9, %ymm9
6375vmovdqa 544(%r8), %ymm6
6376vpunpcklwd const0(%rip), %ymm6, %ymm11
6377vpunpckhwd const0(%rip), %ymm6, %ymm6
6378vpaddd %ymm11, %ymm2, %ymm3
6379vpaddd %ymm6, %ymm9, %ymm8
6380vpsubd %ymm4, %ymm3, %ymm3
6381vpsubd %ymm10, %ymm8, %ymm8
6382vpsubd %ymm11, %ymm2, %ymm11
6383vpsubd %ymm6, %ymm9, %ymm6
6384vpsrld $1, %ymm11, %ymm11
6385vpsrld $1, %ymm6, %ymm6
6386vpand mask32_to_16(%rip), %ymm11, %ymm11
6387vpand mask32_to_16(%rip), %ymm6, %ymm6
6388vpackusdw %ymm6, %ymm11, %ymm6
6389vmovdqa 1568(%r8), %ymm11
6390vpunpcklwd const0(%rip), %ymm11, %ymm9
6391vpunpckhwd const0(%rip), %ymm11, %ymm2
6392vpslld $1, %ymm9, %ymm9
6393vpslld $1, %ymm2, %ymm2
6394vpsubd %ymm9, %ymm3, %ymm3
6395vpsubd %ymm2, %ymm8, %ymm8
6396vpsrld $1, %ymm3, %ymm3
6397vpsrld $1, %ymm8, %ymm8
6398vpand mask32_to_16(%rip), %ymm3, %ymm3
6399vpand mask32_to_16(%rip), %ymm8, %ymm8
6400vpackusdw %ymm8, %ymm3, %ymm8
6401vmovdqa 800(%r8), %ymm3
6402vpaddw 1056(%r8), %ymm3, %ymm2
6403vpsubw 1056(%r8), %ymm3, %ymm3
6404vpsrlw $2, %ymm3, %ymm3
6405vpsubw %ymm6, %ymm3, %ymm3
6406vpmullw %ymm14, %ymm3, %ymm3
6407vpsllw $1, %ymm5, %ymm9
6408vpsubw %ymm9, %ymm2, %ymm9
6409vpsllw $7, %ymm11, %ymm2
6410vpsubw %ymm2, %ymm9, %ymm2
6411vpsrlw $3, %ymm2, %ymm2
6412vpsubw %ymm8, %ymm2, %ymm2
6413vmovdqa 1312(%r8), %ymm9
6414vpsubw %ymm5, %ymm9, %ymm9
6415vpmullw %ymm15, %ymm11, %ymm10
6416vpsubw %ymm10, %ymm9, %ymm10
6417vpmullw %ymm14, %ymm2, %ymm2
6418vpsubw %ymm2, %ymm8, %ymm8
6419vpmullw %ymm12, %ymm2, %ymm9
6420vpaddw %ymm9, %ymm8, %ymm9
6421vpmullw %ymm12, %ymm9, %ymm9
6422vpsubw %ymm9, %ymm10, %ymm9
6423vpmullw %ymm14, %ymm9, %ymm9
6424vpsubw %ymm6, %ymm9, %ymm9
6425vpsrlw $3, %ymm9, %ymm9
6426vpsubw %ymm3, %ymm9, %ymm9
6427vpsubw %ymm9, %ymm3, %ymm3
6428vpsubw %ymm3, %ymm6, %ymm6
6429vpmullw %ymm13, %ymm9, %ymm9
6430vpsubw %ymm9, %ymm6, %ymm6
6431vpshufb shuf48_16(%rip), %ymm2, %ymm2
6432vpand mask3_5_3_5(%rip), %ymm2, %ymm10
6433vpand mask5_3_5_3(%rip), %ymm2, %ymm2
6434vpermq $206, %ymm10, %ymm10
6435vpand mask_keephigh(%rip), %ymm10, %ymm4
6436vpor %ymm4, %ymm2, %ymm2
6437vpaddw 2080(%r8), %ymm5, %ymm5
6438vpaddw %ymm2, %ymm5, %ymm5
6439vmovdqa %xmm10, 2080(%r8)
6440vpshufb shuf48_16(%rip), %ymm9, %ymm9
6441vpand mask3_5_3_5(%rip), %ymm9, %ymm10
6442vpand mask5_3_5_3(%rip), %ymm9, %ymm9
6443vpermq $206, %ymm10, %ymm10
6444vpand mask_keephigh(%rip), %ymm10, %ymm4
6445vpor %ymm4, %ymm9, %ymm9
6446vpaddw 2336(%r8), %ymm6, %ymm6
6447vpaddw %ymm9, %ymm6, %ymm6
6448vmovdqa %xmm10, 2336(%r8)
6449vpshufb shuf48_16(%rip), %ymm11, %ymm11
6450vpand mask3_5_3_5(%rip), %ymm11, %ymm10
6451vpand mask5_3_5_3(%rip), %ymm11, %ymm11
6452vpermq $206, %ymm10, %ymm10
6453vpand mask_keephigh(%rip), %ymm10, %ymm4
6454vpor %ymm4, %ymm11, %ymm11
6455vpaddw 2592(%r8), %ymm8, %ymm8
6456vpaddw %ymm11, %ymm8, %ymm8
6457vmovdqa %xmm10, 2592(%r8)
6458vpand mask_mod8192(%rip), %ymm5, %ymm5
6459vmovdqu %ymm5, 120(%rdi)
6460vpand mask_mod8192(%rip), %ymm6, %ymm6
6461vmovdqu %ymm6, 472(%rdi)
6462vpand mask_mod8192(%rip), %ymm8, %ymm8
6463vmovdqu %ymm8, 824(%rdi)
6464vpand mask_mod8192(%rip), %ymm3, %ymm3
6465vmovdqu %ymm3, 1176(%rdi)
6466vmovdqa 64(%r8), %ymm11
6467vpunpcklwd const0(%rip), %ymm11, %ymm9
6468vpunpckhwd const0(%rip), %ymm11, %ymm2
6469vpslld $1, %ymm9, %ymm9
6470vpslld $1, %ymm2, %ymm2
6471vmovdqa 320(%r8), %ymm3
6472vpunpcklwd const0(%rip), %ymm3, %ymm8
6473vpunpckhwd const0(%rip), %ymm3, %ymm3
6474vmovdqa 576(%r8), %ymm6
6475vpunpcklwd const0(%rip), %ymm6, %ymm5
6476vpunpckhwd const0(%rip), %ymm6, %ymm6
6477vpaddd %ymm5, %ymm8, %ymm10
6478vpaddd %ymm6, %ymm3, %ymm4
6479vpsubd %ymm9, %ymm10, %ymm10
6480vpsubd %ymm2, %ymm4, %ymm4
6481vpsubd %ymm5, %ymm8, %ymm5
6482vpsubd %ymm6, %ymm3, %ymm6
6483vpsrld $1, %ymm5, %ymm5
6484vpsrld $1, %ymm6, %ymm6
6485vpand mask32_to_16(%rip), %ymm5, %ymm5
6486vpand mask32_to_16(%rip), %ymm6, %ymm6
6487vpackusdw %ymm6, %ymm5, %ymm6
6488vmovdqa 1600(%r8), %ymm5
6489vpunpcklwd const0(%rip), %ymm5, %ymm3
6490vpunpckhwd const0(%rip), %ymm5, %ymm8
6491vpslld $1, %ymm3, %ymm3
6492vpslld $1, %ymm8, %ymm8
6493vpsubd %ymm3, %ymm10, %ymm10
6494vpsubd %ymm8, %ymm4, %ymm4
6495vpsrld $1, %ymm10, %ymm10
6496vpsrld $1, %ymm4, %ymm4
6497vpand mask32_to_16(%rip), %ymm10, %ymm10
6498vpand mask32_to_16(%rip), %ymm4, %ymm4
6499vpackusdw %ymm4, %ymm10, %ymm4
6500vmovdqa 832(%r8), %ymm10
6501vpaddw 1088(%r8), %ymm10, %ymm8
6502vpsubw 1088(%r8), %ymm10, %ymm10
6503vpsrlw $2, %ymm10, %ymm10
6504vpsubw %ymm6, %ymm10, %ymm10
6505vpmullw %ymm14, %ymm10, %ymm10
6506vpsllw $1, %ymm11, %ymm3
6507vpsubw %ymm3, %ymm8, %ymm3
6508vpsllw $7, %ymm5, %ymm8
6509vpsubw %ymm8, %ymm3, %ymm8
6510vpsrlw $3, %ymm8, %ymm8
6511vpsubw %ymm4, %ymm8, %ymm8
6512vmovdqa 1344(%r8), %ymm3
6513vpsubw %ymm11, %ymm3, %ymm3
6514vpmullw %ymm15, %ymm5, %ymm2
6515vpsubw %ymm2, %ymm3, %ymm2
6516vpmullw %ymm14, %ymm8, %ymm8
6517vpsubw %ymm8, %ymm4, %ymm4
6518vpmullw %ymm12, %ymm8, %ymm3
6519vpaddw %ymm3, %ymm4, %ymm3
6520vpmullw %ymm12, %ymm3, %ymm3
6521vpsubw %ymm3, %ymm2, %ymm3
6522vpmullw %ymm14, %ymm3, %ymm3
6523vpsubw %ymm6, %ymm3, %ymm3
6524vpsrlw $3, %ymm3, %ymm3
6525vpsubw %ymm10, %ymm3, %ymm3
6526vpsubw %ymm3, %ymm10, %ymm10
6527vpsubw %ymm10, %ymm6, %ymm6
6528vpmullw %ymm13, %ymm3, %ymm3
6529vpsubw %ymm3, %ymm6, %ymm6
6530vpshufb shuf48_16(%rip), %ymm8, %ymm8
6531vpand mask3_5_3_5(%rip), %ymm8, %ymm2
6532vpand mask5_3_5_3(%rip), %ymm8, %ymm8
6533vpermq $206, %ymm2, %ymm2
6534vpand mask_keephigh(%rip), %ymm2, %ymm9
6535vpor %ymm9, %ymm8, %ymm8
6536vpaddw 2112(%r8), %ymm11, %ymm11
6537vpaddw %ymm8, %ymm11, %ymm11
6538vmovdqa %xmm2, 2112(%r8)
6539vpshufb shuf48_16(%rip), %ymm3, %ymm3
6540vpand mask3_5_3_5(%rip), %ymm3, %ymm2
6541vpand mask5_3_5_3(%rip), %ymm3, %ymm3
6542vpermq $206, %ymm2, %ymm2
6543vpand mask_keephigh(%rip), %ymm2, %ymm9
6544vpor %ymm9, %ymm3, %ymm3
6545vpaddw 2368(%r8), %ymm6, %ymm6
6546vpaddw %ymm3, %ymm6, %ymm6
6547vmovdqa %xmm2, 2368(%r8)
6548vpshufb shuf48_16(%rip), %ymm5, %ymm5
6549vpand mask3_5_3_5(%rip), %ymm5, %ymm2
6550vpand mask5_3_5_3(%rip), %ymm5, %ymm5
6551vpermq $206, %ymm2, %ymm2
6552vpand mask_keephigh(%rip), %ymm2, %ymm9
6553vpor %ymm9, %ymm5, %ymm5
6554vpaddw 2624(%r8), %ymm4, %ymm4
6555vpaddw %ymm5, %ymm4, %ymm4
6556vmovdqa %xmm2, 2624(%r8)
6557vpand mask_mod8192(%rip), %ymm11, %ymm11
6558vmovdqu %ymm11, 208(%rdi)
6559vpand mask_mod8192(%rip), %ymm6, %ymm6
6560vmovdqu %ymm6, 560(%rdi)
6561vpand mask_mod8192(%rip), %ymm4, %ymm4
6562vmovdqu %ymm4, 912(%rdi)
6563vpand mask_mod8192(%rip), %ymm10, %ymm10
6564vmovdqu %ymm10, 1264(%rdi)
6565vmovdqa 96(%r8), %ymm5
6566vpunpcklwd const0(%rip), %ymm5, %ymm3
6567vpunpckhwd const0(%rip), %ymm5, %ymm8
6568vpslld $1, %ymm3, %ymm3
6569vpslld $1, %ymm8, %ymm8
6570vmovdqa 352(%r8), %ymm10
6571vpunpcklwd const0(%rip), %ymm10, %ymm4
6572vpunpckhwd const0(%rip), %ymm10, %ymm10
6573vmovdqa 608(%r8), %ymm6
6574vpunpcklwd const0(%rip), %ymm6, %ymm11
6575vpunpckhwd const0(%rip), %ymm6, %ymm6
6576vpaddd %ymm11, %ymm4, %ymm2
6577vpaddd %ymm6, %ymm10, %ymm9
6578vpsubd %ymm3, %ymm2, %ymm2
6579vpsubd %ymm8, %ymm9, %ymm9
6580vpsubd %ymm11, %ymm4, %ymm11
6581vpsubd %ymm6, %ymm10, %ymm6
6582vpsrld $1, %ymm11, %ymm11
6583vpsrld $1, %ymm6, %ymm6
6584vpand mask32_to_16(%rip), %ymm11, %ymm11
6585vpand mask32_to_16(%rip), %ymm6, %ymm6
6586vpackusdw %ymm6, %ymm11, %ymm6
6587vmovdqa 1632(%r8), %ymm11
6588vpunpcklwd const0(%rip), %ymm11, %ymm10
6589vpunpckhwd const0(%rip), %ymm11, %ymm4
6590vpslld $1, %ymm10, %ymm10
6591vpslld $1, %ymm4, %ymm4
6592vpsubd %ymm10, %ymm2, %ymm2
6593vpsubd %ymm4, %ymm9, %ymm9
6594vpsrld $1, %ymm2, %ymm2
6595vpsrld $1, %ymm9, %ymm9
6596vpand mask32_to_16(%rip), %ymm2, %ymm2
6597vpand mask32_to_16(%rip), %ymm9, %ymm9
6598vpackusdw %ymm9, %ymm2, %ymm9
6599vmovdqa 864(%r8), %ymm2
6600vpaddw 1120(%r8), %ymm2, %ymm4
6601vpsubw 1120(%r8), %ymm2, %ymm2
6602vpsrlw $2, %ymm2, %ymm2
6603vpsubw %ymm6, %ymm2, %ymm2
6604vpmullw %ymm14, %ymm2, %ymm2
6605vpsllw $1, %ymm5, %ymm10
6606vpsubw %ymm10, %ymm4, %ymm10
6607vpsllw $7, %ymm11, %ymm4
6608vpsubw %ymm4, %ymm10, %ymm4
6609vpsrlw $3, %ymm4, %ymm4
6610vpsubw %ymm9, %ymm4, %ymm4
6611vmovdqa 1376(%r8), %ymm10
6612vpsubw %ymm5, %ymm10, %ymm10
6613vpmullw %ymm15, %ymm11, %ymm8
6614vpsubw %ymm8, %ymm10, %ymm8
6615vpmullw %ymm14, %ymm4, %ymm4
6616vpsubw %ymm4, %ymm9, %ymm9
6617vpmullw %ymm12, %ymm4, %ymm10
6618vpaddw %ymm10, %ymm9, %ymm10
6619vpmullw %ymm12, %ymm10, %ymm10
6620vpsubw %ymm10, %ymm8, %ymm10
6621vpmullw %ymm14, %ymm10, %ymm10
6622vpsubw %ymm6, %ymm10, %ymm10
6623vpsrlw $3, %ymm10, %ymm10
6624vpsubw %ymm2, %ymm10, %ymm10
6625vpsubw %ymm10, %ymm2, %ymm2
6626vpsubw %ymm2, %ymm6, %ymm6
6627vpmullw %ymm13, %ymm10, %ymm10
6628vpsubw %ymm10, %ymm6, %ymm6
6629vpshufb shuf48_16(%rip), %ymm4, %ymm4
6630vpand mask3_5_3_5(%rip), %ymm4, %ymm8
6631vpand mask5_3_5_3(%rip), %ymm4, %ymm4
6632vpermq $206, %ymm8, %ymm8
6633vpand mask_keephigh(%rip), %ymm8, %ymm3
6634vpor %ymm3, %ymm4, %ymm4
6635vpaddw 2144(%r8), %ymm5, %ymm5
6636vpaddw %ymm4, %ymm5, %ymm5
6637vmovdqa %xmm8, 2144(%r8)
6638vpshufb shuf48_16(%rip), %ymm10, %ymm10
6639vpand mask3_5_3_5(%rip), %ymm10, %ymm8
6640vpand mask5_3_5_3(%rip), %ymm10, %ymm10
6641vpermq $206, %ymm8, %ymm8
6642vpand mask_keephigh(%rip), %ymm8, %ymm3
6643vpor %ymm3, %ymm10, %ymm10
6644vpaddw 2400(%r8), %ymm6, %ymm6
6645vpaddw %ymm10, %ymm6, %ymm6
6646vmovdqa %xmm8, 2400(%r8)
6647vpshufb shuf48_16(%rip), %ymm11, %ymm11
6648vpand mask3_5_3_5(%rip), %ymm11, %ymm8
6649vpand mask5_3_5_3(%rip), %ymm11, %ymm11
6650vpermq $206, %ymm8, %ymm8
6651vpand mask_keephigh(%rip), %ymm8, %ymm3
6652vpor %ymm3, %ymm11, %ymm11
6653vpaddw 2656(%r8), %ymm9, %ymm9
6654vpaddw %ymm11, %ymm9, %ymm9
6655vmovdqa %xmm8, 2656(%r8)
6656vpand mask_mod8192(%rip), %ymm5, %ymm5
6657vmovdqu %ymm5, 296(%rdi)
6658vpand mask_mod8192(%rip), %ymm6, %ymm6
6659vmovdqu %ymm6, 648(%rdi)
6660vpand mask_mod8192(%rip), %ymm9, %ymm9
6661vmovdqu %ymm9, 1000(%rdi)
6662vpand mask_mod8192(%rip), %ymm2, %ymm2
6663vmovdqu %ymm2, 1352(%rdi)
6664vmovdqa 128(%r8), %ymm11
6665vpunpcklwd const0(%rip), %ymm11, %ymm10
6666vpunpckhwd const0(%rip), %ymm11, %ymm4
6667vpslld $1, %ymm10, %ymm10
6668vpslld $1, %ymm4, %ymm4
6669vmovdqa 384(%r8), %ymm2
6670vpunpcklwd const0(%rip), %ymm2, %ymm9
6671vpunpckhwd const0(%rip), %ymm2, %ymm2
6672vmovdqa 640(%r8), %ymm6
6673vpunpcklwd const0(%rip), %ymm6, %ymm5
6674vpunpckhwd const0(%rip), %ymm6, %ymm6
6675vpaddd %ymm5, %ymm9, %ymm8
6676vpaddd %ymm6, %ymm2, %ymm3
6677vpsubd %ymm10, %ymm8, %ymm8
6678vpsubd %ymm4, %ymm3, %ymm3
6679vpsubd %ymm5, %ymm9, %ymm5
6680vpsubd %ymm6, %ymm2, %ymm6
6681vpsrld $1, %ymm5, %ymm5
6682vpsrld $1, %ymm6, %ymm6
6683vpand mask32_to_16(%rip), %ymm5, %ymm5
6684vpand mask32_to_16(%rip), %ymm6, %ymm6
6685vpackusdw %ymm6, %ymm5, %ymm6
6686vmovdqa 1664(%r8), %ymm5
6687vpunpcklwd const0(%rip), %ymm5, %ymm2
6688vpunpckhwd const0(%rip), %ymm5, %ymm9
6689vpslld $1, %ymm2, %ymm2
6690vpslld $1, %ymm9, %ymm9
6691vpsubd %ymm2, %ymm8, %ymm8
6692vpsubd %ymm9, %ymm3, %ymm3
6693vpsrld $1, %ymm8, %ymm8
6694vpsrld $1, %ymm3, %ymm3
6695vpand mask32_to_16(%rip), %ymm8, %ymm8
6696vpand mask32_to_16(%rip), %ymm3, %ymm3
6697vpackusdw %ymm3, %ymm8, %ymm3
6698vmovdqa 896(%r8), %ymm8
6699vpaddw 1152(%r8), %ymm8, %ymm9
6700vpsubw 1152(%r8), %ymm8, %ymm8
6701vpsrlw $2, %ymm8, %ymm8
6702vpsubw %ymm6, %ymm8, %ymm8
6703vpmullw %ymm14, %ymm8, %ymm8
6704vpsllw $1, %ymm11, %ymm2
6705vpsubw %ymm2, %ymm9, %ymm2
6706vpsllw $7, %ymm5, %ymm9
6707vpsubw %ymm9, %ymm2, %ymm9
6708vpsrlw $3, %ymm9, %ymm9
6709vpsubw %ymm3, %ymm9, %ymm9
6710vmovdqa 1408(%r8), %ymm2
6711vpsubw %ymm11, %ymm2, %ymm2
6712vpmullw %ymm15, %ymm5, %ymm4
6713vpsubw %ymm4, %ymm2, %ymm4
6714vpmullw %ymm14, %ymm9, %ymm9
6715vpsubw %ymm9, %ymm3, %ymm3
6716vpmullw %ymm12, %ymm9, %ymm2
6717vpaddw %ymm2, %ymm3, %ymm2
6718vpmullw %ymm12, %ymm2, %ymm2
6719vpsubw %ymm2, %ymm4, %ymm2
6720vpmullw %ymm14, %ymm2, %ymm2
6721vpsubw %ymm6, %ymm2, %ymm2
6722vpsrlw $3, %ymm2, %ymm2
6723vpsubw %ymm8, %ymm2, %ymm2
6724vpsubw %ymm2, %ymm8, %ymm8
6725vpsubw %ymm8, %ymm6, %ymm6
6726vpmullw %ymm13, %ymm2, %ymm2
6727vpsubw %ymm2, %ymm6, %ymm6
6728vmovdqu 384(%rdi), %ymm4
6729vmovdqu 736(%rdi), %ymm10
6730vmovdqu 1088(%rdi), %ymm7
6731vpaddw %ymm11, %ymm4, %ymm11
6732vpaddw %ymm6, %ymm10, %ymm6
6733vpaddw %ymm3, %ymm7, %ymm3
6734vpshufb shuf48_16(%rip), %ymm8, %ymm8
6735vpand mask3_5_3_5(%rip), %ymm8, %ymm7
6736vpand mask5_3_5_3(%rip), %ymm8, %ymm8
6737vpermq $206, %ymm7, %ymm7
6738vpand mask_keephigh(%rip), %ymm7, %ymm10
6739vpor %ymm10, %ymm8, %ymm8
6740vmovdqu 32(%rdi), %ymm10
6741vpaddw 1920(%r8), %ymm10, %ymm10
6742vpaddw %ymm8, %ymm10, %ymm10
6743vpand mask_mod8192(%rip), %ymm10, %ymm10
6744vmovdqu %ymm10, 32(%rdi)
6745vmovdqa %xmm7, 1920(%r8)
6746vpshufb shuf48_16(%rip), %ymm9, %ymm9
6747vpand mask3_5_3_5(%rip), %ymm9, %ymm7
6748vpand mask5_3_5_3(%rip), %ymm9, %ymm9
6749vpermq $206, %ymm7, %ymm7
6750vpand mask_keephigh(%rip), %ymm7, %ymm10
6751vpor %ymm10, %ymm9, %ymm9
6752vpaddw 2176(%r8), %ymm11, %ymm11
6753vpaddw %ymm9, %ymm11, %ymm11
6754vmovdqa %xmm7, 2176(%r8)
6755vpshufb shuf48_16(%rip), %ymm2, %ymm2
6756vpand mask3_5_3_5(%rip), %ymm2, %ymm7
6757vpand mask5_3_5_3(%rip), %ymm2, %ymm2
6758vpermq $206, %ymm7, %ymm7
6759vpand mask_keephigh(%rip), %ymm7, %ymm10
6760vpor %ymm10, %ymm2, %ymm2
6761vpaddw 2432(%r8), %ymm6, %ymm6
6762vpaddw %ymm2, %ymm6, %ymm6
6763vmovdqa %xmm7, 2432(%r8)
6764vpshufb shuf48_16(%rip), %ymm5, %ymm5
6765vpand mask3_5_3_5(%rip), %ymm5, %ymm7
6766vpand mask5_3_5_3(%rip), %ymm5, %ymm5
6767vpermq $206, %ymm7, %ymm7
6768vpand mask_keephigh(%rip), %ymm7, %ymm10
6769vpor %ymm10, %ymm5, %ymm5
6770vpaddw 2688(%r8), %ymm3, %ymm3
6771vpaddw %ymm5, %ymm3, %ymm3
6772vmovdqa %xmm7, 2688(%r8)
6773vpand mask_mod8192(%rip), %ymm11, %ymm11
6774vmovdqu %ymm11, 384(%rdi)
6775vpand mask_mod8192(%rip), %ymm6, %ymm6
6776vmovdqu %ymm6, 736(%rdi)
6777vpand mask_mod8192(%rip), %ymm3, %ymm3
6778vmovdqu %ymm3, 1088(%rdi)
6779vmovdqa 160(%r8), %ymm5
6780vpunpcklwd const0(%rip), %ymm5, %ymm2
6781vpunpckhwd const0(%rip), %ymm5, %ymm9
6782vpslld $1, %ymm2, %ymm2
6783vpslld $1, %ymm9, %ymm9
6784vmovdqa 416(%r8), %ymm8
6785vpunpcklwd const0(%rip), %ymm8, %ymm3
6786vpunpckhwd const0(%rip), %ymm8, %ymm8
6787vmovdqa 672(%r8), %ymm6
6788vpunpcklwd const0(%rip), %ymm6, %ymm11
6789vpunpckhwd const0(%rip), %ymm6, %ymm6
6790vpaddd %ymm11, %ymm3, %ymm7
6791vpaddd %ymm6, %ymm8, %ymm10
6792vpsubd %ymm2, %ymm7, %ymm7
6793vpsubd %ymm9, %ymm10, %ymm10
6794vpsubd %ymm11, %ymm3, %ymm11
6795vpsubd %ymm6, %ymm8, %ymm6
6796vpsrld $1, %ymm11, %ymm11
6797vpsrld $1, %ymm6, %ymm6
6798vpand mask32_to_16(%rip), %ymm11, %ymm11
6799vpand mask32_to_16(%rip), %ymm6, %ymm6
6800vpackusdw %ymm6, %ymm11, %ymm6
6801vmovdqa 1696(%r8), %ymm11
6802vpunpcklwd const0(%rip), %ymm11, %ymm8
6803vpunpckhwd const0(%rip), %ymm11, %ymm3
6804vpslld $1, %ymm8, %ymm8
6805vpslld $1, %ymm3, %ymm3
6806vpsubd %ymm8, %ymm7, %ymm7
6807vpsubd %ymm3, %ymm10, %ymm10
6808vpsrld $1, %ymm7, %ymm7
6809vpsrld $1, %ymm10, %ymm10
6810vpand mask32_to_16(%rip), %ymm7, %ymm7
6811vpand mask32_to_16(%rip), %ymm10, %ymm10
6812vpackusdw %ymm10, %ymm7, %ymm10
6813vmovdqa 928(%r8), %ymm7
6814vpaddw 1184(%r8), %ymm7, %ymm3
6815vpsubw 1184(%r8), %ymm7, %ymm7
6816vpsrlw $2, %ymm7, %ymm7
6817vpsubw %ymm6, %ymm7, %ymm7
6818vpmullw %ymm14, %ymm7, %ymm7
6819vpsllw $1, %ymm5, %ymm8
6820vpsubw %ymm8, %ymm3, %ymm8
6821vpsllw $7, %ymm11, %ymm3
6822vpsubw %ymm3, %ymm8, %ymm3
6823vpsrlw $3, %ymm3, %ymm3
6824vpsubw %ymm10, %ymm3, %ymm3
6825vmovdqa 1440(%r8), %ymm8
6826vpsubw %ymm5, %ymm8, %ymm8
6827vpmullw %ymm15, %ymm11, %ymm9
6828vpsubw %ymm9, %ymm8, %ymm9
6829vpmullw %ymm14, %ymm3, %ymm3
6830vpsubw %ymm3, %ymm10, %ymm10
6831vpmullw %ymm12, %ymm3, %ymm8
6832vpaddw %ymm8, %ymm10, %ymm8
6833vpmullw %ymm12, %ymm8, %ymm8
6834vpsubw %ymm8, %ymm9, %ymm8
6835vpmullw %ymm14, %ymm8, %ymm8
6836vpsubw %ymm6, %ymm8, %ymm8
6837vpsrlw $3, %ymm8, %ymm8
6838vpsubw %ymm7, %ymm8, %ymm8
6839vpsubw %ymm8, %ymm7, %ymm7
6840vpsubw %ymm7, %ymm6, %ymm6
6841vpmullw %ymm13, %ymm8, %ymm8
6842vpsubw %ymm8, %ymm6, %ymm6
6843vmovdqu 472(%rdi), %ymm9
6844vmovdqu 824(%rdi), %ymm2
6845vmovdqu 1176(%rdi), %ymm4
6846vpaddw %ymm5, %ymm9, %ymm5
6847vpaddw %ymm6, %ymm2, %ymm6
6848vpaddw %ymm10, %ymm4, %ymm10
6849vpshufb shuf48_16(%rip), %ymm7, %ymm7
6850vpand mask3_5_3_5(%rip), %ymm7, %ymm4
6851vpand mask5_3_5_3(%rip), %ymm7, %ymm7
6852vpermq $206, %ymm4, %ymm4
6853vpand mask_keephigh(%rip), %ymm4, %ymm2
6854vpor %ymm2, %ymm7, %ymm7
6855vmovdqu 120(%rdi), %ymm2
6856vpaddw 1952(%r8), %ymm2, %ymm2
6857vpaddw %ymm7, %ymm2, %ymm2
6858vpand mask_mod8192(%rip), %ymm2, %ymm2
6859vmovdqu %ymm2, 120(%rdi)
6860vmovdqa %xmm4, 1952(%r8)
6861vpshufb shuf48_16(%rip), %ymm3, %ymm3
6862vpand mask3_5_3_5(%rip), %ymm3, %ymm4
6863vpand mask5_3_5_3(%rip), %ymm3, %ymm3
6864vpermq $206, %ymm4, %ymm4
6865vpand mask_keephigh(%rip), %ymm4, %ymm2
6866vpor %ymm2, %ymm3, %ymm3
6867vpaddw 2208(%r8), %ymm5, %ymm5
6868vpaddw %ymm3, %ymm5, %ymm5
6869vmovdqa %xmm4, 2208(%r8)
6870vpshufb shuf48_16(%rip), %ymm8, %ymm8
6871vpand mask3_5_3_5(%rip), %ymm8, %ymm4
6872vpand mask5_3_5_3(%rip), %ymm8, %ymm8
6873vpermq $206, %ymm4, %ymm4
6874vpand mask_keephigh(%rip), %ymm4, %ymm2
6875vpor %ymm2, %ymm8, %ymm8
6876vpaddw 2464(%r8), %ymm6, %ymm6
6877vpaddw %ymm8, %ymm6, %ymm6
6878vmovdqa %xmm4, 2464(%r8)
6879vpshufb shuf48_16(%rip), %ymm11, %ymm11
6880vpand mask3_5_3_5(%rip), %ymm11, %ymm4
6881vpand mask5_3_5_3(%rip), %ymm11, %ymm11
6882vpermq $206, %ymm4, %ymm4
6883vpand mask_keephigh(%rip), %ymm4, %ymm2
6884vpor %ymm2, %ymm11, %ymm11
6885vpaddw 2720(%r8), %ymm10, %ymm10
6886vpaddw %ymm11, %ymm10, %ymm10
6887vmovdqa %xmm4, 2720(%r8)
6888vpand mask_mod8192(%rip), %ymm5, %ymm5
6889vmovdqu %ymm5, 472(%rdi)
6890vpand mask_mod8192(%rip), %ymm6, %ymm6
6891vmovdqu %ymm6, 824(%rdi)
6892vpand mask_mod8192(%rip), %ymm10, %ymm10
6893vmovdqu %ymm10, 1176(%rdi)
6894vmovdqa 192(%r8), %ymm11
6895vpunpcklwd const0(%rip), %ymm11, %ymm8
6896vpunpckhwd const0(%rip), %ymm11, %ymm3
6897vpslld $1, %ymm8, %ymm8
6898vpslld $1, %ymm3, %ymm3
6899vmovdqa 448(%r8), %ymm7
6900vpunpcklwd const0(%rip), %ymm7, %ymm10
6901vpunpckhwd const0(%rip), %ymm7, %ymm7
6902vmovdqa 704(%r8), %ymm6
6903vpunpcklwd const0(%rip), %ymm6, %ymm5
6904vpunpckhwd const0(%rip), %ymm6, %ymm6
6905vpaddd %ymm5, %ymm10, %ymm4
6906vpaddd %ymm6, %ymm7, %ymm2
6907vpsubd %ymm8, %ymm4, %ymm4
6908vpsubd %ymm3, %ymm2, %ymm2
6909vpsubd %ymm5, %ymm10, %ymm5
6910vpsubd %ymm6, %ymm7, %ymm6
6911vpsrld $1, %ymm5, %ymm5
6912vpsrld $1, %ymm6, %ymm6
6913vpand mask32_to_16(%rip), %ymm5, %ymm5
6914vpand mask32_to_16(%rip), %ymm6, %ymm6
6915vpackusdw %ymm6, %ymm5, %ymm6
6916vmovdqa 1728(%r8), %ymm5
6917vpunpcklwd const0(%rip), %ymm5, %ymm7
6918vpunpckhwd const0(%rip), %ymm5, %ymm10
6919vpslld $1, %ymm7, %ymm7
6920vpslld $1, %ymm10, %ymm10
6921vpsubd %ymm7, %ymm4, %ymm4
6922vpsubd %ymm10, %ymm2, %ymm2
6923vpsrld $1, %ymm4, %ymm4
6924vpsrld $1, %ymm2, %ymm2
6925vpand mask32_to_16(%rip), %ymm4, %ymm4
6926vpand mask32_to_16(%rip), %ymm2, %ymm2
6927vpackusdw %ymm2, %ymm4, %ymm2
6928vmovdqa 960(%r8), %ymm4
6929vpaddw 1216(%r8), %ymm4, %ymm10
6930vpsubw 1216(%r8), %ymm4, %ymm4
6931vpsrlw $2, %ymm4, %ymm4
6932vpsubw %ymm6, %ymm4, %ymm4
6933vpmullw %ymm14, %ymm4, %ymm4
6934vpsllw $1, %ymm11, %ymm7
6935vpsubw %ymm7, %ymm10, %ymm7
6936vpsllw $7, %ymm5, %ymm10
6937vpsubw %ymm10, %ymm7, %ymm10
6938vpsrlw $3, %ymm10, %ymm10
6939vpsubw %ymm2, %ymm10, %ymm10
6940vmovdqa 1472(%r8), %ymm7
6941vpsubw %ymm11, %ymm7, %ymm7
6942vpmullw %ymm15, %ymm5, %ymm3
6943vpsubw %ymm3, %ymm7, %ymm3
6944vpmullw %ymm14, %ymm10, %ymm10
6945vpsubw %ymm10, %ymm2, %ymm2
6946vpmullw %ymm12, %ymm10, %ymm7
6947vpaddw %ymm7, %ymm2, %ymm7
6948vpmullw %ymm12, %ymm7, %ymm7
6949vpsubw %ymm7, %ymm3, %ymm7
6950vpmullw %ymm14, %ymm7, %ymm7
6951vpsubw %ymm6, %ymm7, %ymm7
6952vpsrlw $3, %ymm7, %ymm7
6953vpsubw %ymm4, %ymm7, %ymm7
6954vpsubw %ymm7, %ymm4, %ymm4
6955vpsubw %ymm4, %ymm6, %ymm6
6956vpmullw %ymm13, %ymm7, %ymm7
6957vpsubw %ymm7, %ymm6, %ymm6
6958vmovdqu 560(%rdi), %ymm3
6959vmovdqu 912(%rdi), %ymm8
6960vmovdqu 1264(%rdi), %ymm9
6961vpaddw %ymm11, %ymm3, %ymm11
6962vpaddw %ymm6, %ymm8, %ymm6
6963vpaddw %ymm2, %ymm9, %ymm2
6964vpshufb shuf48_16(%rip), %ymm4, %ymm4
6965vpand mask3_5_3_5(%rip), %ymm4, %ymm9
6966vpand mask5_3_5_3(%rip), %ymm4, %ymm4
6967vpermq $206, %ymm9, %ymm9
6968vpand mask_keephigh(%rip), %ymm9, %ymm8
6969vpor %ymm8, %ymm4, %ymm4
6970vmovdqu 208(%rdi), %ymm8
6971vpaddw 1984(%r8), %ymm8, %ymm8
6972vpaddw %ymm4, %ymm8, %ymm8
6973vpand mask_mod8192(%rip), %ymm8, %ymm8
6974vmovdqu %ymm8, 208(%rdi)
6975vmovdqa %xmm9, 1984(%r8)
6976vpshufb shuf48_16(%rip), %ymm10, %ymm10
6977vpand mask3_5_3_5(%rip), %ymm10, %ymm9
6978vpand mask5_3_5_3(%rip), %ymm10, %ymm10
6979vpermq $206, %ymm9, %ymm9
6980vpand mask_keephigh(%rip), %ymm9, %ymm8
6981vpor %ymm8, %ymm10, %ymm10
6982vpaddw 2240(%r8), %ymm11, %ymm11
6983vpaddw %ymm10, %ymm11, %ymm11
6984vmovdqa %xmm9, 2240(%r8)
6985vpshufb shuf48_16(%rip), %ymm7, %ymm7
6986vpand mask3_5_3_5(%rip), %ymm7, %ymm9
6987vpand mask5_3_5_3(%rip), %ymm7, %ymm7
6988vpermq $206, %ymm9, %ymm9
6989vpand mask_keephigh(%rip), %ymm9, %ymm8
6990vpor %ymm8, %ymm7, %ymm7
6991vpaddw 2496(%r8), %ymm6, %ymm6
6992vpaddw %ymm7, %ymm6, %ymm6
6993vmovdqa %xmm9, 2496(%r8)
6994vpshufb shuf48_16(%rip), %ymm5, %ymm5
6995vpand mask3_5_3_5(%rip), %ymm5, %ymm9
6996vpand mask5_3_5_3(%rip), %ymm5, %ymm5
6997vpermq $206, %ymm9, %ymm9
6998vpand mask_keephigh(%rip), %ymm9, %ymm8
6999vpor %ymm8, %ymm5, %ymm5
7000vpaddw 2752(%r8), %ymm2, %ymm2
7001vpaddw %ymm5, %ymm2, %ymm2
7002vmovdqa %xmm9, 2752(%r8)
7003vpand mask_mod8192(%rip), %ymm11, %ymm11
7004vmovdqu %ymm11, 560(%rdi)
7005vpand mask_mod8192(%rip), %ymm6, %ymm6
7006vmovdqu %ymm6, 912(%rdi)
7007vpand mask_mod8192(%rip), %ymm2, %ymm2
7008vmovdqu %ymm2, 1264(%rdi)
7009vmovdqa 224(%r8), %ymm5
7010vpunpcklwd const0(%rip), %ymm5, %ymm7
7011vpunpckhwd const0(%rip), %ymm5, %ymm10
7012vpslld $1, %ymm7, %ymm7
7013vpslld $1, %ymm10, %ymm10
7014vmovdqa 480(%r8), %ymm4
7015vpunpcklwd const0(%rip), %ymm4, %ymm2
7016vpunpckhwd const0(%rip), %ymm4, %ymm4
7017vmovdqa 736(%r8), %ymm6
7018vpunpcklwd const0(%rip), %ymm6, %ymm11
7019vpunpckhwd const0(%rip), %ymm6, %ymm6
7020vpaddd %ymm11, %ymm2, %ymm9
7021vpaddd %ymm6, %ymm4, %ymm8
7022vpsubd %ymm7, %ymm9, %ymm9
7023vpsubd %ymm10, %ymm8, %ymm8
7024vpsubd %ymm11, %ymm2, %ymm11
7025vpsubd %ymm6, %ymm4, %ymm6
7026vpsrld $1, %ymm11, %ymm11
7027vpsrld $1, %ymm6, %ymm6
7028vpand mask32_to_16(%rip), %ymm11, %ymm11
7029vpand mask32_to_16(%rip), %ymm6, %ymm6
7030vpackusdw %ymm6, %ymm11, %ymm6
7031vmovdqa 1760(%r8), %ymm11
7032vpunpcklwd const0(%rip), %ymm11, %ymm4
7033vpunpckhwd const0(%rip), %ymm11, %ymm2
7034vpslld $1, %ymm4, %ymm4
7035vpslld $1, %ymm2, %ymm2
7036vpsubd %ymm4, %ymm9, %ymm9
7037vpsubd %ymm2, %ymm8, %ymm8
7038vpsrld $1, %ymm9, %ymm9
7039vpsrld $1, %ymm8, %ymm8
7040vpand mask32_to_16(%rip), %ymm9, %ymm9
7041vpand mask32_to_16(%rip), %ymm8, %ymm8
7042vpackusdw %ymm8, %ymm9, %ymm8
7043vmovdqa 992(%r8), %ymm9
7044vpaddw 1248(%r8), %ymm9, %ymm2
7045vpsubw 1248(%r8), %ymm9, %ymm9
7046vpsrlw $2, %ymm9, %ymm9
7047vpsubw %ymm6, %ymm9, %ymm9
7048vpmullw %ymm14, %ymm9, %ymm9
7049vpsllw $1, %ymm5, %ymm4
7050vpsubw %ymm4, %ymm2, %ymm4
7051vpsllw $7, %ymm11, %ymm2
7052vpsubw %ymm2, %ymm4, %ymm2
7053vpsrlw $3, %ymm2, %ymm2
7054vpsubw %ymm8, %ymm2, %ymm2
7055vmovdqa 1504(%r8), %ymm4
7056vpsubw %ymm5, %ymm4, %ymm4
7057vpmullw %ymm15, %ymm11, %ymm10
7058vpsubw %ymm10, %ymm4, %ymm10
7059vpmullw %ymm14, %ymm2, %ymm2
7060vpsubw %ymm2, %ymm8, %ymm8
7061vpmullw %ymm12, %ymm2, %ymm4
7062vpaddw %ymm4, %ymm8, %ymm4
7063vpmullw %ymm12, %ymm4, %ymm4
7064vpsubw %ymm4, %ymm10, %ymm4
7065vpmullw %ymm14, %ymm4, %ymm4
7066vpsubw %ymm6, %ymm4, %ymm4
7067vpsrlw $3, %ymm4, %ymm4
7068vpsubw %ymm9, %ymm4, %ymm4
7069vpsubw %ymm4, %ymm9, %ymm9
7070vpsubw %ymm9, %ymm6, %ymm6
7071vpmullw %ymm13, %ymm4, %ymm4
7072vpsubw %ymm4, %ymm6, %ymm6
7073vmovdqu 648(%rdi), %ymm10
7074vmovdqu 1000(%rdi), %ymm7
7075vmovdqu 1352(%rdi), %ymm3
7076vpaddw %ymm5, %ymm10, %ymm5
7077vpaddw %ymm6, %ymm7, %ymm6
7078vpaddw %ymm8, %ymm3, %ymm8
7079vpshufb shuf48_16(%rip), %ymm9, %ymm9
7080vpand mask3_5_3_5(%rip), %ymm9, %ymm3
7081vpand mask5_3_5_3(%rip), %ymm9, %ymm9
7082vpermq $206, %ymm3, %ymm3
7083vpand mask_keephigh(%rip), %ymm3, %ymm7
7084vpor %ymm7, %ymm9, %ymm9
7085vmovdqu 296(%rdi), %ymm7
7086vpaddw 2016(%r8), %ymm7, %ymm7
7087vpaddw %ymm9, %ymm7, %ymm7
7088vpand mask_mod8192(%rip), %ymm7, %ymm7
7089vmovdqu %ymm7, 296(%rdi)
7090vmovdqa %xmm3, 2016(%r8)
7091vpshufb shuf48_16(%rip), %ymm2, %ymm2
7092vpand mask3_5_3_5(%rip), %ymm2, %ymm3
7093vpand mask5_3_5_3(%rip), %ymm2, %ymm2
7094vpermq $206, %ymm3, %ymm3
7095vpand mask_keephigh(%rip), %ymm3, %ymm7
7096vpor %ymm7, %ymm2, %ymm2
7097vpaddw 2272(%r8), %ymm5, %ymm5
7098vpaddw %ymm2, %ymm5, %ymm5
7099vmovdqa %xmm3, 2272(%r8)
7100vpshufb shuf48_16(%rip), %ymm4, %ymm4
7101vpand mask3_5_3_5(%rip), %ymm4, %ymm3
7102vpand mask5_3_5_3(%rip), %ymm4, %ymm4
7103vpermq $206, %ymm3, %ymm3
7104vpand mask_keephigh(%rip), %ymm3, %ymm7
7105vpor %ymm7, %ymm4, %ymm4
7106vpaddw 2528(%r8), %ymm6, %ymm6
7107vpaddw %ymm4, %ymm6, %ymm6
7108vmovdqa %xmm3, 2528(%r8)
7109vpshufb shuf48_16(%rip), %ymm11, %ymm11
7110vpand mask3_5_3_5(%rip), %ymm11, %ymm3
7111vpand mask5_3_5_3(%rip), %ymm11, %ymm11
7112vpermq $206, %ymm3, %ymm3
7113vpand mask_keephigh(%rip), %ymm3, %ymm7
7114vpor %ymm7, %ymm11, %ymm11
7115vpaddw 2784(%r8), %ymm8, %ymm8
7116vpaddw %ymm11, %ymm8, %ymm8
7117vmovdqa %xmm3, 2784(%r8)
7118vpand mask_mod8192(%rip), %ymm5, %ymm5
7119vmovdqu %ymm5, 648(%rdi)
7120vpand mask_mod8192(%rip), %ymm6, %ymm6
7121vmovdqu %ymm6, 1000(%rdi)
7122vpand mask_mod8192(%rip), %ymm8, %ymm8
7123vmovdqu %ymm8, 1352(%rdi)
7124vmovdqa 160(%r12), %ymm0
7125vpsubw 256(%r12), %ymm0, %ymm0
7126vmovdqa 544(%r12), %ymm1
7127vpsubw %ymm0, %ymm1, %ymm1
7128vpsubw 352(%r12), %ymm1, %ymm1
7129vpsubw 64(%r12), %ymm0, %ymm0
7130vpaddw 448(%r12), %ymm0, %ymm0
7131vmovdqa 736(%r12), %ymm2
7132vpsubw 832(%r12), %ymm2, %ymm2
7133vmovdqa 1120(%r12), %ymm3
7134vpsubw %ymm2, %ymm3, %ymm3
7135vpsubw 928(%r12), %ymm3, %ymm3
7136vpsubw 640(%r12), %ymm2, %ymm2
7137vpaddw 1024(%r12), %ymm2, %ymm2
7138vmovdqa 1312(%r12), %ymm4
7139vpsubw 1408(%r12), %ymm4, %ymm4
7140vmovdqa 1696(%r12), %ymm5
7141vpsubw %ymm4, %ymm5, %ymm5
7142vpsubw 1504(%r12), %ymm5, %ymm5
7143vpsubw 1216(%r12), %ymm4, %ymm4
7144vpaddw 1600(%r12), %ymm4, %ymm4
7145vpsubw 640(%r12), %ymm1, %ymm1
7146vpsubw %ymm1, %ymm5, %ymm5
7147vpsubw %ymm3, %ymm5, %ymm5
7148vpsubw 64(%r12), %ymm1, %ymm1
7149vpaddw 1216(%r12), %ymm1, %ymm1
7150vmovdqa 352(%r12), %ymm6
7151vpsubw %ymm2, %ymm6, %ymm7
7152vmovdqa 1504(%r12), %ymm2
7153vpsubw %ymm7, %ymm2, %ymm2
7154vpsubw 928(%r12), %ymm2, %ymm2
7155vpsubw %ymm0, %ymm7, %ymm7
7156vpaddw %ymm4, %ymm7, %ymm7
7157vmovdqa 64(%r12), %ymm8
7158vmovdqa 928(%r12), %ymm9
7159vmovdqa %ymm8, 0(%r8)
7160vmovdqa %ymm0, 32(%r8)
7161vmovdqa %ymm1, 64(%r8)
7162vmovdqa %ymm7, 96(%r8)
7163vmovdqa %ymm5, 128(%r8)
7164vmovdqa %ymm2, 160(%r8)
7165vmovdqa %ymm3, 192(%r8)
7166vmovdqa %ymm9, 224(%r8)
7167vmovdqa 1888(%r12), %ymm0
7168vpsubw 1984(%r12), %ymm0, %ymm0
7169vmovdqa 2272(%r12), %ymm1
7170vpsubw %ymm0, %ymm1, %ymm1
7171vpsubw 2080(%r12), %ymm1, %ymm1
7172vpsubw 1792(%r12), %ymm0, %ymm0
7173vpaddw 2176(%r12), %ymm0, %ymm0
7174vmovdqa 2464(%r12), %ymm2
7175vpsubw 2560(%r12), %ymm2, %ymm2
7176vmovdqa 2848(%r12), %ymm3
7177vpsubw %ymm2, %ymm3, %ymm3
7178vpsubw 2656(%r12), %ymm3, %ymm3
7179vpsubw 2368(%r12), %ymm2, %ymm2
7180vpaddw 2752(%r12), %ymm2, %ymm2
7181vmovdqa 3040(%r12), %ymm4
7182vpsubw 3136(%r12), %ymm4, %ymm4
7183vmovdqa 3424(%r12), %ymm5
7184vpsubw %ymm4, %ymm5, %ymm5
7185vpsubw 3232(%r12), %ymm5, %ymm5
7186vpsubw 2944(%r12), %ymm4, %ymm4
7187vpaddw 3328(%r12), %ymm4, %ymm4
7188vpsubw 2368(%r12), %ymm1, %ymm1
7189vpsubw %ymm1, %ymm5, %ymm5
7190vpsubw %ymm3, %ymm5, %ymm5
7191vpsubw 1792(%r12), %ymm1, %ymm1
7192vpaddw 2944(%r12), %ymm1, %ymm1
7193vmovdqa 2080(%r12), %ymm6
7194vpsubw %ymm2, %ymm6, %ymm7
7195vmovdqa 3232(%r12), %ymm2
7196vpsubw %ymm7, %ymm2, %ymm2
7197vpsubw 2656(%r12), %ymm2, %ymm2
7198vpsubw %ymm0, %ymm7, %ymm7
7199vpaddw %ymm4, %ymm7, %ymm7
7200vmovdqa 1792(%r12), %ymm8
7201vmovdqa 2656(%r12), %ymm9
7202vmovdqa %ymm8, 256(%r8)
7203vmovdqa %ymm0, 288(%r8)
7204vmovdqa %ymm1, 320(%r8)
7205vmovdqa %ymm7, 352(%r8)
7206vmovdqa %ymm5, 384(%r8)
7207vmovdqa %ymm2, 416(%r8)
7208vmovdqa %ymm3, 448(%r8)
7209vmovdqa %ymm9, 480(%r8)
7210vmovdqa 3616(%r12), %ymm0
7211vpsubw 3712(%r12), %ymm0, %ymm0
7212vmovdqa 4000(%r12), %ymm1
7213vpsubw %ymm0, %ymm1, %ymm1
7214vpsubw 3808(%r12), %ymm1, %ymm1
7215vpsubw 3520(%r12), %ymm0, %ymm0
7216vpaddw 3904(%r12), %ymm0, %ymm0
7217vmovdqa 4192(%r12), %ymm2
7218vpsubw 4288(%r12), %ymm2, %ymm2
7219vmovdqa 4576(%r12), %ymm3
7220vpsubw %ymm2, %ymm3, %ymm3
7221vpsubw 4384(%r12), %ymm3, %ymm3
7222vpsubw 4096(%r12), %ymm2, %ymm2
7223vpaddw 4480(%r12), %ymm2, %ymm2
7224vmovdqa 4768(%r12), %ymm4
7225vpsubw 4864(%r12), %ymm4, %ymm4
7226vmovdqa 5152(%r12), %ymm5
7227vpsubw %ymm4, %ymm5, %ymm5
7228vpsubw 4960(%r12), %ymm5, %ymm5
7229vpsubw 4672(%r12), %ymm4, %ymm4
7230vpaddw 5056(%r12), %ymm4, %ymm4
7231vpsubw 4096(%r12), %ymm1, %ymm1
7232vpsubw %ymm1, %ymm5, %ymm5
7233vpsubw %ymm3, %ymm5, %ymm5
7234vpsubw 3520(%r12), %ymm1, %ymm1
7235vpaddw 4672(%r12), %ymm1, %ymm1
7236vmovdqa 3808(%r12), %ymm6
7237vpsubw %ymm2, %ymm6, %ymm7
7238vmovdqa 4960(%r12), %ymm2
7239vpsubw %ymm7, %ymm2, %ymm2
7240vpsubw 4384(%r12), %ymm2, %ymm2
7241vpsubw %ymm0, %ymm7, %ymm7
7242vpaddw %ymm4, %ymm7, %ymm7
7243vmovdqa 3520(%r12), %ymm8
7244vmovdqa 4384(%r12), %ymm9
7245vmovdqa %ymm8, 512(%r8)
7246vmovdqa %ymm0, 544(%r8)
7247vmovdqa %ymm1, 576(%r8)
7248vmovdqa %ymm7, 608(%r8)
7249vmovdqa %ymm5, 640(%r8)
7250vmovdqa %ymm2, 672(%r8)
7251vmovdqa %ymm3, 704(%r8)
7252vmovdqa %ymm9, 736(%r8)
7253vmovdqa 5344(%r12), %ymm0
7254vpsubw 5440(%r12), %ymm0, %ymm0
7255vmovdqa 5728(%r12), %ymm1
7256vpsubw %ymm0, %ymm1, %ymm1
7257vpsubw 5536(%r12), %ymm1, %ymm1
7258vpsubw 5248(%r12), %ymm0, %ymm0
7259vpaddw 5632(%r12), %ymm0, %ymm0
7260vmovdqa 5920(%r12), %ymm2
7261vpsubw 6016(%r12), %ymm2, %ymm2
7262vmovdqa 6304(%r12), %ymm3
7263vpsubw %ymm2, %ymm3, %ymm3
7264vpsubw 6112(%r12), %ymm3, %ymm3
7265vpsubw 5824(%r12), %ymm2, %ymm2
7266vpaddw 6208(%r12), %ymm2, %ymm2
7267vmovdqa 6496(%r12), %ymm4
7268vpsubw 6592(%r12), %ymm4, %ymm4
7269vmovdqa 6880(%r12), %ymm5
7270vpsubw %ymm4, %ymm5, %ymm5
7271vpsubw 6688(%r12), %ymm5, %ymm5
7272vpsubw 6400(%r12), %ymm4, %ymm4
7273vpaddw 6784(%r12), %ymm4, %ymm4
7274vpsubw 5824(%r12), %ymm1, %ymm1
7275vpsubw %ymm1, %ymm5, %ymm5
7276vpsubw %ymm3, %ymm5, %ymm5
7277vpsubw 5248(%r12), %ymm1, %ymm1
7278vpaddw 6400(%r12), %ymm1, %ymm1
7279vmovdqa 5536(%r12), %ymm6
7280vpsubw %ymm2, %ymm6, %ymm7
7281vmovdqa 6688(%r12), %ymm2
7282vpsubw %ymm7, %ymm2, %ymm2
7283vpsubw 6112(%r12), %ymm2, %ymm2
7284vpsubw %ymm0, %ymm7, %ymm7
7285vpaddw %ymm4, %ymm7, %ymm7
7286vmovdqa 5248(%r12), %ymm8
7287vmovdqa 6112(%r12), %ymm9
7288vmovdqa %ymm8, 768(%r8)
7289vmovdqa %ymm0, 800(%r8)
7290vmovdqa %ymm1, 832(%r8)
7291vmovdqa %ymm7, 864(%r8)
7292vmovdqa %ymm5, 896(%r8)
7293vmovdqa %ymm2, 928(%r8)
7294vmovdqa %ymm3, 960(%r8)
7295vmovdqa %ymm9, 992(%r8)
7296vmovdqa 7072(%r12), %ymm0
7297vpsubw 7168(%r12), %ymm0, %ymm0
7298vmovdqa 7456(%r12), %ymm1
7299vpsubw %ymm0, %ymm1, %ymm1
7300vpsubw 7264(%r12), %ymm1, %ymm1
7301vpsubw 6976(%r12), %ymm0, %ymm0
7302vpaddw 7360(%r12), %ymm0, %ymm0
7303vmovdqa 7648(%r12), %ymm2
7304vpsubw 7744(%r12), %ymm2, %ymm2
7305vmovdqa 8032(%r12), %ymm3
7306vpsubw %ymm2, %ymm3, %ymm3
7307vpsubw 7840(%r12), %ymm3, %ymm3
7308vpsubw 7552(%r12), %ymm2, %ymm2
7309vpaddw 7936(%r12), %ymm2, %ymm2
7310vmovdqa 8224(%r12), %ymm4
7311vpsubw 8320(%r12), %ymm4, %ymm4
7312vmovdqa 8608(%r12), %ymm5
7313vpsubw %ymm4, %ymm5, %ymm5
7314vpsubw 8416(%r12), %ymm5, %ymm5
7315vpsubw 8128(%r12), %ymm4, %ymm4
7316vpaddw 8512(%r12), %ymm4, %ymm4
7317vpsubw 7552(%r12), %ymm1, %ymm1
7318vpsubw %ymm1, %ymm5, %ymm5
7319vpsubw %ymm3, %ymm5, %ymm5
7320vpsubw 6976(%r12), %ymm1, %ymm1
7321vpaddw 8128(%r12), %ymm1, %ymm1
7322vmovdqa 7264(%r12), %ymm6
7323vpsubw %ymm2, %ymm6, %ymm7
7324vmovdqa 8416(%r12), %ymm2
7325vpsubw %ymm7, %ymm2, %ymm2
7326vpsubw 7840(%r12), %ymm2, %ymm2
7327vpsubw %ymm0, %ymm7, %ymm7
7328vpaddw %ymm4, %ymm7, %ymm7
7329vmovdqa 6976(%r12), %ymm8
7330vmovdqa 7840(%r12), %ymm9
7331vmovdqa %ymm8, 1024(%r8)
7332vmovdqa %ymm0, 1056(%r8)
7333vmovdqa %ymm1, 1088(%r8)
7334vmovdqa %ymm7, 1120(%r8)
7335vmovdqa %ymm5, 1152(%r8)
7336vmovdqa %ymm2, 1184(%r8)
7337vmovdqa %ymm3, 1216(%r8)
7338vmovdqa %ymm9, 1248(%r8)
7339vmovdqa 8800(%r12), %ymm0
7340vpsubw 8896(%r12), %ymm0, %ymm0
7341vmovdqa 9184(%r12), %ymm1
7342vpsubw %ymm0, %ymm1, %ymm1
7343vpsubw 8992(%r12), %ymm1, %ymm1
7344vpsubw 8704(%r12), %ymm0, %ymm0
7345vpaddw 9088(%r12), %ymm0, %ymm0
7346vmovdqa 9376(%r12), %ymm2
7347vpsubw 9472(%r12), %ymm2, %ymm2
7348vmovdqa 9760(%r12), %ymm3
7349vpsubw %ymm2, %ymm3, %ymm3
7350vpsubw 9568(%r12), %ymm3, %ymm3
7351vpsubw 9280(%r12), %ymm2, %ymm2
7352vpaddw 9664(%r12), %ymm2, %ymm2
7353vmovdqa 9952(%r12), %ymm4
7354vpsubw 10048(%r12), %ymm4, %ymm4
7355vmovdqa 10336(%r12), %ymm5
7356vpsubw %ymm4, %ymm5, %ymm5
7357vpsubw 10144(%r12), %ymm5, %ymm5
7358vpsubw 9856(%r12), %ymm4, %ymm4
7359vpaddw 10240(%r12), %ymm4, %ymm4
7360vpsubw 9280(%r12), %ymm1, %ymm1
7361vpsubw %ymm1, %ymm5, %ymm5
7362vpsubw %ymm3, %ymm5, %ymm5
7363vpsubw 8704(%r12), %ymm1, %ymm1
7364vpaddw 9856(%r12), %ymm1, %ymm1
7365vmovdqa 8992(%r12), %ymm6
7366vpsubw %ymm2, %ymm6, %ymm7
7367vmovdqa 10144(%r12), %ymm2
7368vpsubw %ymm7, %ymm2, %ymm2
7369vpsubw 9568(%r12), %ymm2, %ymm2
7370vpsubw %ymm0, %ymm7, %ymm7
7371vpaddw %ymm4, %ymm7, %ymm7
7372vmovdqa 8704(%r12), %ymm8
7373vmovdqa 9568(%r12), %ymm9
7374vmovdqa %ymm8, 1280(%r8)
7375vmovdqa %ymm0, 1312(%r8)
7376vmovdqa %ymm1, 1344(%r8)
7377vmovdqa %ymm7, 1376(%r8)
7378vmovdqa %ymm5, 1408(%r8)
7379vmovdqa %ymm2, 1440(%r8)
7380vmovdqa %ymm3, 1472(%r8)
7381vmovdqa %ymm9, 1504(%r8)
7382vmovdqa 10528(%r12), %ymm0
7383vpsubw 10624(%r12), %ymm0, %ymm0
7384vmovdqa 10912(%r12), %ymm1
7385vpsubw %ymm0, %ymm1, %ymm1
7386vpsubw 10720(%r12), %ymm1, %ymm1
7387vpsubw 10432(%r12), %ymm0, %ymm0
7388vpaddw 10816(%r12), %ymm0, %ymm0
7389vmovdqa 11104(%r12), %ymm2
7390vpsubw 11200(%r12), %ymm2, %ymm2
7391vmovdqa 11488(%r12), %ymm3
7392vpsubw %ymm2, %ymm3, %ymm3
7393vpsubw 11296(%r12), %ymm3, %ymm3
7394vpsubw 11008(%r12), %ymm2, %ymm2
7395vpaddw 11392(%r12), %ymm2, %ymm2
7396vmovdqa 11680(%r12), %ymm4
7397vpsubw 11776(%r12), %ymm4, %ymm4
7398vmovdqa 12064(%r12), %ymm5
7399vpsubw %ymm4, %ymm5, %ymm5
7400vpsubw 11872(%r12), %ymm5, %ymm5
7401vpsubw 11584(%r12), %ymm4, %ymm4
7402vpaddw 11968(%r12), %ymm4, %ymm4
7403vpsubw 11008(%r12), %ymm1, %ymm1
7404vpsubw %ymm1, %ymm5, %ymm5
7405vpsubw %ymm3, %ymm5, %ymm5
7406vpsubw 10432(%r12), %ymm1, %ymm1
7407vpaddw 11584(%r12), %ymm1, %ymm1
7408vmovdqa 10720(%r12), %ymm6
7409vpsubw %ymm2, %ymm6, %ymm7
7410vmovdqa 11872(%r12), %ymm2
7411vpsubw %ymm7, %ymm2, %ymm2
7412vpsubw 11296(%r12), %ymm2, %ymm2
7413vpsubw %ymm0, %ymm7, %ymm7
7414vpaddw %ymm4, %ymm7, %ymm7
7415vmovdqa 10432(%r12), %ymm8
7416vmovdqa 11296(%r12), %ymm9
7417vmovdqa %ymm8, 1536(%r8)
7418vmovdqa %ymm0, 1568(%r8)
7419vmovdqa %ymm1, 1600(%r8)
7420vmovdqa %ymm7, 1632(%r8)
7421vmovdqa %ymm5, 1664(%r8)
7422vmovdqa %ymm2, 1696(%r8)
7423vmovdqa %ymm3, 1728(%r8)
7424vmovdqa %ymm9, 1760(%r8)
7425vmovdqa 0(%r8), %ymm11
7426vpunpcklwd const0(%rip), %ymm11, %ymm4
7427vpunpckhwd const0(%rip), %ymm11, %ymm2
7428vpslld $1, %ymm4, %ymm4
7429vpslld $1, %ymm2, %ymm2
7430vmovdqa 256(%r8), %ymm9
7431vpunpcklwd const0(%rip), %ymm9, %ymm8
7432vpunpckhwd const0(%rip), %ymm9, %ymm9
7433vmovdqa 512(%r8), %ymm6
7434vpunpcklwd const0(%rip), %ymm6, %ymm5
7435vpunpckhwd const0(%rip), %ymm6, %ymm6
7436vpaddd %ymm5, %ymm8, %ymm3
7437vpaddd %ymm6, %ymm9, %ymm7
7438vpsubd %ymm4, %ymm3, %ymm3
7439vpsubd %ymm2, %ymm7, %ymm7
7440vpsubd %ymm5, %ymm8, %ymm5
7441vpsubd %ymm6, %ymm9, %ymm6
7442vpsrld $1, %ymm5, %ymm5
7443vpsrld $1, %ymm6, %ymm6
7444vpand mask32_to_16(%rip), %ymm5, %ymm5
7445vpand mask32_to_16(%rip), %ymm6, %ymm6
7446vpackusdw %ymm6, %ymm5, %ymm6
7447vmovdqa 1536(%r8), %ymm5
7448vpunpcklwd const0(%rip), %ymm5, %ymm9
7449vpunpckhwd const0(%rip), %ymm5, %ymm8
7450vpslld $1, %ymm9, %ymm9
7451vpslld $1, %ymm8, %ymm8
7452vpsubd %ymm9, %ymm3, %ymm3
7453vpsubd %ymm8, %ymm7, %ymm7
7454vpsrld $1, %ymm3, %ymm3
7455vpsrld $1, %ymm7, %ymm7
7456vpand mask32_to_16(%rip), %ymm3, %ymm3
7457vpand mask32_to_16(%rip), %ymm7, %ymm7
7458vpackusdw %ymm7, %ymm3, %ymm7
7459vmovdqa 768(%r8), %ymm3
7460vpaddw 1024(%r8), %ymm3, %ymm8
7461vpsubw 1024(%r8), %ymm3, %ymm3
7462vpsrlw $2, %ymm3, %ymm3
7463vpsubw %ymm6, %ymm3, %ymm3
7464vpmullw %ymm14, %ymm3, %ymm3
7465vpsllw $1, %ymm11, %ymm9
7466vpsubw %ymm9, %ymm8, %ymm9
7467vpsllw $7, %ymm5, %ymm8
7468vpsubw %ymm8, %ymm9, %ymm8
7469vpsrlw $3, %ymm8, %ymm8
7470vpsubw %ymm7, %ymm8, %ymm8
7471vmovdqa 1280(%r8), %ymm9
7472vpsubw %ymm11, %ymm9, %ymm9
7473vpmullw %ymm15, %ymm5, %ymm2
7474vpsubw %ymm2, %ymm9, %ymm2
7475vpmullw %ymm14, %ymm8, %ymm8
7476vpsubw %ymm8, %ymm7, %ymm7
7477vpmullw %ymm12, %ymm8, %ymm9
7478vpaddw %ymm9, %ymm7, %ymm9
7479vpmullw %ymm12, %ymm9, %ymm9
7480vpsubw %ymm9, %ymm2, %ymm9
7481vpmullw %ymm14, %ymm9, %ymm9
7482vpsubw %ymm6, %ymm9, %ymm9
7483vpsrlw $3, %ymm9, %ymm9
7484vpsubw %ymm3, %ymm9, %ymm9
7485vpsubw %ymm9, %ymm3, %ymm3
7486vpsubw %ymm3, %ymm6, %ymm6
7487vpmullw %ymm13, %ymm9, %ymm9
7488vpsubw %ymm9, %ymm6, %ymm6
7489vpshufb shuf48_16(%rip), %ymm8, %ymm8
7490vpand mask3_5_4_3_1(%rip), %ymm8, %ymm2
7491vpand mask5_3_5_3(%rip), %ymm8, %ymm8
7492vpermq $139, %ymm2, %ymm2
7493vpand mask_keephigh(%rip), %ymm2, %ymm4
7494vpor %ymm4, %ymm8, %ymm8
7495vpaddw 2048(%r8), %ymm11, %ymm11
7496vpaddw %ymm8, %ymm11, %ymm11
7497vmovdqa %xmm2, 2048(%r8)
7498vpshufb shuf48_16(%rip), %ymm9, %ymm9
7499vpand mask3_5_4_3_1(%rip), %ymm9, %ymm2
7500vpand mask5_3_5_3(%rip), %ymm9, %ymm9
7501vpermq $139, %ymm2, %ymm2
7502vpand mask_keephigh(%rip), %ymm2, %ymm4
7503vpor %ymm4, %ymm9, %ymm9
7504vpaddw 2304(%r8), %ymm6, %ymm6
7505vpaddw %ymm9, %ymm6, %ymm6
7506vmovdqa %xmm2, 2304(%r8)
7507vpshufb shuf48_16(%rip), %ymm5, %ymm5
7508vpand mask3_5_4_3_1(%rip), %ymm5, %ymm2
7509vpand mask5_3_5_3(%rip), %ymm5, %ymm5
7510vpermq $139, %ymm2, %ymm2
7511vpand mask_keephigh(%rip), %ymm2, %ymm4
7512vpor %ymm4, %ymm5, %ymm5
7513vpaddw 2560(%r8), %ymm7, %ymm7
7514vpaddw %ymm5, %ymm7, %ymm7
7515vmovdqa %xmm2, 2560(%r8)
7516vpand mask_mod8192(%rip), %ymm11, %ymm11
7517vmovdqu %xmm11, 64(%rdi)
7518vextracti128 $1, %ymm11, %xmm11
7519vmovq %xmm11, 80(%rdi)
7520vpand mask_mod8192(%rip), %ymm6, %ymm6
7521vmovdqu %xmm6, 416(%rdi)
7522vextracti128 $1, %ymm6, %xmm6
7523vmovq %xmm6, 432(%rdi)
7524vpand mask_mod8192(%rip), %ymm7, %ymm7
7525vmovdqu %xmm7, 768(%rdi)
7526vextracti128 $1, %ymm7, %xmm7
7527vmovq %xmm7, 784(%rdi)
7528vpand mask_mod8192(%rip), %ymm3, %ymm3
7529vmovdqu %xmm3, 1120(%rdi)
7530vextracti128 $1, %ymm3, %xmm3
7531vmovq %xmm3, 1136(%rdi)
7532vmovdqa 32(%r8), %ymm5
7533vpunpcklwd const0(%rip), %ymm5, %ymm9
7534vpunpckhwd const0(%rip), %ymm5, %ymm8
7535vpslld $1, %ymm9, %ymm9
7536vpslld $1, %ymm8, %ymm8
7537vmovdqa 288(%r8), %ymm3
7538vpunpcklwd const0(%rip), %ymm3, %ymm7
7539vpunpckhwd const0(%rip), %ymm3, %ymm3
7540vmovdqa 544(%r8), %ymm6
7541vpunpcklwd const0(%rip), %ymm6, %ymm11
7542vpunpckhwd const0(%rip), %ymm6, %ymm6
7543vpaddd %ymm11, %ymm7, %ymm2
7544vpaddd %ymm6, %ymm3, %ymm4
7545vpsubd %ymm9, %ymm2, %ymm2
7546vpsubd %ymm8, %ymm4, %ymm4
7547vpsubd %ymm11, %ymm7, %ymm11
7548vpsubd %ymm6, %ymm3, %ymm6
7549vpsrld $1, %ymm11, %ymm11
7550vpsrld $1, %ymm6, %ymm6
7551vpand mask32_to_16(%rip), %ymm11, %ymm11
7552vpand mask32_to_16(%rip), %ymm6, %ymm6
7553vpackusdw %ymm6, %ymm11, %ymm6
7554vmovdqa 1568(%r8), %ymm11
7555vpunpcklwd const0(%rip), %ymm11, %ymm3
7556vpunpckhwd const0(%rip), %ymm11, %ymm7
7557vpslld $1, %ymm3, %ymm3
7558vpslld $1, %ymm7, %ymm7
7559vpsubd %ymm3, %ymm2, %ymm2
7560vpsubd %ymm7, %ymm4, %ymm4
7561vpsrld $1, %ymm2, %ymm2
7562vpsrld $1, %ymm4, %ymm4
7563vpand mask32_to_16(%rip), %ymm2, %ymm2
7564vpand mask32_to_16(%rip), %ymm4, %ymm4
7565vpackusdw %ymm4, %ymm2, %ymm4
7566vmovdqa 800(%r8), %ymm2
7567vpaddw 1056(%r8), %ymm2, %ymm7
7568vpsubw 1056(%r8), %ymm2, %ymm2
7569vpsrlw $2, %ymm2, %ymm2
7570vpsubw %ymm6, %ymm2, %ymm2
7571vpmullw %ymm14, %ymm2, %ymm2
7572vpsllw $1, %ymm5, %ymm3
7573vpsubw %ymm3, %ymm7, %ymm3
7574vpsllw $7, %ymm11, %ymm7
7575vpsubw %ymm7, %ymm3, %ymm7
7576vpsrlw $3, %ymm7, %ymm7
7577vpsubw %ymm4, %ymm7, %ymm7
7578vmovdqa 1312(%r8), %ymm3
7579vpsubw %ymm5, %ymm3, %ymm3
7580vpmullw %ymm15, %ymm11, %ymm8
7581vpsubw %ymm8, %ymm3, %ymm8
7582vpmullw %ymm14, %ymm7, %ymm7
7583vpsubw %ymm7, %ymm4, %ymm4
7584vpmullw %ymm12, %ymm7, %ymm3
7585vpaddw %ymm3, %ymm4, %ymm3
7586vpmullw %ymm12, %ymm3, %ymm3
7587vpsubw %ymm3, %ymm8, %ymm3
7588vpmullw %ymm14, %ymm3, %ymm3
7589vpsubw %ymm6, %ymm3, %ymm3
7590vpsrlw $3, %ymm3, %ymm3
7591vpsubw %ymm2, %ymm3, %ymm3
7592vpsubw %ymm3, %ymm2, %ymm2
7593vpsubw %ymm2, %ymm6, %ymm6
7594vpmullw %ymm13, %ymm3, %ymm3
7595vpsubw %ymm3, %ymm6, %ymm6
7596vpshufb shuf48_16(%rip), %ymm7, %ymm7
7597vpand mask3_5_4_3_1(%rip), %ymm7, %ymm8
7598vpand mask5_3_5_3(%rip), %ymm7, %ymm7
7599vpermq $139, %ymm8, %ymm8
7600vpand mask_keephigh(%rip), %ymm8, %ymm9
7601vpor %ymm9, %ymm7, %ymm7
7602vpaddw 2080(%r8), %ymm5, %ymm5
7603vpaddw %ymm7, %ymm5, %ymm5
7604vmovdqa %xmm8, 2080(%r8)
7605vpshufb shuf48_16(%rip), %ymm3, %ymm3
7606vpand mask3_5_4_3_1(%rip), %ymm3, %ymm8
7607vpand mask5_3_5_3(%rip), %ymm3, %ymm3
7608vpermq $139, %ymm8, %ymm8
7609vpand mask_keephigh(%rip), %ymm8, %ymm9
7610vpor %ymm9, %ymm3, %ymm3
7611vpaddw 2336(%r8), %ymm6, %ymm6
7612vpaddw %ymm3, %ymm6, %ymm6
7613vmovdqa %xmm8, 2336(%r8)
7614vpshufb shuf48_16(%rip), %ymm11, %ymm11
7615vpand mask3_5_4_3_1(%rip), %ymm11, %ymm8
7616vpand mask5_3_5_3(%rip), %ymm11, %ymm11
7617vpermq $139, %ymm8, %ymm8
7618vpand mask_keephigh(%rip), %ymm8, %ymm9
7619vpor %ymm9, %ymm11, %ymm11
7620vpaddw 2592(%r8), %ymm4, %ymm4
7621vpaddw %ymm11, %ymm4, %ymm4
7622vmovdqa %xmm8, 2592(%r8)
7623vpand mask_mod8192(%rip), %ymm5, %ymm5
7624vmovdqu %xmm5, 152(%rdi)
7625vextracti128 $1, %ymm5, %xmm5
7626vmovq %xmm5, 168(%rdi)
7627vpand mask_mod8192(%rip), %ymm6, %ymm6
7628vmovdqu %xmm6, 504(%rdi)
7629vextracti128 $1, %ymm6, %xmm6
7630vmovq %xmm6, 520(%rdi)
7631vpand mask_mod8192(%rip), %ymm4, %ymm4
7632vmovdqu %xmm4, 856(%rdi)
7633vextracti128 $1, %ymm4, %xmm4
7634vmovq %xmm4, 872(%rdi)
7635vpand mask_mod8192(%rip), %ymm2, %ymm2
7636vmovdqu %xmm2, 1208(%rdi)
7637vextracti128 $1, %ymm2, %xmm2
7638vmovq %xmm2, 1224(%rdi)
7639vmovdqa 64(%r8), %ymm11
7640vpunpcklwd const0(%rip), %ymm11, %ymm3
7641vpunpckhwd const0(%rip), %ymm11, %ymm7
7642vpslld $1, %ymm3, %ymm3
7643vpslld $1, %ymm7, %ymm7
7644vmovdqa 320(%r8), %ymm2
7645vpunpcklwd const0(%rip), %ymm2, %ymm4
7646vpunpckhwd const0(%rip), %ymm2, %ymm2
7647vmovdqa 576(%r8), %ymm6
7648vpunpcklwd const0(%rip), %ymm6, %ymm5
7649vpunpckhwd const0(%rip), %ymm6, %ymm6
7650vpaddd %ymm5, %ymm4, %ymm8
7651vpaddd %ymm6, %ymm2, %ymm9
7652vpsubd %ymm3, %ymm8, %ymm8
7653vpsubd %ymm7, %ymm9, %ymm9
7654vpsubd %ymm5, %ymm4, %ymm5
7655vpsubd %ymm6, %ymm2, %ymm6
7656vpsrld $1, %ymm5, %ymm5
7657vpsrld $1, %ymm6, %ymm6
7658vpand mask32_to_16(%rip), %ymm5, %ymm5
7659vpand mask32_to_16(%rip), %ymm6, %ymm6
7660vpackusdw %ymm6, %ymm5, %ymm6
7661vmovdqa 1600(%r8), %ymm5
7662vpunpcklwd const0(%rip), %ymm5, %ymm2
7663vpunpckhwd const0(%rip), %ymm5, %ymm4
7664vpslld $1, %ymm2, %ymm2
7665vpslld $1, %ymm4, %ymm4
7666vpsubd %ymm2, %ymm8, %ymm8
7667vpsubd %ymm4, %ymm9, %ymm9
7668vpsrld $1, %ymm8, %ymm8
7669vpsrld $1, %ymm9, %ymm9
7670vpand mask32_to_16(%rip), %ymm8, %ymm8
7671vpand mask32_to_16(%rip), %ymm9, %ymm9
7672vpackusdw %ymm9, %ymm8, %ymm9
7673vmovdqa 832(%r8), %ymm8
7674vpaddw 1088(%r8), %ymm8, %ymm4
7675vpsubw 1088(%r8), %ymm8, %ymm8
7676vpsrlw $2, %ymm8, %ymm8
7677vpsubw %ymm6, %ymm8, %ymm8
7678vpmullw %ymm14, %ymm8, %ymm8
7679vpsllw $1, %ymm11, %ymm2
7680vpsubw %ymm2, %ymm4, %ymm2
7681vpsllw $7, %ymm5, %ymm4
7682vpsubw %ymm4, %ymm2, %ymm4
7683vpsrlw $3, %ymm4, %ymm4
7684vpsubw %ymm9, %ymm4, %ymm4
7685vmovdqa 1344(%r8), %ymm2
7686vpsubw %ymm11, %ymm2, %ymm2
7687vpmullw %ymm15, %ymm5, %ymm7
7688vpsubw %ymm7, %ymm2, %ymm7
7689vpmullw %ymm14, %ymm4, %ymm4
7690vpsubw %ymm4, %ymm9, %ymm9
7691vpmullw %ymm12, %ymm4, %ymm2
7692vpaddw %ymm2, %ymm9, %ymm2
7693vpmullw %ymm12, %ymm2, %ymm2
7694vpsubw %ymm2, %ymm7, %ymm2
7695vpmullw %ymm14, %ymm2, %ymm2
7696vpsubw %ymm6, %ymm2, %ymm2
7697vpsrlw $3, %ymm2, %ymm2
7698vpsubw %ymm8, %ymm2, %ymm2
7699vpsubw %ymm2, %ymm8, %ymm8
7700vpsubw %ymm8, %ymm6, %ymm6
7701vpmullw %ymm13, %ymm2, %ymm2
7702vpsubw %ymm2, %ymm6, %ymm6
7703vpshufb shuf48_16(%rip), %ymm4, %ymm4
7704vpand mask3_5_4_3_1(%rip), %ymm4, %ymm7
7705vpand mask5_3_5_3(%rip), %ymm4, %ymm4
7706vpermq $139, %ymm7, %ymm7
7707vpand mask_keephigh(%rip), %ymm7, %ymm3
7708vpor %ymm3, %ymm4, %ymm4
7709vpaddw 2112(%r8), %ymm11, %ymm11
7710vpaddw %ymm4, %ymm11, %ymm11
7711vmovdqa %xmm7, 2112(%r8)
7712vpshufb shuf48_16(%rip), %ymm2, %ymm2
7713vpand mask3_5_4_3_1(%rip), %ymm2, %ymm7
7714vpand mask5_3_5_3(%rip), %ymm2, %ymm2
7715vpermq $139, %ymm7, %ymm7
7716vpand mask_keephigh(%rip), %ymm7, %ymm3
7717vpor %ymm3, %ymm2, %ymm2
7718vpaddw 2368(%r8), %ymm6, %ymm6
7719vpaddw %ymm2, %ymm6, %ymm6
7720vmovdqa %xmm7, 2368(%r8)
7721vpshufb shuf48_16(%rip), %ymm5, %ymm5
7722vpand mask3_5_4_3_1(%rip), %ymm5, %ymm7
7723vpand mask5_3_5_3(%rip), %ymm5, %ymm5
7724vpermq $139, %ymm7, %ymm7
7725vpand mask_keephigh(%rip), %ymm7, %ymm3
7726vpor %ymm3, %ymm5, %ymm5
7727vpaddw 2624(%r8), %ymm9, %ymm9
7728vpaddw %ymm5, %ymm9, %ymm9
7729vmovdqa %xmm7, 2624(%r8)
7730vpand mask_mod8192(%rip), %ymm11, %ymm11
7731vmovdqu %xmm11, 240(%rdi)
7732vextracti128 $1, %ymm11, %xmm11
7733vmovq %xmm11, 256(%rdi)
7734vpand mask_mod8192(%rip), %ymm6, %ymm6
7735vmovdqu %xmm6, 592(%rdi)
7736vextracti128 $1, %ymm6, %xmm6
7737vmovq %xmm6, 608(%rdi)
7738vpand mask_mod8192(%rip), %ymm9, %ymm9
7739vmovdqu %xmm9, 944(%rdi)
7740vextracti128 $1, %ymm9, %xmm9
7741vmovq %xmm9, 960(%rdi)
7742vpand mask_mod8192(%rip), %ymm8, %ymm8
7743vmovdqu %xmm8, 1296(%rdi)
7744vextracti128 $1, %ymm8, %xmm8
7745vmovq %xmm8, 1312(%rdi)
7746vmovdqa 96(%r8), %ymm5
7747vpunpcklwd const0(%rip), %ymm5, %ymm2
7748vpunpckhwd const0(%rip), %ymm5, %ymm4
7749vpslld $1, %ymm2, %ymm2
7750vpslld $1, %ymm4, %ymm4
7751vmovdqa 352(%r8), %ymm8
7752vpunpcklwd const0(%rip), %ymm8, %ymm9
7753vpunpckhwd const0(%rip), %ymm8, %ymm8
7754vmovdqa 608(%r8), %ymm6
7755vpunpcklwd const0(%rip), %ymm6, %ymm11
7756vpunpckhwd const0(%rip), %ymm6, %ymm6
7757vpaddd %ymm11, %ymm9, %ymm7
7758vpaddd %ymm6, %ymm8, %ymm3
7759vpsubd %ymm2, %ymm7, %ymm7
7760vpsubd %ymm4, %ymm3, %ymm3
7761vpsubd %ymm11, %ymm9, %ymm11
7762vpsubd %ymm6, %ymm8, %ymm6
7763vpsrld $1, %ymm11, %ymm11
7764vpsrld $1, %ymm6, %ymm6
7765vpand mask32_to_16(%rip), %ymm11, %ymm11
7766vpand mask32_to_16(%rip), %ymm6, %ymm6
7767vpackusdw %ymm6, %ymm11, %ymm6
7768vmovdqa 1632(%r8), %ymm11
7769vpunpcklwd const0(%rip), %ymm11, %ymm8
7770vpunpckhwd const0(%rip), %ymm11, %ymm9
7771vpslld $1, %ymm8, %ymm8
7772vpslld $1, %ymm9, %ymm9
7773vpsubd %ymm8, %ymm7, %ymm7
7774vpsubd %ymm9, %ymm3, %ymm3
7775vpsrld $1, %ymm7, %ymm7
7776vpsrld $1, %ymm3, %ymm3
7777vpand mask32_to_16(%rip), %ymm7, %ymm7
7778vpand mask32_to_16(%rip), %ymm3, %ymm3
7779vpackusdw %ymm3, %ymm7, %ymm3
7780vmovdqa 864(%r8), %ymm7
7781vpaddw 1120(%r8), %ymm7, %ymm9
7782vpsubw 1120(%r8), %ymm7, %ymm7
7783vpsrlw $2, %ymm7, %ymm7
7784vpsubw %ymm6, %ymm7, %ymm7
7785vpmullw %ymm14, %ymm7, %ymm7
7786vpsllw $1, %ymm5, %ymm8
7787vpsubw %ymm8, %ymm9, %ymm8
7788vpsllw $7, %ymm11, %ymm9
7789vpsubw %ymm9, %ymm8, %ymm9
7790vpsrlw $3, %ymm9, %ymm9
7791vpsubw %ymm3, %ymm9, %ymm9
7792vmovdqa 1376(%r8), %ymm8
7793vpsubw %ymm5, %ymm8, %ymm8
7794vpmullw %ymm15, %ymm11, %ymm4
7795vpsubw %ymm4, %ymm8, %ymm4
7796vpmullw %ymm14, %ymm9, %ymm9
7797vpsubw %ymm9, %ymm3, %ymm3
7798vpmullw %ymm12, %ymm9, %ymm8
7799vpaddw %ymm8, %ymm3, %ymm8
7800vpmullw %ymm12, %ymm8, %ymm8
7801vpsubw %ymm8, %ymm4, %ymm8
7802vpmullw %ymm14, %ymm8, %ymm8
7803vpsubw %ymm6, %ymm8, %ymm8
7804vpsrlw $3, %ymm8, %ymm8
7805vpsubw %ymm7, %ymm8, %ymm8
7806vpsubw %ymm8, %ymm7, %ymm7
7807vpsubw %ymm7, %ymm6, %ymm6
7808vpmullw %ymm13, %ymm8, %ymm8
7809vpsubw %ymm8, %ymm6, %ymm6
7810vpshufb shuf48_16(%rip), %ymm9, %ymm9
7811vpand mask3_5_4_3_1(%rip), %ymm9, %ymm4
7812vpand mask5_3_5_3(%rip), %ymm9, %ymm9
7813vpermq $139, %ymm4, %ymm4
7814vpand mask_keephigh(%rip), %ymm4, %ymm2
7815vpor %ymm2, %ymm9, %ymm9
7816vpaddw 2144(%r8), %ymm5, %ymm5
7817vpaddw %ymm9, %ymm5, %ymm5
7818vmovdqa %xmm4, 2144(%r8)
7819vpshufb shuf48_16(%rip), %ymm8, %ymm8
7820vpand mask3_5_4_3_1(%rip), %ymm8, %ymm4
7821vpand mask5_3_5_3(%rip), %ymm8, %ymm8
7822vpermq $139, %ymm4, %ymm4
7823vpand mask_keephigh(%rip), %ymm4, %ymm2
7824vpor %ymm2, %ymm8, %ymm8
7825vpaddw 2400(%r8), %ymm6, %ymm6
7826vpaddw %ymm8, %ymm6, %ymm6
7827vmovdqa %xmm4, 2400(%r8)
7828vpshufb shuf48_16(%rip), %ymm11, %ymm11
7829vpand mask3_5_4_3_1(%rip), %ymm11, %ymm4
7830vpand mask5_3_5_3(%rip), %ymm11, %ymm11
7831vpermq $139, %ymm4, %ymm4
7832vpand mask_keephigh(%rip), %ymm4, %ymm2
7833vpor %ymm2, %ymm11, %ymm11
7834vpaddw 2656(%r8), %ymm3, %ymm3
7835vpaddw %ymm11, %ymm3, %ymm3
7836vmovdqa %xmm4, 2656(%r8)
7837vpand mask_mod8192(%rip), %ymm5, %ymm5
7838vmovdqu %xmm5, 328(%rdi)
7839vextracti128 $1, %ymm5, %xmm5
7840vmovq %xmm5, 344(%rdi)
7841vpshufb shufmin1_mask3(%rip), %ymm5, %ymm5
7842vmovdqa %xmm5, 1792(%r8)
7843vpand mask_mod8192(%rip), %ymm6, %ymm6
7844vmovdqu %xmm6, 680(%rdi)
7845vextracti128 $1, %ymm6, %xmm6
7846vmovq %xmm6, 696(%rdi)
7847vpshufb shufmin1_mask3(%rip), %ymm6, %ymm6
7848vmovdqa %xmm6, 1824(%r8)
7849vpand mask_mod8192(%rip), %ymm3, %ymm3
7850vmovdqu %xmm3, 1032(%rdi)
7851vextracti128 $1, %ymm3, %xmm3
7852vmovq %xmm3, 1048(%rdi)
7853vpshufb shufmin1_mask3(%rip), %ymm3, %ymm3
7854vmovdqa %xmm3, 1856(%r8)
7855vpand mask_mod8192(%rip), %ymm7, %ymm7
7856vmovdqu %xmm7, 1384(%rdi)
7857vextracti128 $1, %ymm7, %xmm7
7858vpextrw $0, %xmm7, 1400(%rdi)
7859vpshufb shufmin1_mask3(%rip), %ymm7, %ymm7
7860vmovdqa %xmm7, 1888(%r8)
7861vmovdqa 128(%r8), %ymm11
7862vpunpcklwd const0(%rip), %ymm11, %ymm8
7863vpunpckhwd const0(%rip), %ymm11, %ymm9
7864vpslld $1, %ymm8, %ymm8
7865vpslld $1, %ymm9, %ymm9
7866vmovdqa 384(%r8), %ymm7
7867vpunpcklwd const0(%rip), %ymm7, %ymm3
7868vpunpckhwd const0(%rip), %ymm7, %ymm7
7869vmovdqa 640(%r8), %ymm6
7870vpunpcklwd const0(%rip), %ymm6, %ymm5
7871vpunpckhwd const0(%rip), %ymm6, %ymm6
7872vpaddd %ymm5, %ymm3, %ymm4
7873vpaddd %ymm6, %ymm7, %ymm2
7874vpsubd %ymm8, %ymm4, %ymm4
7875vpsubd %ymm9, %ymm2, %ymm2
7876vpsubd %ymm5, %ymm3, %ymm5
7877vpsubd %ymm6, %ymm7, %ymm6
7878vpsrld $1, %ymm5, %ymm5
7879vpsrld $1, %ymm6, %ymm6
7880vpand mask32_to_16(%rip), %ymm5, %ymm5
7881vpand mask32_to_16(%rip), %ymm6, %ymm6
7882vpackusdw %ymm6, %ymm5, %ymm6
7883vmovdqa 1664(%r8), %ymm5
7884vpunpcklwd const0(%rip), %ymm5, %ymm7
7885vpunpckhwd const0(%rip), %ymm5, %ymm3
7886vpslld $1, %ymm7, %ymm7
7887vpslld $1, %ymm3, %ymm3
7888vpsubd %ymm7, %ymm4, %ymm4
7889vpsubd %ymm3, %ymm2, %ymm2
7890vpsrld $1, %ymm4, %ymm4
7891vpsrld $1, %ymm2, %ymm2
7892vpand mask32_to_16(%rip), %ymm4, %ymm4
7893vpand mask32_to_16(%rip), %ymm2, %ymm2
7894vpackusdw %ymm2, %ymm4, %ymm2
7895vmovdqa 896(%r8), %ymm4
7896vpaddw 1152(%r8), %ymm4, %ymm3
7897vpsubw 1152(%r8), %ymm4, %ymm4
7898vpsrlw $2, %ymm4, %ymm4
7899vpsubw %ymm6, %ymm4, %ymm4
7900vpmullw %ymm14, %ymm4, %ymm4
7901vpsllw $1, %ymm11, %ymm7
7902vpsubw %ymm7, %ymm3, %ymm7
7903vpsllw $7, %ymm5, %ymm3
7904vpsubw %ymm3, %ymm7, %ymm3
7905vpsrlw $3, %ymm3, %ymm3
7906vpsubw %ymm2, %ymm3, %ymm3
7907vmovdqa 1408(%r8), %ymm7
7908vpsubw %ymm11, %ymm7, %ymm7
7909vpmullw %ymm15, %ymm5, %ymm9
7910vpsubw %ymm9, %ymm7, %ymm9
7911vpmullw %ymm14, %ymm3, %ymm3
7912vpsubw %ymm3, %ymm2, %ymm2
7913vpmullw %ymm12, %ymm3, %ymm7
7914vpaddw %ymm7, %ymm2, %ymm7
7915vpmullw %ymm12, %ymm7, %ymm7
7916vpsubw %ymm7, %ymm9, %ymm7
7917vpmullw %ymm14, %ymm7, %ymm7
7918vpsubw %ymm6, %ymm7, %ymm7
7919vpsrlw $3, %ymm7, %ymm7
7920vpsubw %ymm4, %ymm7, %ymm7
7921vpsubw %ymm7, %ymm4, %ymm4
7922vpsubw %ymm4, %ymm6, %ymm6
7923vpmullw %ymm13, %ymm7, %ymm7
7924vpsubw %ymm7, %ymm6, %ymm6
7925vmovdqu 416(%rdi), %ymm9
7926vmovdqu 768(%rdi), %ymm8
7927vmovdqu 1120(%rdi), %ymm10
7928vpaddw %ymm11, %ymm9, %ymm11
7929vpaddw %ymm6, %ymm8, %ymm6
7930vpaddw %ymm2, %ymm10, %ymm2
7931vpshufb shuf48_16(%rip), %ymm4, %ymm4
7932vpand mask3_5_4_3_1(%rip), %ymm4, %ymm10
7933vpand mask5_3_5_3(%rip), %ymm4, %ymm4
7934vpermq $139, %ymm10, %ymm10
7935vpand mask_keephigh(%rip), %ymm10, %ymm8
7936vpor %ymm8, %ymm4, %ymm4
7937vmovdqu 64(%rdi), %ymm8
7938vpaddw 1920(%r8), %ymm8, %ymm8
7939vpaddw %ymm4, %ymm8, %ymm8
7940vpand mask_mod8192(%rip), %ymm8, %ymm8
7941vmovdqu %xmm8, 64(%rdi)
7942vextracti128 $1, %ymm8, %xmm8
7943vmovq %xmm8, 80(%rdi)
7944vmovdqa %xmm10, 1920(%r8)
7945vpshufb shuf48_16(%rip), %ymm3, %ymm3
7946vpand mask3_5_4_3_1(%rip), %ymm3, %ymm10
7947vpand mask5_3_5_3(%rip), %ymm3, %ymm3
7948vpermq $139, %ymm10, %ymm10
7949vpand mask_keephigh(%rip), %ymm10, %ymm8
7950vpor %ymm8, %ymm3, %ymm3
7951vpaddw 2176(%r8), %ymm11, %ymm11
7952vpaddw %ymm3, %ymm11, %ymm11
7953vmovdqa %xmm10, 2176(%r8)
7954vpshufb shuf48_16(%rip), %ymm7, %ymm7
7955vpand mask3_5_4_3_1(%rip), %ymm7, %ymm10
7956vpand mask5_3_5_3(%rip), %ymm7, %ymm7
7957vpermq $139, %ymm10, %ymm10
7958vpand mask_keephigh(%rip), %ymm10, %ymm8
7959vpor %ymm8, %ymm7, %ymm7
7960vpaddw 2432(%r8), %ymm6, %ymm6
7961vpaddw %ymm7, %ymm6, %ymm6
7962vmovdqa %xmm10, 2432(%r8)
7963vpshufb shuf48_16(%rip), %ymm5, %ymm5
7964vpand mask3_5_4_3_1(%rip), %ymm5, %ymm10
7965vpand mask5_3_5_3(%rip), %ymm5, %ymm5
7966vpermq $139, %ymm10, %ymm10
7967vpand mask_keephigh(%rip), %ymm10, %ymm8
7968vpor %ymm8, %ymm5, %ymm5
7969vpaddw 2688(%r8), %ymm2, %ymm2
7970vpaddw %ymm5, %ymm2, %ymm2
7971vmovdqa %xmm10, 2688(%r8)
7972vpand mask_mod8192(%rip), %ymm11, %ymm11
7973vmovdqu %xmm11, 416(%rdi)
7974vextracti128 $1, %ymm11, %xmm11
7975vmovq %xmm11, 432(%rdi)
7976vpand mask_mod8192(%rip), %ymm6, %ymm6
7977vmovdqu %xmm6, 768(%rdi)
7978vextracti128 $1, %ymm6, %xmm6
7979vmovq %xmm6, 784(%rdi)
7980vpand mask_mod8192(%rip), %ymm2, %ymm2
7981vmovdqu %xmm2, 1120(%rdi)
7982vextracti128 $1, %ymm2, %xmm2
7983vmovq %xmm2, 1136(%rdi)
7984vmovdqa 160(%r8), %ymm5
7985vpunpcklwd const0(%rip), %ymm5, %ymm7
7986vpunpckhwd const0(%rip), %ymm5, %ymm3
7987vpslld $1, %ymm7, %ymm7
7988vpslld $1, %ymm3, %ymm3
7989vmovdqa 416(%r8), %ymm4
7990vpunpcklwd const0(%rip), %ymm4, %ymm2
7991vpunpckhwd const0(%rip), %ymm4, %ymm4
7992vmovdqa 672(%r8), %ymm6
7993vpunpcklwd const0(%rip), %ymm6, %ymm11
7994vpunpckhwd const0(%rip), %ymm6, %ymm6
7995vpaddd %ymm11, %ymm2, %ymm10
7996vpaddd %ymm6, %ymm4, %ymm8
7997vpsubd %ymm7, %ymm10, %ymm10
7998vpsubd %ymm3, %ymm8, %ymm8
7999vpsubd %ymm11, %ymm2, %ymm11
8000vpsubd %ymm6, %ymm4, %ymm6
8001vpsrld $1, %ymm11, %ymm11
8002vpsrld $1, %ymm6, %ymm6
8003vpand mask32_to_16(%rip), %ymm11, %ymm11
8004vpand mask32_to_16(%rip), %ymm6, %ymm6
8005vpackusdw %ymm6, %ymm11, %ymm6
8006vmovdqa 1696(%r8), %ymm11
8007vpunpcklwd const0(%rip), %ymm11, %ymm4
8008vpunpckhwd const0(%rip), %ymm11, %ymm2
8009vpslld $1, %ymm4, %ymm4
8010vpslld $1, %ymm2, %ymm2
8011vpsubd %ymm4, %ymm10, %ymm10
8012vpsubd %ymm2, %ymm8, %ymm8
8013vpsrld $1, %ymm10, %ymm10
8014vpsrld $1, %ymm8, %ymm8
8015vpand mask32_to_16(%rip), %ymm10, %ymm10
8016vpand mask32_to_16(%rip), %ymm8, %ymm8
8017vpackusdw %ymm8, %ymm10, %ymm8
8018vmovdqa 928(%r8), %ymm10
8019vpaddw 1184(%r8), %ymm10, %ymm2
8020vpsubw 1184(%r8), %ymm10, %ymm10
8021vpsrlw $2, %ymm10, %ymm10
8022vpsubw %ymm6, %ymm10, %ymm10
8023vpmullw %ymm14, %ymm10, %ymm10
8024vpsllw $1, %ymm5, %ymm4
8025vpsubw %ymm4, %ymm2, %ymm4
8026vpsllw $7, %ymm11, %ymm2
8027vpsubw %ymm2, %ymm4, %ymm2
8028vpsrlw $3, %ymm2, %ymm2
8029vpsubw %ymm8, %ymm2, %ymm2
8030vmovdqa 1440(%r8), %ymm4
8031vpsubw %ymm5, %ymm4, %ymm4
8032vpmullw %ymm15, %ymm11, %ymm3
8033vpsubw %ymm3, %ymm4, %ymm3
8034vpmullw %ymm14, %ymm2, %ymm2
8035vpsubw %ymm2, %ymm8, %ymm8
8036vpmullw %ymm12, %ymm2, %ymm4
8037vpaddw %ymm4, %ymm8, %ymm4
8038vpmullw %ymm12, %ymm4, %ymm4
8039vpsubw %ymm4, %ymm3, %ymm4
8040vpmullw %ymm14, %ymm4, %ymm4
8041vpsubw %ymm6, %ymm4, %ymm4
8042vpsrlw $3, %ymm4, %ymm4
8043vpsubw %ymm10, %ymm4, %ymm4
8044vpsubw %ymm4, %ymm10, %ymm10
8045vpsubw %ymm10, %ymm6, %ymm6
8046vpmullw %ymm13, %ymm4, %ymm4
8047vpsubw %ymm4, %ymm6, %ymm6
8048vmovdqu 504(%rdi), %ymm3
8049vmovdqu 856(%rdi), %ymm7
8050vmovdqu 1208(%rdi), %ymm9
8051vpaddw %ymm5, %ymm3, %ymm5
8052vpaddw %ymm6, %ymm7, %ymm6
8053vpaddw %ymm8, %ymm9, %ymm8
8054vpshufb shuf48_16(%rip), %ymm10, %ymm10
8055vpand mask3_5_4_3_1(%rip), %ymm10, %ymm9
8056vpand mask5_3_5_3(%rip), %ymm10, %ymm10
8057vpermq $139, %ymm9, %ymm9
8058vpand mask_keephigh(%rip), %ymm9, %ymm7
8059vpor %ymm7, %ymm10, %ymm10
8060vmovdqu 152(%rdi), %ymm7
8061vpaddw 1952(%r8), %ymm7, %ymm7
8062vpaddw %ymm10, %ymm7, %ymm7
8063vpand mask_mod8192(%rip), %ymm7, %ymm7
8064vmovdqu %xmm7, 152(%rdi)
8065vextracti128 $1, %ymm7, %xmm7
8066vmovq %xmm7, 168(%rdi)
8067vmovdqa %xmm9, 1952(%r8)
8068vpshufb shuf48_16(%rip), %ymm2, %ymm2
8069vpand mask3_5_4_3_1(%rip), %ymm2, %ymm9
8070vpand mask5_3_5_3(%rip), %ymm2, %ymm2
8071vpermq $139, %ymm9, %ymm9
8072vpand mask_keephigh(%rip), %ymm9, %ymm7
8073vpor %ymm7, %ymm2, %ymm2
8074vpaddw 2208(%r8), %ymm5, %ymm5
8075vpaddw %ymm2, %ymm5, %ymm5
8076vmovdqa %xmm9, 2208(%r8)
8077vpshufb shuf48_16(%rip), %ymm4, %ymm4
8078vpand mask3_5_4_3_1(%rip), %ymm4, %ymm9
8079vpand mask5_3_5_3(%rip), %ymm4, %ymm4
8080vpermq $139, %ymm9, %ymm9
8081vpand mask_keephigh(%rip), %ymm9, %ymm7
8082vpor %ymm7, %ymm4, %ymm4
8083vpaddw 2464(%r8), %ymm6, %ymm6
8084vpaddw %ymm4, %ymm6, %ymm6
8085vmovdqa %xmm9, 2464(%r8)
8086vpshufb shuf48_16(%rip), %ymm11, %ymm11
8087vpand mask3_5_4_3_1(%rip), %ymm11, %ymm9
8088vpand mask5_3_5_3(%rip), %ymm11, %ymm11
8089vpermq $139, %ymm9, %ymm9
8090vpand mask_keephigh(%rip), %ymm9, %ymm7
8091vpor %ymm7, %ymm11, %ymm11
8092vpaddw 2720(%r8), %ymm8, %ymm8
8093vpaddw %ymm11, %ymm8, %ymm8
8094vmovdqa %xmm9, 2720(%r8)
8095vpand mask_mod8192(%rip), %ymm5, %ymm5
8096vmovdqu %xmm5, 504(%rdi)
8097vextracti128 $1, %ymm5, %xmm5
8098vmovq %xmm5, 520(%rdi)
8099vpand mask_mod8192(%rip), %ymm6, %ymm6
8100vmovdqu %xmm6, 856(%rdi)
8101vextracti128 $1, %ymm6, %xmm6
8102vmovq %xmm6, 872(%rdi)
8103vpand mask_mod8192(%rip), %ymm8, %ymm8
8104vmovdqu %xmm8, 1208(%rdi)
8105vextracti128 $1, %ymm8, %xmm8
8106vmovq %xmm8, 1224(%rdi)
8107vmovdqa 192(%r8), %ymm11
8108vpunpcklwd const0(%rip), %ymm11, %ymm4
8109vpunpckhwd const0(%rip), %ymm11, %ymm2
8110vpslld $1, %ymm4, %ymm4
8111vpslld $1, %ymm2, %ymm2
8112vmovdqa 448(%r8), %ymm10
8113vpunpcklwd const0(%rip), %ymm10, %ymm8
8114vpunpckhwd const0(%rip), %ymm10, %ymm10
8115vmovdqa 704(%r8), %ymm6
8116vpunpcklwd const0(%rip), %ymm6, %ymm5
8117vpunpckhwd const0(%rip), %ymm6, %ymm6
8118vpaddd %ymm5, %ymm8, %ymm9
8119vpaddd %ymm6, %ymm10, %ymm7
8120vpsubd %ymm4, %ymm9, %ymm9
8121vpsubd %ymm2, %ymm7, %ymm7
8122vpsubd %ymm5, %ymm8, %ymm5
8123vpsubd %ymm6, %ymm10, %ymm6
8124vpsrld $1, %ymm5, %ymm5
8125vpsrld $1, %ymm6, %ymm6
8126vpand mask32_to_16(%rip), %ymm5, %ymm5
8127vpand mask32_to_16(%rip), %ymm6, %ymm6
8128vpackusdw %ymm6, %ymm5, %ymm6
8129vmovdqa 1728(%r8), %ymm5
8130vpunpcklwd const0(%rip), %ymm5, %ymm10
8131vpunpckhwd const0(%rip), %ymm5, %ymm8
8132vpslld $1, %ymm10, %ymm10
8133vpslld $1, %ymm8, %ymm8
8134vpsubd %ymm10, %ymm9, %ymm9
8135vpsubd %ymm8, %ymm7, %ymm7
8136vpsrld $1, %ymm9, %ymm9
8137vpsrld $1, %ymm7, %ymm7
8138vpand mask32_to_16(%rip), %ymm9, %ymm9
8139vpand mask32_to_16(%rip), %ymm7, %ymm7
8140vpackusdw %ymm7, %ymm9, %ymm7
8141vmovdqa 960(%r8), %ymm9
8142vpaddw 1216(%r8), %ymm9, %ymm8
8143vpsubw 1216(%r8), %ymm9, %ymm9
8144vpsrlw $2, %ymm9, %ymm9
8145vpsubw %ymm6, %ymm9, %ymm9
8146vpmullw %ymm14, %ymm9, %ymm9
8147vpsllw $1, %ymm11, %ymm10
8148vpsubw %ymm10, %ymm8, %ymm10
8149vpsllw $7, %ymm5, %ymm8
8150vpsubw %ymm8, %ymm10, %ymm8
8151vpsrlw $3, %ymm8, %ymm8
8152vpsubw %ymm7, %ymm8, %ymm8
8153vmovdqa 1472(%r8), %ymm10
8154vpsubw %ymm11, %ymm10, %ymm10
8155vpmullw %ymm15, %ymm5, %ymm2
8156vpsubw %ymm2, %ymm10, %ymm2
8157vpmullw %ymm14, %ymm8, %ymm8
8158vpsubw %ymm8, %ymm7, %ymm7
8159vpmullw %ymm12, %ymm8, %ymm10
8160vpaddw %ymm10, %ymm7, %ymm10
8161vpmullw %ymm12, %ymm10, %ymm10
8162vpsubw %ymm10, %ymm2, %ymm10
8163vpmullw %ymm14, %ymm10, %ymm10
8164vpsubw %ymm6, %ymm10, %ymm10
8165vpsrlw $3, %ymm10, %ymm10
8166vpsubw %ymm9, %ymm10, %ymm10
8167vpsubw %ymm10, %ymm9, %ymm9
8168vpsubw %ymm9, %ymm6, %ymm6
8169vpmullw %ymm13, %ymm10, %ymm10
8170vpsubw %ymm10, %ymm6, %ymm6
8171vmovdqu 592(%rdi), %ymm2
8172vmovdqu 944(%rdi), %ymm4
8173vmovdqu 1296(%rdi), %ymm3
8174vpaddw %ymm11, %ymm2, %ymm11
8175vpaddw %ymm6, %ymm4, %ymm6
8176vpaddw %ymm7, %ymm3, %ymm7
8177vpshufb shuf48_16(%rip), %ymm9, %ymm9
8178vpand mask3_5_4_3_1(%rip), %ymm9, %ymm3
8179vpand mask5_3_5_3(%rip), %ymm9, %ymm9
8180vpermq $139, %ymm3, %ymm3
8181vpand mask_keephigh(%rip), %ymm3, %ymm4
8182vpor %ymm4, %ymm9, %ymm9
8183vmovdqu 240(%rdi), %ymm4
8184vpaddw 1984(%r8), %ymm4, %ymm4
8185vpaddw %ymm9, %ymm4, %ymm4
8186vpand mask_mod8192(%rip), %ymm4, %ymm4
8187vmovdqu %xmm4, 240(%rdi)
8188vextracti128 $1, %ymm4, %xmm4
8189vmovq %xmm4, 256(%rdi)
8190vmovdqa %xmm3, 1984(%r8)
8191vpshufb shuf48_16(%rip), %ymm8, %ymm8
8192vpand mask3_5_4_3_1(%rip), %ymm8, %ymm3
8193vpand mask5_3_5_3(%rip), %ymm8, %ymm8
8194vpermq $139, %ymm3, %ymm3
8195vpand mask_keephigh(%rip), %ymm3, %ymm4
8196vpor %ymm4, %ymm8, %ymm8
8197vpaddw 2240(%r8), %ymm11, %ymm11
8198vpaddw %ymm8, %ymm11, %ymm11
8199vmovdqa %xmm3, 2240(%r8)
8200vpshufb shuf48_16(%rip), %ymm10, %ymm10
8201vpand mask3_5_4_3_1(%rip), %ymm10, %ymm3
8202vpand mask5_3_5_3(%rip), %ymm10, %ymm10
8203vpermq $139, %ymm3, %ymm3
8204vpand mask_keephigh(%rip), %ymm3, %ymm4
8205vpor %ymm4, %ymm10, %ymm10
8206vpaddw 2496(%r8), %ymm6, %ymm6
8207vpaddw %ymm10, %ymm6, %ymm6
8208vmovdqa %xmm3, 2496(%r8)
8209vpshufb shuf48_16(%rip), %ymm5, %ymm5
8210vpand mask3_5_4_3_1(%rip), %ymm5, %ymm3
8211vpand mask5_3_5_3(%rip), %ymm5, %ymm5
8212vpermq $139, %ymm3, %ymm3
8213vpand mask_keephigh(%rip), %ymm3, %ymm4
8214vpor %ymm4, %ymm5, %ymm5
8215vpaddw 2752(%r8), %ymm7, %ymm7
8216vpaddw %ymm5, %ymm7, %ymm7
8217vmovdqa %xmm3, 2752(%r8)
8218vpand mask_mod8192(%rip), %ymm11, %ymm11
8219vmovdqu %xmm11, 592(%rdi)
8220vextracti128 $1, %ymm11, %xmm11
8221vmovq %xmm11, 608(%rdi)
8222vpand mask_mod8192(%rip), %ymm6, %ymm6
8223vmovdqu %xmm6, 944(%rdi)
8224vextracti128 $1, %ymm6, %xmm6
8225vmovq %xmm6, 960(%rdi)
8226vpand mask_mod8192(%rip), %ymm7, %ymm7
8227vmovdqu %xmm7, 1296(%rdi)
8228vextracti128 $1, %ymm7, %xmm7
8229vmovq %xmm7, 1312(%rdi)
8230vmovdqa 224(%r8), %ymm5
8231vpunpcklwd const0(%rip), %ymm5, %ymm10
8232vpunpckhwd const0(%rip), %ymm5, %ymm8
8233vpslld $1, %ymm10, %ymm10
8234vpslld $1, %ymm8, %ymm8
8235vmovdqa 480(%r8), %ymm9
8236vpunpcklwd const0(%rip), %ymm9, %ymm7
8237vpunpckhwd const0(%rip), %ymm9, %ymm9
8238vmovdqa 736(%r8), %ymm6
8239vpunpcklwd const0(%rip), %ymm6, %ymm11
8240vpunpckhwd const0(%rip), %ymm6, %ymm6
8241vpaddd %ymm11, %ymm7, %ymm3
8242vpaddd %ymm6, %ymm9, %ymm4
8243vpsubd %ymm10, %ymm3, %ymm3
8244vpsubd %ymm8, %ymm4, %ymm4
8245vpsubd %ymm11, %ymm7, %ymm11
8246vpsubd %ymm6, %ymm9, %ymm6
8247vpsrld $1, %ymm11, %ymm11
8248vpsrld $1, %ymm6, %ymm6
8249vpand mask32_to_16(%rip), %ymm11, %ymm11
8250vpand mask32_to_16(%rip), %ymm6, %ymm6
8251vpackusdw %ymm6, %ymm11, %ymm6
8252vmovdqa 1760(%r8), %ymm11
8253vpunpcklwd const0(%rip), %ymm11, %ymm9
8254vpunpckhwd const0(%rip), %ymm11, %ymm7
8255vpslld $1, %ymm9, %ymm9
8256vpslld $1, %ymm7, %ymm7
8257vpsubd %ymm9, %ymm3, %ymm3
8258vpsubd %ymm7, %ymm4, %ymm4
8259vpsrld $1, %ymm3, %ymm3
8260vpsrld $1, %ymm4, %ymm4
8261vpand mask32_to_16(%rip), %ymm3, %ymm3
8262vpand mask32_to_16(%rip), %ymm4, %ymm4
8263vpackusdw %ymm4, %ymm3, %ymm4
8264vmovdqa 992(%r8), %ymm3
8265vpaddw 1248(%r8), %ymm3, %ymm7
8266vpsubw 1248(%r8), %ymm3, %ymm3
8267vpsrlw $2, %ymm3, %ymm3
8268vpsubw %ymm6, %ymm3, %ymm3
8269vpmullw %ymm14, %ymm3, %ymm3
8270vpsllw $1, %ymm5, %ymm9
8271vpsubw %ymm9, %ymm7, %ymm9
8272vpsllw $7, %ymm11, %ymm7
8273vpsubw %ymm7, %ymm9, %ymm7
8274vpsrlw $3, %ymm7, %ymm7
8275vpsubw %ymm4, %ymm7, %ymm7
8276vmovdqa 1504(%r8), %ymm9
8277vpsubw %ymm5, %ymm9, %ymm9
8278vpmullw %ymm15, %ymm11, %ymm8
8279vpsubw %ymm8, %ymm9, %ymm8
8280vpmullw %ymm14, %ymm7, %ymm7
8281vpsubw %ymm7, %ymm4, %ymm4
8282vpmullw %ymm12, %ymm7, %ymm9
8283vpaddw %ymm9, %ymm4, %ymm9
8284vpmullw %ymm12, %ymm9, %ymm9
8285vpsubw %ymm9, %ymm8, %ymm9
8286vpmullw %ymm14, %ymm9, %ymm9
8287vpsubw %ymm6, %ymm9, %ymm9
8288vpsrlw $3, %ymm9, %ymm9
8289vpsubw %ymm3, %ymm9, %ymm9
8290vpsubw %ymm9, %ymm3, %ymm3
8291vpsubw %ymm3, %ymm6, %ymm6
8292vpmullw %ymm13, %ymm9, %ymm9
8293vpsubw %ymm9, %ymm6, %ymm6
8294vextracti128 $1, %ymm4, %xmm8
8295vpshufb shufmin1_mask3(%rip), %ymm8, %ymm8
8296vmovdqa %ymm8, 2816(%r8)
8297vextracti128 $1, %ymm3, %xmm8
8298vpshufb shufmin1_mask3(%rip), %ymm8, %ymm8
8299vmovdqa %ymm8, 2848(%r8)
8300vextracti128 $1, %ymm7, %xmm8
8301vpshufb shufmin1_mask3(%rip), %ymm8, %ymm8
8302vmovdqa %ymm8, 2880(%r8)
8303vmovdqu 680(%rdi), %ymm8
8304vmovdqu 1032(%rdi), %ymm10
8305
8306# Only 18 bytes can be read at 1384, but vmovdqu reads 32.
8307# Copy 18 bytes to the red zone and zero pad to 32 bytes.
8308xor %r9, %r9
8309movq %r9, -16(%rsp)
8310movq %r9, -8(%rsp)
8311movq 1384(%rdi), %r9
8312movq %r9, -32(%rsp)
8313movq 1384+8(%rdi), %r9
8314movq %r9, -24(%rsp)
8315movw 1384+16(%rdi), %r9w
8316movw %r9w, -16(%rsp)
8317vmovdqu -32(%rsp), %ymm2
8318
8319vpaddw %ymm5, %ymm8, %ymm5
8320vpaddw %ymm6, %ymm10, %ymm6
8321vpaddw %ymm4, %ymm2, %ymm4
8322vpshufb shuf48_16(%rip), %ymm3, %ymm3
8323vpand mask3_5_4_3_1(%rip), %ymm3, %ymm2
8324vpand mask5_3_5_3(%rip), %ymm3, %ymm3
8325vpermq $139, %ymm2, %ymm2
8326vpand mask_keephigh(%rip), %ymm2, %ymm10
8327vpor %ymm10, %ymm3, %ymm3
8328vmovdqu 328(%rdi), %ymm10
8329vpaddw 2016(%r8), %ymm10, %ymm10
8330vpaddw %ymm3, %ymm10, %ymm10
8331vpand mask_mod8192(%rip), %ymm10, %ymm10
8332vmovdqu %xmm10, 328(%rdi)
8333vextracti128 $1, %ymm10, %xmm10
8334vmovq %xmm10, 344(%rdi)
8335vpshufb shufmin1_mask3(%rip), %ymm10, %ymm10
8336vmovdqa %xmm10, 1792(%r8)
8337vmovdqa %xmm2, 2016(%r8)
8338vpshufb shuf48_16(%rip), %ymm7, %ymm7
8339vpand mask3_5_4_3_1(%rip), %ymm7, %ymm2
8340vpand mask5_3_5_3(%rip), %ymm7, %ymm7
8341vpermq $139, %ymm2, %ymm2
8342vpand mask_keephigh(%rip), %ymm2, %ymm10
8343vpor %ymm10, %ymm7, %ymm7
8344vpaddw 2272(%r8), %ymm5, %ymm5
8345vpaddw %ymm7, %ymm5, %ymm5
8346vmovdqa %xmm2, 2272(%r8)
8347vpshufb shuf48_16(%rip), %ymm9, %ymm9
8348vpand mask3_5_4_3_1(%rip), %ymm9, %ymm2
8349vpand mask5_3_5_3(%rip), %ymm9, %ymm9
8350vpermq $139, %ymm2, %ymm2
8351vpand mask_keephigh(%rip), %ymm2, %ymm10
8352vpor %ymm10, %ymm9, %ymm9
8353vpaddw 2528(%r8), %ymm6, %ymm6
8354vpaddw %ymm9, %ymm6, %ymm6
8355vmovdqa %xmm2, 2528(%r8)
8356vpshufb shuf48_16(%rip), %ymm11, %ymm11
8357vpand mask3_5_4_3_1(%rip), %ymm11, %ymm2
8358vpand mask5_3_5_3(%rip), %ymm11, %ymm11
8359vpermq $139, %ymm2, %ymm2
8360vpand mask_keephigh(%rip), %ymm2, %ymm10
8361vpor %ymm10, %ymm11, %ymm11
8362vpaddw 2784(%r8), %ymm4, %ymm4
8363vpaddw %ymm11, %ymm4, %ymm4
8364vmovdqa %xmm2, 2784(%r8)
8365vpand mask_mod8192(%rip), %ymm5, %ymm5
8366vmovdqu %xmm5, 680(%rdi)
8367vextracti128 $1, %ymm5, %xmm5
8368vmovq %xmm5, 696(%rdi)
8369vpand mask_mod8192(%rip), %ymm6, %ymm6
8370vmovdqu %xmm6, 1032(%rdi)
8371vextracti128 $1, %ymm6, %xmm6
8372vmovq %xmm6, 1048(%rdi)
8373vpand mask_mod8192(%rip), %ymm4, %ymm4
8374vmovdqu %xmm4, 1384(%rdi)
8375vextracti128 $1, %ymm4, %xmm4
8376vpextrw $0, %xmm4, 1400(%rdi)
8377vmovdqu 0(%rdi), %ymm11
8378vpaddw 1888(%r8), %ymm11, %ymm11
8379vpaddw 2816(%r8), %ymm11, %ymm11
8380vpand mask_mod8192(%rip), %ymm11, %ymm11
8381vmovdqu %ymm11, 0(%rdi)
8382vmovdqu 352(%rdi), %ymm11
8383vpaddw 2528(%r8), %ymm11, %ymm11
8384vpaddw 2848(%r8), %ymm11, %ymm11
8385vpand mask_mod8192(%rip), %ymm11, %ymm11
8386vmovdqu %ymm11, 352(%rdi)
8387vmovdqu 704(%rdi), %ymm11
8388vpaddw 2784(%r8), %ymm11, %ymm11
8389vpaddw 2880(%r8), %ymm11, %ymm11
8390vpand mask_mod8192(%rip), %ymm11, %ymm11
8391vmovdqu %ymm11, 704(%rdi)
8392vmovdqu 88(%rdi), %ymm11
8393vpaddw 2048(%r8), %ymm11, %ymm11
8394vpaddw 1920(%r8), %ymm11, %ymm11
8395vpand mask_mod8192(%rip), %ymm11, %ymm11
8396vmovdqu %ymm11, 88(%rdi)
8397vmovdqu 440(%rdi), %ymm11
8398vpaddw 2304(%r8), %ymm11, %ymm11
8399vpand mask_mod8192(%rip), %ymm11, %ymm11
8400vmovdqu %ymm11, 440(%rdi)
8401vmovdqu 792(%rdi), %ymm11
8402vpaddw 2560(%r8), %ymm11, %ymm11
8403vpand mask_mod8192(%rip), %ymm11, %ymm11
8404vmovdqu %ymm11, 792(%rdi)
8405vmovdqu 176(%rdi), %ymm11
8406vpaddw 2080(%r8), %ymm11, %ymm11
8407vpaddw 1952(%r8), %ymm11, %ymm11
8408vpand mask_mod8192(%rip), %ymm11, %ymm11
8409vmovdqu %ymm11, 176(%rdi)
8410vmovdqu 528(%rdi), %ymm11
8411vpaddw 2336(%r8), %ymm11, %ymm11
8412vpand mask_mod8192(%rip), %ymm11, %ymm11
8413vmovdqu %ymm11, 528(%rdi)
8414vmovdqu 880(%rdi), %ymm11
8415vpaddw 2592(%r8), %ymm11, %ymm11
8416vpand mask_mod8192(%rip), %ymm11, %ymm11
8417vmovdqu %ymm11, 880(%rdi)
8418vmovdqu 264(%rdi), %ymm11
8419vpaddw 2112(%r8), %ymm11, %ymm11
8420vpaddw 1984(%r8), %ymm11, %ymm11
8421vpand mask_mod8192(%rip), %ymm11, %ymm11
8422vmovdqu %ymm11, 264(%rdi)
8423vmovdqu 616(%rdi), %ymm11
8424vpaddw 2368(%r8), %ymm11, %ymm11
8425vpand mask_mod8192(%rip), %ymm11, %ymm11
8426vmovdqu %ymm11, 616(%rdi)
8427vmovdqu 968(%rdi), %ymm11
8428vpaddw 2624(%r8), %ymm11, %ymm11
8429vpand mask_mod8192(%rip), %ymm11, %ymm11
8430vmovdqu %ymm11, 968(%rdi)
8431vmovdqu 352(%rdi), %ymm11
8432vpaddw 2144(%r8), %ymm11, %ymm11
8433vpand mask_mod8192(%rip), %ymm11, %ymm11
8434vmovdqu %ymm11, 352(%rdi)
8435vmovdqu 704(%rdi), %ymm11
8436vpaddw 2400(%r8), %ymm11, %ymm11
8437vpand mask_mod8192(%rip), %ymm11, %ymm11
8438vmovdqu %ymm11, 704(%rdi)
8439vmovdqu 1056(%rdi), %ymm11
8440vpaddw 2656(%r8), %ymm11, %ymm11
8441vpand mask_mod8192(%rip), %ymm11, %ymm11
8442vmovdqu %ymm11, 1056(%rdi)
8443vmovdqu 440(%rdi), %ymm11
8444vpaddw 2176(%r8), %ymm11, %ymm11
8445vpand mask_mod8192(%rip), %ymm11, %ymm11
8446vmovdqu %ymm11, 440(%rdi)
8447vmovdqu 792(%rdi), %ymm11
8448vpaddw 2432(%r8), %ymm11, %ymm11
8449vpand mask_mod8192(%rip), %ymm11, %ymm11
8450vmovdqu %ymm11, 792(%rdi)
8451vmovdqu 1144(%rdi), %ymm11
8452vpaddw 2688(%r8), %ymm11, %ymm11
8453vpand mask_mod8192(%rip), %ymm11, %ymm11
8454vmovdqu %ymm11, 1144(%rdi)
8455vmovdqu 528(%rdi), %ymm11
8456vpaddw 2208(%r8), %ymm11, %ymm11
8457vpand mask_mod8192(%rip), %ymm11, %ymm11
8458vmovdqu %ymm11, 528(%rdi)
8459vmovdqu 880(%rdi), %ymm11
8460vpaddw 2464(%r8), %ymm11, %ymm11
8461vpand mask_mod8192(%rip), %ymm11, %ymm11
8462vmovdqu %ymm11, 880(%rdi)
8463vmovdqu 1232(%rdi), %ymm11
8464vpaddw 2720(%r8), %ymm11, %ymm11
8465vpand mask_mod8192(%rip), %ymm11, %ymm11
8466vmovdqu %ymm11, 1232(%rdi)
8467vmovdqu 616(%rdi), %ymm11
8468vpaddw 2240(%r8), %ymm11, %ymm11
8469vpand mask_mod8192(%rip), %ymm11, %ymm11
8470vmovdqu %ymm11, 616(%rdi)
8471vmovdqu 968(%rdi), %ymm11
8472vpaddw 2496(%r8), %ymm11, %ymm11
8473vpand mask_mod8192(%rip), %ymm11, %ymm11
8474vmovdqu %ymm11, 968(%rdi)
8475vmovdqu 1320(%rdi), %ymm11
8476vpaddw 2752(%r8), %ymm11, %ymm11
8477vpand mask_mod8192(%rip), %ymm11, %ymm11
8478vmovdqu %ymm11, 1320(%rdi)
8479pop %r12
8480.cfi_restore r12
8481pop %rbp
8482.cfi_restore rbp
8483.cfi_def_cfa_register rsp
8484.cfi_adjust_cfa_offset -8
8485ret
8486.cfi_endproc
8487.size poly_Rq_mul,.-poly_Rq_mul
8488
8489#endif
8490
8491#if defined(__ELF__)
8492.section	.note.GNU-stack,"",%progbits
8493#endif
8494