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