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