if_iwm - Recognize IWM_FW_PAGING_BLOCK_CMD wide cmd response correctly.
[dragonfly.git] / lib / libcrypto / asm / aesni-sha1-x86_64.s
1 .text   
2
3
4 .globl  aesni_cbc_sha1_enc
5 .type   aesni_cbc_sha1_enc,@function
6 .align  32
7 aesni_cbc_sha1_enc:
8
9         movl    OPENSSL_ia32cap_P+0(%rip),%r10d
10         movq    OPENSSL_ia32cap_P+4(%rip),%r11
11         btq     $61,%r11
12         jc      aesni_cbc_sha1_enc_shaext
13         andl    $268435456,%r11d
14         andl    $1073741824,%r10d
15         orl     %r11d,%r10d
16         cmpl    $1342177280,%r10d
17         je      aesni_cbc_sha1_enc_avx
18         jmp     aesni_cbc_sha1_enc_ssse3
19         .byte   0xf3,0xc3
20 .size   aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc
21 .type   aesni_cbc_sha1_enc_ssse3,@function
22 .align  32
23 aesni_cbc_sha1_enc_ssse3:
24         movq    8(%rsp),%r10
25
26
27         pushq   %rbx
28         pushq   %rbp
29         pushq   %r12
30         pushq   %r13
31         pushq   %r14
32         pushq   %r15
33         leaq    -104(%rsp),%rsp
34
35
36         movq    %rdi,%r12
37         movq    %rsi,%r13
38         movq    %rdx,%r14
39         leaq    112(%rcx),%r15
40         movdqu  (%r8),%xmm2
41         movq    %r8,88(%rsp)
42         shlq    $6,%r14
43         subq    %r12,%r13
44         movl    240-112(%r15),%r8d
45         addq    %r10,%r14
46
47         leaq    K_XX_XX(%rip),%r11
48         movl    0(%r9),%eax
49         movl    4(%r9),%ebx
50         movl    8(%r9),%ecx
51         movl    12(%r9),%edx
52         movl    %ebx,%esi
53         movl    16(%r9),%ebp
54         movl    %ecx,%edi
55         xorl    %edx,%edi
56         andl    %edi,%esi
57
58         movdqa  64(%r11),%xmm3
59         movdqa  0(%r11),%xmm13
60         movdqu  0(%r10),%xmm4
61         movdqu  16(%r10),%xmm5
62         movdqu  32(%r10),%xmm6
63         movdqu  48(%r10),%xmm7
64 .byte   102,15,56,0,227
65 .byte   102,15,56,0,235
66 .byte   102,15,56,0,243
67         addq    $64,%r10
68         paddd   %xmm13,%xmm4
69 .byte   102,15,56,0,251
70         paddd   %xmm13,%xmm5
71         paddd   %xmm13,%xmm6
72         movdqa  %xmm4,0(%rsp)
73         psubd   %xmm13,%xmm4
74         movdqa  %xmm5,16(%rsp)
75         psubd   %xmm13,%xmm5
76         movdqa  %xmm6,32(%rsp)
77         psubd   %xmm13,%xmm6
78         movups  -112(%r15),%xmm15
79         movups  16-112(%r15),%xmm0
80         jmp     .Loop_ssse3
81 .align  32
82 .Loop_ssse3:
83         rorl    $2,%ebx
84         movups  0(%r12),%xmm14
85         xorps   %xmm15,%xmm14
86         xorps   %xmm14,%xmm2
87         movups  -80(%r15),%xmm1
88 .byte   102,15,56,220,208
89         pshufd  $238,%xmm4,%xmm8
90         xorl    %edx,%esi
91         movdqa  %xmm7,%xmm12
92         paddd   %xmm7,%xmm13
93         movl    %eax,%edi
94         addl    0(%rsp),%ebp
95         punpcklqdq      %xmm5,%xmm8
96         xorl    %ecx,%ebx
97         roll    $5,%eax
98         addl    %esi,%ebp
99         psrldq  $4,%xmm12
100         andl    %ebx,%edi
101         xorl    %ecx,%ebx
102         pxor    %xmm4,%xmm8
103         addl    %eax,%ebp
104         rorl    $7,%eax
105         pxor    %xmm6,%xmm12
106         xorl    %ecx,%edi
107         movl    %ebp,%esi
108         addl    4(%rsp),%edx
109         pxor    %xmm12,%xmm8
110         xorl    %ebx,%eax
111         roll    $5,%ebp
112         movdqa  %xmm13,48(%rsp)
113         addl    %edi,%edx
114         movups  -64(%r15),%xmm0
115 .byte   102,15,56,220,209
116         andl    %eax,%esi
117         movdqa  %xmm8,%xmm3
118         xorl    %ebx,%eax
119         addl    %ebp,%edx
120         rorl    $7,%ebp
121         movdqa  %xmm8,%xmm12
122         xorl    %ebx,%esi
123         pslldq  $12,%xmm3
124         paddd   %xmm8,%xmm8
125         movl    %edx,%edi
126         addl    8(%rsp),%ecx
127         psrld   $31,%xmm12
128         xorl    %eax,%ebp
129         roll    $5,%edx
130         addl    %esi,%ecx
131         movdqa  %xmm3,%xmm13
132         andl    %ebp,%edi
133         xorl    %eax,%ebp
134         psrld   $30,%xmm3
135         addl    %edx,%ecx
136         rorl    $7,%edx
137         por     %xmm12,%xmm8
138         xorl    %eax,%edi
139         movl    %ecx,%esi
140         addl    12(%rsp),%ebx
141         movups  -48(%r15),%xmm1
142 .byte   102,15,56,220,208
143         pslld   $2,%xmm13
144         pxor    %xmm3,%xmm8
145         xorl    %ebp,%edx
146         movdqa  0(%r11),%xmm3
147         roll    $5,%ecx
148         addl    %edi,%ebx
149         andl    %edx,%esi
150         pxor    %xmm13,%xmm8
151         xorl    %ebp,%edx
152         addl    %ecx,%ebx
153         rorl    $7,%ecx
154         pshufd  $238,%xmm5,%xmm9
155         xorl    %ebp,%esi
156         movdqa  %xmm8,%xmm13
157         paddd   %xmm8,%xmm3
158         movl    %ebx,%edi
159         addl    16(%rsp),%eax
160         punpcklqdq      %xmm6,%xmm9
161         xorl    %edx,%ecx
162         roll    $5,%ebx
163         addl    %esi,%eax
164         psrldq  $4,%xmm13
165         andl    %ecx,%edi
166         xorl    %edx,%ecx
167         pxor    %xmm5,%xmm9
168         addl    %ebx,%eax
169         rorl    $7,%ebx
170         movups  -32(%r15),%xmm0
171 .byte   102,15,56,220,209
172         pxor    %xmm7,%xmm13
173         xorl    %edx,%edi
174         movl    %eax,%esi
175         addl    20(%rsp),%ebp
176         pxor    %xmm13,%xmm9
177         xorl    %ecx,%ebx
178         roll    $5,%eax
179         movdqa  %xmm3,0(%rsp)
180         addl    %edi,%ebp
181         andl    %ebx,%esi
182         movdqa  %xmm9,%xmm12
183         xorl    %ecx,%ebx
184         addl    %eax,%ebp
185         rorl    $7,%eax
186         movdqa  %xmm9,%xmm13
187         xorl    %ecx,%esi
188         pslldq  $12,%xmm12
189         paddd   %xmm9,%xmm9
190         movl    %ebp,%edi
191         addl    24(%rsp),%edx
192         psrld   $31,%xmm13
193         xorl    %ebx,%eax
194         roll    $5,%ebp
195         addl    %esi,%edx
196         movups  -16(%r15),%xmm1
197 .byte   102,15,56,220,208
198         movdqa  %xmm12,%xmm3
199         andl    %eax,%edi
200         xorl    %ebx,%eax
201         psrld   $30,%xmm12
202         addl    %ebp,%edx
203         rorl    $7,%ebp
204         por     %xmm13,%xmm9
205         xorl    %ebx,%edi
206         movl    %edx,%esi
207         addl    28(%rsp),%ecx
208         pslld   $2,%xmm3
209         pxor    %xmm12,%xmm9
210         xorl    %eax,%ebp
211         movdqa  16(%r11),%xmm12
212         roll    $5,%edx
213         addl    %edi,%ecx
214         andl    %ebp,%esi
215         pxor    %xmm3,%xmm9
216         xorl    %eax,%ebp
217         addl    %edx,%ecx
218         rorl    $7,%edx
219         pshufd  $238,%xmm6,%xmm10
220         xorl    %eax,%esi
221         movdqa  %xmm9,%xmm3
222         paddd   %xmm9,%xmm12
223         movl    %ecx,%edi
224         addl    32(%rsp),%ebx
225         movups  0(%r15),%xmm0
226 .byte   102,15,56,220,209
227         punpcklqdq      %xmm7,%xmm10
228         xorl    %ebp,%edx
229         roll    $5,%ecx
230         addl    %esi,%ebx
231         psrldq  $4,%xmm3
232         andl    %edx,%edi
233         xorl    %ebp,%edx
234         pxor    %xmm6,%xmm10
235         addl    %ecx,%ebx
236         rorl    $7,%ecx
237         pxor    %xmm8,%xmm3
238         xorl    %ebp,%edi
239         movl    %ebx,%esi
240         addl    36(%rsp),%eax
241         pxor    %xmm3,%xmm10
242         xorl    %edx,%ecx
243         roll    $5,%ebx
244         movdqa  %xmm12,16(%rsp)
245         addl    %edi,%eax
246         andl    %ecx,%esi
247         movdqa  %xmm10,%xmm13
248         xorl    %edx,%ecx
249         addl    %ebx,%eax
250         rorl    $7,%ebx
251         movups  16(%r15),%xmm1
252 .byte   102,15,56,220,208
253         movdqa  %xmm10,%xmm3
254         xorl    %edx,%esi
255         pslldq  $12,%xmm13
256         paddd   %xmm10,%xmm10
257         movl    %eax,%edi
258         addl    40(%rsp),%ebp
259         psrld   $31,%xmm3
260         xorl    %ecx,%ebx
261         roll    $5,%eax
262         addl    %esi,%ebp
263         movdqa  %xmm13,%xmm12
264         andl    %ebx,%edi
265         xorl    %ecx,%ebx
266         psrld   $30,%xmm13
267         addl    %eax,%ebp
268         rorl    $7,%eax
269         por     %xmm3,%xmm10
270         xorl    %ecx,%edi
271         movl    %ebp,%esi
272         addl    44(%rsp),%edx
273         pslld   $2,%xmm12
274         pxor    %xmm13,%xmm10
275         xorl    %ebx,%eax
276         movdqa  16(%r11),%xmm13
277         roll    $5,%ebp
278         addl    %edi,%edx
279         movups  32(%r15),%xmm0
280 .byte   102,15,56,220,209
281         andl    %eax,%esi
282         pxor    %xmm12,%xmm10
283         xorl    %ebx,%eax
284         addl    %ebp,%edx
285         rorl    $7,%ebp
286         pshufd  $238,%xmm7,%xmm11
287         xorl    %ebx,%esi
288         movdqa  %xmm10,%xmm12
289         paddd   %xmm10,%xmm13
290         movl    %edx,%edi
291         addl    48(%rsp),%ecx
292         punpcklqdq      %xmm8,%xmm11
293         xorl    %eax,%ebp
294         roll    $5,%edx
295         addl    %esi,%ecx
296         psrldq  $4,%xmm12
297         andl    %ebp,%edi
298         xorl    %eax,%ebp
299         pxor    %xmm7,%xmm11
300         addl    %edx,%ecx
301         rorl    $7,%edx
302         pxor    %xmm9,%xmm12
303         xorl    %eax,%edi
304         movl    %ecx,%esi
305         addl    52(%rsp),%ebx
306         movups  48(%r15),%xmm1
307 .byte   102,15,56,220,208
308         pxor    %xmm12,%xmm11
309         xorl    %ebp,%edx
310         roll    $5,%ecx
311         movdqa  %xmm13,32(%rsp)
312         addl    %edi,%ebx
313         andl    %edx,%esi
314         movdqa  %xmm11,%xmm3
315         xorl    %ebp,%edx
316         addl    %ecx,%ebx
317         rorl    $7,%ecx
318         movdqa  %xmm11,%xmm12
319         xorl    %ebp,%esi
320         pslldq  $12,%xmm3
321         paddd   %xmm11,%xmm11
322         movl    %ebx,%edi
323         addl    56(%rsp),%eax
324         psrld   $31,%xmm12
325         xorl    %edx,%ecx
326         roll    $5,%ebx
327         addl    %esi,%eax
328         movdqa  %xmm3,%xmm13
329         andl    %ecx,%edi
330         xorl    %edx,%ecx
331         psrld   $30,%xmm3
332         addl    %ebx,%eax
333         rorl    $7,%ebx
334         cmpl    $11,%r8d
335         jb      .Laesenclast1
336         movups  64(%r15),%xmm0
337 .byte   102,15,56,220,209
338         movups  80(%r15),%xmm1
339 .byte   102,15,56,220,208
340         je      .Laesenclast1
341         movups  96(%r15),%xmm0
342 .byte   102,15,56,220,209
343         movups  112(%r15),%xmm1
344 .byte   102,15,56,220,208
345 .Laesenclast1:
346 .byte   102,15,56,221,209
347         movups  16-112(%r15),%xmm0
348         por     %xmm12,%xmm11
349         xorl    %edx,%edi
350         movl    %eax,%esi
351         addl    60(%rsp),%ebp
352         pslld   $2,%xmm13
353         pxor    %xmm3,%xmm11
354         xorl    %ecx,%ebx
355         movdqa  16(%r11),%xmm3
356         roll    $5,%eax
357         addl    %edi,%ebp
358         andl    %ebx,%esi
359         pxor    %xmm13,%xmm11
360         pshufd  $238,%xmm10,%xmm13
361         xorl    %ecx,%ebx
362         addl    %eax,%ebp
363         rorl    $7,%eax
364         pxor    %xmm8,%xmm4
365         xorl    %ecx,%esi
366         movl    %ebp,%edi
367         addl    0(%rsp),%edx
368         punpcklqdq      %xmm11,%xmm13
369         xorl    %ebx,%eax
370         roll    $5,%ebp
371         pxor    %xmm5,%xmm4
372         addl    %esi,%edx
373         movups  16(%r12),%xmm14
374         xorps   %xmm15,%xmm14
375         movups  %xmm2,0(%r12,%r13,1)
376         xorps   %xmm14,%xmm2
377         movups  -80(%r15),%xmm1
378 .byte   102,15,56,220,208
379         andl    %eax,%edi
380         movdqa  %xmm3,%xmm12
381         xorl    %ebx,%eax
382         paddd   %xmm11,%xmm3
383         addl    %ebp,%edx
384         pxor    %xmm13,%xmm4
385         rorl    $7,%ebp
386         xorl    %ebx,%edi
387         movl    %edx,%esi
388         addl    4(%rsp),%ecx
389         movdqa  %xmm4,%xmm13
390         xorl    %eax,%ebp
391         roll    $5,%edx
392         movdqa  %xmm3,48(%rsp)
393         addl    %edi,%ecx
394         andl    %ebp,%esi
395         xorl    %eax,%ebp
396         pslld   $2,%xmm4
397         addl    %edx,%ecx
398         rorl    $7,%edx
399         psrld   $30,%xmm13
400         xorl    %eax,%esi
401         movl    %ecx,%edi
402         addl    8(%rsp),%ebx
403         movups  -64(%r15),%xmm0
404 .byte   102,15,56,220,209
405         por     %xmm13,%xmm4
406         xorl    %ebp,%edx
407         roll    $5,%ecx
408         pshufd  $238,%xmm11,%xmm3
409         addl    %esi,%ebx
410         andl    %edx,%edi
411         xorl    %ebp,%edx
412         addl    %ecx,%ebx
413         addl    12(%rsp),%eax
414         xorl    %ebp,%edi
415         movl    %ebx,%esi
416         roll    $5,%ebx
417         addl    %edi,%eax
418         xorl    %edx,%esi
419         rorl    $7,%ecx
420         addl    %ebx,%eax
421         pxor    %xmm9,%xmm5
422         addl    16(%rsp),%ebp
423         movups  -48(%r15),%xmm1
424 .byte   102,15,56,220,208
425         xorl    %ecx,%esi
426         punpcklqdq      %xmm4,%xmm3
427         movl    %eax,%edi
428         roll    $5,%eax
429         pxor    %xmm6,%xmm5
430         addl    %esi,%ebp
431         xorl    %ecx,%edi
432         movdqa  %xmm12,%xmm13
433         rorl    $7,%ebx
434         paddd   %xmm4,%xmm12
435         addl    %eax,%ebp
436         pxor    %xmm3,%xmm5
437         addl    20(%rsp),%edx
438         xorl    %ebx,%edi
439         movl    %ebp,%esi
440         roll    $5,%ebp
441         movdqa  %xmm5,%xmm3
442         addl    %edi,%edx
443         xorl    %ebx,%esi
444         movdqa  %xmm12,0(%rsp)
445         rorl    $7,%eax
446         addl    %ebp,%edx
447         addl    24(%rsp),%ecx
448         pslld   $2,%xmm5
449         xorl    %eax,%esi
450         movl    %edx,%edi
451         psrld   $30,%xmm3
452         roll    $5,%edx
453         addl    %esi,%ecx
454         movups  -32(%r15),%xmm0
455 .byte   102,15,56,220,209
456         xorl    %eax,%edi
457         rorl    $7,%ebp
458         por     %xmm3,%xmm5
459         addl    %edx,%ecx
460         addl    28(%rsp),%ebx
461         pshufd  $238,%xmm4,%xmm12
462         xorl    %ebp,%edi
463         movl    %ecx,%esi
464         roll    $5,%ecx
465         addl    %edi,%ebx
466         xorl    %ebp,%esi
467         rorl    $7,%edx
468         addl    %ecx,%ebx
469         pxor    %xmm10,%xmm6
470         addl    32(%rsp),%eax
471         xorl    %edx,%esi
472         punpcklqdq      %xmm5,%xmm12
473         movl    %ebx,%edi
474         roll    $5,%ebx
475         pxor    %xmm7,%xmm6
476         addl    %esi,%eax
477         xorl    %edx,%edi
478         movdqa  32(%r11),%xmm3
479         rorl    $7,%ecx
480         paddd   %xmm5,%xmm13
481         addl    %ebx,%eax
482         pxor    %xmm12,%xmm6
483         addl    36(%rsp),%ebp
484         movups  -16(%r15),%xmm1
485 .byte   102,15,56,220,208
486         xorl    %ecx,%edi
487         movl    %eax,%esi
488         roll    $5,%eax
489         movdqa  %xmm6,%xmm12
490         addl    %edi,%ebp
491         xorl    %ecx,%esi
492         movdqa  %xmm13,16(%rsp)
493         rorl    $7,%ebx
494         addl    %eax,%ebp
495         addl    40(%rsp),%edx
496         pslld   $2,%xmm6
497         xorl    %ebx,%esi
498         movl    %ebp,%edi
499         psrld   $30,%xmm12
500         roll    $5,%ebp
501         addl    %esi,%edx
502         xorl    %ebx,%edi
503         rorl    $7,%eax
504         por     %xmm12,%xmm6
505         addl    %ebp,%edx
506         addl    44(%rsp),%ecx
507         pshufd  $238,%xmm5,%xmm13
508         xorl    %eax,%edi
509         movl    %edx,%esi
510         roll    $5,%edx
511         addl    %edi,%ecx
512         movups  0(%r15),%xmm0
513 .byte   102,15,56,220,209
514         xorl    %eax,%esi
515         rorl    $7,%ebp
516         addl    %edx,%ecx
517         pxor    %xmm11,%xmm7
518         addl    48(%rsp),%ebx
519         xorl    %ebp,%esi
520         punpcklqdq      %xmm6,%xmm13
521         movl    %ecx,%edi
522         roll    $5,%ecx
523         pxor    %xmm8,%xmm7
524         addl    %esi,%ebx
525         xorl    %ebp,%edi
526         movdqa  %xmm3,%xmm12
527         rorl    $7,%edx
528         paddd   %xmm6,%xmm3
529         addl    %ecx,%ebx
530         pxor    %xmm13,%xmm7
531         addl    52(%rsp),%eax
532         xorl    %edx,%edi
533         movl    %ebx,%esi
534         roll    $5,%ebx
535         movdqa  %xmm7,%xmm13
536         addl    %edi,%eax
537         xorl    %edx,%esi
538         movdqa  %xmm3,32(%rsp)
539         rorl    $7,%ecx
540         addl    %ebx,%eax
541         addl    56(%rsp),%ebp
542         movups  16(%r15),%xmm1
543 .byte   102,15,56,220,208
544         pslld   $2,%xmm7
545         xorl    %ecx,%esi
546         movl    %eax,%edi
547         psrld   $30,%xmm13
548         roll    $5,%eax
549         addl    %esi,%ebp
550         xorl    %ecx,%edi
551         rorl    $7,%ebx
552         por     %xmm13,%xmm7
553         addl    %eax,%ebp
554         addl    60(%rsp),%edx
555         pshufd  $238,%xmm6,%xmm3
556         xorl    %ebx,%edi
557         movl    %ebp,%esi
558         roll    $5,%ebp
559         addl    %edi,%edx
560         xorl    %ebx,%esi
561         rorl    $7,%eax
562         addl    %ebp,%edx
563         pxor    %xmm4,%xmm8
564         addl    0(%rsp),%ecx
565         xorl    %eax,%esi
566         punpcklqdq      %xmm7,%xmm3
567         movl    %edx,%edi
568         roll    $5,%edx
569         pxor    %xmm9,%xmm8
570         addl    %esi,%ecx
571         movups  32(%r15),%xmm0
572 .byte   102,15,56,220,209
573         xorl    %eax,%edi
574         movdqa  %xmm12,%xmm13
575         rorl    $7,%ebp
576         paddd   %xmm7,%xmm12
577         addl    %edx,%ecx
578         pxor    %xmm3,%xmm8
579         addl    4(%rsp),%ebx
580         xorl    %ebp,%edi
581         movl    %ecx,%esi
582         roll    $5,%ecx
583         movdqa  %xmm8,%xmm3
584         addl    %edi,%ebx
585         xorl    %ebp,%esi
586         movdqa  %xmm12,48(%rsp)
587         rorl    $7,%edx
588         addl    %ecx,%ebx
589         addl    8(%rsp),%eax
590         pslld   $2,%xmm8
591         xorl    %edx,%esi
592         movl    %ebx,%edi
593         psrld   $30,%xmm3
594         roll    $5,%ebx
595         addl    %esi,%eax
596         xorl    %edx,%edi
597         rorl    $7,%ecx
598         por     %xmm3,%xmm8
599         addl    %ebx,%eax
600         addl    12(%rsp),%ebp
601         movups  48(%r15),%xmm1
602 .byte   102,15,56,220,208
603         pshufd  $238,%xmm7,%xmm12
604         xorl    %ecx,%edi
605         movl    %eax,%esi
606         roll    $5,%eax
607         addl    %edi,%ebp
608         xorl    %ecx,%esi
609         rorl    $7,%ebx
610         addl    %eax,%ebp
611         pxor    %xmm5,%xmm9
612         addl    16(%rsp),%edx
613         xorl    %ebx,%esi
614         punpcklqdq      %xmm8,%xmm12
615         movl    %ebp,%edi
616         roll    $5,%ebp
617         pxor    %xmm10,%xmm9
618         addl    %esi,%edx
619         xorl    %ebx,%edi
620         movdqa  %xmm13,%xmm3
621         rorl    $7,%eax
622         paddd   %xmm8,%xmm13
623         addl    %ebp,%edx
624         pxor    %xmm12,%xmm9
625         addl    20(%rsp),%ecx
626         xorl    %eax,%edi
627         movl    %edx,%esi
628         roll    $5,%edx
629         movdqa  %xmm9,%xmm12
630         addl    %edi,%ecx
631         cmpl    $11,%r8d
632         jb      .Laesenclast2
633         movups  64(%r15),%xmm0
634 .byte   102,15,56,220,209
635         movups  80(%r15),%xmm1
636 .byte   102,15,56,220,208
637         je      .Laesenclast2
638         movups  96(%r15),%xmm0
639 .byte   102,15,56,220,209
640         movups  112(%r15),%xmm1
641 .byte   102,15,56,220,208
642 .Laesenclast2:
643 .byte   102,15,56,221,209
644         movups  16-112(%r15),%xmm0
645         xorl    %eax,%esi
646         movdqa  %xmm13,0(%rsp)
647         rorl    $7,%ebp
648         addl    %edx,%ecx
649         addl    24(%rsp),%ebx
650         pslld   $2,%xmm9
651         xorl    %ebp,%esi
652         movl    %ecx,%edi
653         psrld   $30,%xmm12
654         roll    $5,%ecx
655         addl    %esi,%ebx
656         xorl    %ebp,%edi
657         rorl    $7,%edx
658         por     %xmm12,%xmm9
659         addl    %ecx,%ebx
660         addl    28(%rsp),%eax
661         pshufd  $238,%xmm8,%xmm13
662         rorl    $7,%ecx
663         movl    %ebx,%esi
664         xorl    %edx,%edi
665         roll    $5,%ebx
666         addl    %edi,%eax
667         xorl    %ecx,%esi
668         xorl    %edx,%ecx
669         addl    %ebx,%eax
670         pxor    %xmm6,%xmm10
671         addl    32(%rsp),%ebp
672         movups  32(%r12),%xmm14
673         xorps   %xmm15,%xmm14
674         movups  %xmm2,16(%r13,%r12,1)
675         xorps   %xmm14,%xmm2
676         movups  -80(%r15),%xmm1
677 .byte   102,15,56,220,208
678         andl    %ecx,%esi
679         xorl    %edx,%ecx
680         rorl    $7,%ebx
681         punpcklqdq      %xmm9,%xmm13
682         movl    %eax,%edi
683         xorl    %ecx,%esi
684         pxor    %xmm11,%xmm10
685         roll    $5,%eax
686         addl    %esi,%ebp
687         movdqa  %xmm3,%xmm12
688         xorl    %ebx,%edi
689         paddd   %xmm9,%xmm3
690         xorl    %ecx,%ebx
691         pxor    %xmm13,%xmm10
692         addl    %eax,%ebp
693         addl    36(%rsp),%edx
694         andl    %ebx,%edi
695         xorl    %ecx,%ebx
696         rorl    $7,%eax
697         movdqa  %xmm10,%xmm13
698         movl    %ebp,%esi
699         xorl    %ebx,%edi
700         movdqa  %xmm3,16(%rsp)
701         roll    $5,%ebp
702         addl    %edi,%edx
703         movups  -64(%r15),%xmm0
704 .byte   102,15,56,220,209
705         xorl    %eax,%esi
706         pslld   $2,%xmm10
707         xorl    %ebx,%eax
708         addl    %ebp,%edx
709         psrld   $30,%xmm13
710         addl    40(%rsp),%ecx
711         andl    %eax,%esi
712         xorl    %ebx,%eax
713         por     %xmm13,%xmm10
714         rorl    $7,%ebp
715         movl    %edx,%edi
716         xorl    %eax,%esi
717         roll    $5,%edx
718         pshufd  $238,%xmm9,%xmm3
719         addl    %esi,%ecx
720         xorl    %ebp,%edi
721         xorl    %eax,%ebp
722         addl    %edx,%ecx
723         addl    44(%rsp),%ebx
724         andl    %ebp,%edi
725         xorl    %eax,%ebp
726         rorl    $7,%edx
727         movups  -48(%r15),%xmm1
728 .byte   102,15,56,220,208
729         movl    %ecx,%esi
730         xorl    %ebp,%edi
731         roll    $5,%ecx
732         addl    %edi,%ebx
733         xorl    %edx,%esi
734         xorl    %ebp,%edx
735         addl    %ecx,%ebx
736         pxor    %xmm7,%xmm11
737         addl    48(%rsp),%eax
738         andl    %edx,%esi
739         xorl    %ebp,%edx
740         rorl    $7,%ecx
741         punpcklqdq      %xmm10,%xmm3
742         movl    %ebx,%edi
743         xorl    %edx,%esi
744         pxor    %xmm4,%xmm11
745         roll    $5,%ebx
746         addl    %esi,%eax
747         movdqa  48(%r11),%xmm13
748         xorl    %ecx,%edi
749         paddd   %xmm10,%xmm12
750         xorl    %edx,%ecx
751         pxor    %xmm3,%xmm11
752         addl    %ebx,%eax
753         addl    52(%rsp),%ebp
754         movups  -32(%r15),%xmm0
755 .byte   102,15,56,220,209
756         andl    %ecx,%edi
757         xorl    %edx,%ecx
758         rorl    $7,%ebx
759         movdqa  %xmm11,%xmm3
760         movl    %eax,%esi
761         xorl    %ecx,%edi
762         movdqa  %xmm12,32(%rsp)
763         roll    $5,%eax
764         addl    %edi,%ebp
765         xorl    %ebx,%esi
766         pslld   $2,%xmm11
767         xorl    %ecx,%ebx
768         addl    %eax,%ebp
769         psrld   $30,%xmm3
770         addl    56(%rsp),%edx
771         andl    %ebx,%esi
772         xorl    %ecx,%ebx
773         por     %xmm3,%xmm11
774         rorl    $7,%eax
775         movl    %ebp,%edi
776         xorl    %ebx,%esi
777         roll    $5,%ebp
778         pshufd  $238,%xmm10,%xmm12
779         addl    %esi,%edx
780         movups  -16(%r15),%xmm1
781 .byte   102,15,56,220,208
782         xorl    %eax,%edi
783         xorl    %ebx,%eax
784         addl    %ebp,%edx
785         addl    60(%rsp),%ecx
786         andl    %eax,%edi
787         xorl    %ebx,%eax
788         rorl    $7,%ebp
789         movl    %edx,%esi
790         xorl    %eax,%edi
791         roll    $5,%edx
792         addl    %edi,%ecx
793         xorl    %ebp,%esi
794         xorl    %eax,%ebp
795         addl    %edx,%ecx
796         pxor    %xmm8,%xmm4
797         addl    0(%rsp),%ebx
798         andl    %ebp,%esi
799         xorl    %eax,%ebp
800         rorl    $7,%edx
801         movups  0(%r15),%xmm0
802 .byte   102,15,56,220,209
803         punpcklqdq      %xmm11,%xmm12
804         movl    %ecx,%edi
805         xorl    %ebp,%esi
806         pxor    %xmm5,%xmm4
807         roll    $5,%ecx
808         addl    %esi,%ebx
809         movdqa  %xmm13,%xmm3
810         xorl    %edx,%edi
811         paddd   %xmm11,%xmm13
812         xorl    %ebp,%edx
813         pxor    %xmm12,%xmm4
814         addl    %ecx,%ebx
815         addl    4(%rsp),%eax
816         andl    %edx,%edi
817         xorl    %ebp,%edx
818         rorl    $7,%ecx
819         movdqa  %xmm4,%xmm12
820         movl    %ebx,%esi
821         xorl    %edx,%edi
822         movdqa  %xmm13,48(%rsp)
823         roll    $5,%ebx
824         addl    %edi,%eax
825         xorl    %ecx,%esi
826         pslld   $2,%xmm4
827         xorl    %edx,%ecx
828         addl    %ebx,%eax
829         psrld   $30,%xmm12
830         addl    8(%rsp),%ebp
831         movups  16(%r15),%xmm1
832 .byte   102,15,56,220,208
833         andl    %ecx,%esi
834         xorl    %edx,%ecx
835         por     %xmm12,%xmm4
836         rorl    $7,%ebx
837         movl    %eax,%edi
838         xorl    %ecx,%esi
839         roll    $5,%eax
840         pshufd  $238,%xmm11,%xmm13
841         addl    %esi,%ebp
842         xorl    %ebx,%edi
843         xorl    %ecx,%ebx
844         addl    %eax,%ebp
845         addl    12(%rsp),%edx
846         andl    %ebx,%edi
847         xorl    %ecx,%ebx
848         rorl    $7,%eax
849         movl    %ebp,%esi
850         xorl    %ebx,%edi
851         roll    $5,%ebp
852         addl    %edi,%edx
853         movups  32(%r15),%xmm0
854 .byte   102,15,56,220,209
855         xorl    %eax,%esi
856         xorl    %ebx,%eax
857         addl    %ebp,%edx
858         pxor    %xmm9,%xmm5
859         addl    16(%rsp),%ecx
860         andl    %eax,%esi
861         xorl    %ebx,%eax
862         rorl    $7,%ebp
863         punpcklqdq      %xmm4,%xmm13
864         movl    %edx,%edi
865         xorl    %eax,%esi
866         pxor    %xmm6,%xmm5
867         roll    $5,%edx
868         addl    %esi,%ecx
869         movdqa  %xmm3,%xmm12
870         xorl    %ebp,%edi
871         paddd   %xmm4,%xmm3
872         xorl    %eax,%ebp
873         pxor    %xmm13,%xmm5
874         addl    %edx,%ecx
875         addl    20(%rsp),%ebx
876         andl    %ebp,%edi
877         xorl    %eax,%ebp
878         rorl    $7,%edx
879         movups  48(%r15),%xmm1
880 .byte   102,15,56,220,208
881         movdqa  %xmm5,%xmm13
882         movl    %ecx,%esi
883         xorl    %ebp,%edi
884         movdqa  %xmm3,0(%rsp)
885         roll    $5,%ecx
886         addl    %edi,%ebx
887         xorl    %edx,%esi
888         pslld   $2,%xmm5
889         xorl    %ebp,%edx
890         addl    %ecx,%ebx
891         psrld   $30,%xmm13
892         addl    24(%rsp),%eax
893         andl    %edx,%esi
894         xorl    %ebp,%edx
895         por     %xmm13,%xmm5
896         rorl    $7,%ecx
897         movl    %ebx,%edi
898         xorl    %edx,%esi
899         roll    $5,%ebx
900         pshufd  $238,%xmm4,%xmm3
901         addl    %esi,%eax
902         xorl    %ecx,%edi
903         xorl    %edx,%ecx
904         addl    %ebx,%eax
905         addl    28(%rsp),%ebp
906         cmpl    $11,%r8d
907         jb      .Laesenclast3
908         movups  64(%r15),%xmm0
909 .byte   102,15,56,220,209
910         movups  80(%r15),%xmm1
911 .byte   102,15,56,220,208
912         je      .Laesenclast3
913         movups  96(%r15),%xmm0
914 .byte   102,15,56,220,209
915         movups  112(%r15),%xmm1
916 .byte   102,15,56,220,208
917 .Laesenclast3:
918 .byte   102,15,56,221,209
919         movups  16-112(%r15),%xmm0
920         andl    %ecx,%edi
921         xorl    %edx,%ecx
922         rorl    $7,%ebx
923         movl    %eax,%esi
924         xorl    %ecx,%edi
925         roll    $5,%eax
926         addl    %edi,%ebp
927         xorl    %ebx,%esi
928         xorl    %ecx,%ebx
929         addl    %eax,%ebp
930         pxor    %xmm10,%xmm6
931         addl    32(%rsp),%edx
932         andl    %ebx,%esi
933         xorl    %ecx,%ebx
934         rorl    $7,%eax
935         punpcklqdq      %xmm5,%xmm3
936         movl    %ebp,%edi
937         xorl    %ebx,%esi
938         pxor    %xmm7,%xmm6
939         roll    $5,%ebp
940         addl    %esi,%edx
941         movups  48(%r12),%xmm14
942         xorps   %xmm15,%xmm14
943         movups  %xmm2,32(%r13,%r12,1)
944         xorps   %xmm14,%xmm2
945         movups  -80(%r15),%xmm1
946 .byte   102,15,56,220,208
947         movdqa  %xmm12,%xmm13
948         xorl    %eax,%edi
949         paddd   %xmm5,%xmm12
950         xorl    %ebx,%eax
951         pxor    %xmm3,%xmm6
952         addl    %ebp,%edx
953         addl    36(%rsp),%ecx
954         andl    %eax,%edi
955         xorl    %ebx,%eax
956         rorl    $7,%ebp
957         movdqa  %xmm6,%xmm3
958         movl    %edx,%esi
959         xorl    %eax,%edi
960         movdqa  %xmm12,16(%rsp)
961         roll    $5,%edx
962         addl    %edi,%ecx
963         xorl    %ebp,%esi
964         pslld   $2,%xmm6
965         xorl    %eax,%ebp
966         addl    %edx,%ecx
967         psrld   $30,%xmm3
968         addl    40(%rsp),%ebx
969         andl    %ebp,%esi
970         xorl    %eax,%ebp
971         por     %xmm3,%xmm6
972         rorl    $7,%edx
973         movups  -64(%r15),%xmm0
974 .byte   102,15,56,220,209
975         movl    %ecx,%edi
976         xorl    %ebp,%esi
977         roll    $5,%ecx
978         pshufd  $238,%xmm5,%xmm12
979         addl    %esi,%ebx
980         xorl    %edx,%edi
981         xorl    %ebp,%edx
982         addl    %ecx,%ebx
983         addl    44(%rsp),%eax
984         andl    %edx,%edi
985         xorl    %ebp,%edx
986         rorl    $7,%ecx
987         movl    %ebx,%esi
988         xorl    %edx,%edi
989         roll    $5,%ebx
990         addl    %edi,%eax
991         xorl    %edx,%esi
992         addl    %ebx,%eax
993         pxor    %xmm11,%xmm7
994         addl    48(%rsp),%ebp
995         movups  -48(%r15),%xmm1
996 .byte   102,15,56,220,208
997         xorl    %ecx,%esi
998         punpcklqdq      %xmm6,%xmm12
999         movl    %eax,%edi
1000         roll    $5,%eax
1001         pxor    %xmm8,%xmm7
1002         addl    %esi,%ebp
1003         xorl    %ecx,%edi
1004         movdqa  %xmm13,%xmm3
1005         rorl    $7,%ebx
1006         paddd   %xmm6,%xmm13
1007         addl    %eax,%ebp
1008         pxor    %xmm12,%xmm7
1009         addl    52(%rsp),%edx
1010         xorl    %ebx,%edi
1011         movl    %ebp,%esi
1012         roll    $5,%ebp
1013         movdqa  %xmm7,%xmm12
1014         addl    %edi,%edx
1015         xorl    %ebx,%esi
1016         movdqa  %xmm13,32(%rsp)
1017         rorl    $7,%eax
1018         addl    %ebp,%edx
1019         addl    56(%rsp),%ecx
1020         pslld   $2,%xmm7
1021         xorl    %eax,%esi
1022         movl    %edx,%edi
1023         psrld   $30,%xmm12
1024         roll    $5,%edx
1025         addl    %esi,%ecx
1026         movups  -32(%r15),%xmm0
1027 .byte   102,15,56,220,209
1028         xorl    %eax,%edi
1029         rorl    $7,%ebp
1030         por     %xmm12,%xmm7
1031         addl    %edx,%ecx
1032         addl    60(%rsp),%ebx
1033         xorl    %ebp,%edi
1034         movl    %ecx,%esi
1035         roll    $5,%ecx
1036         addl    %edi,%ebx
1037         xorl    %ebp,%esi
1038         rorl    $7,%edx
1039         addl    %ecx,%ebx
1040         addl    0(%rsp),%eax
1041         xorl    %edx,%esi
1042         movl    %ebx,%edi
1043         roll    $5,%ebx
1044         paddd   %xmm7,%xmm3
1045         addl    %esi,%eax
1046         xorl    %edx,%edi
1047         movdqa  %xmm3,48(%rsp)
1048         rorl    $7,%ecx
1049         addl    %ebx,%eax
1050         addl    4(%rsp),%ebp
1051         movups  -16(%r15),%xmm1
1052 .byte   102,15,56,220,208
1053         xorl    %ecx,%edi
1054         movl    %eax,%esi
1055         roll    $5,%eax
1056         addl    %edi,%ebp
1057         xorl    %ecx,%esi
1058         rorl    $7,%ebx
1059         addl    %eax,%ebp
1060         addl    8(%rsp),%edx
1061         xorl    %ebx,%esi
1062         movl    %ebp,%edi
1063         roll    $5,%ebp
1064         addl    %esi,%edx
1065         xorl    %ebx,%edi
1066         rorl    $7,%eax
1067         addl    %ebp,%edx
1068         addl    12(%rsp),%ecx
1069         xorl    %eax,%edi
1070         movl    %edx,%esi
1071         roll    $5,%edx
1072         addl    %edi,%ecx
1073         movups  0(%r15),%xmm0
1074 .byte   102,15,56,220,209
1075         xorl    %eax,%esi
1076         rorl    $7,%ebp
1077         addl    %edx,%ecx
1078         cmpq    %r14,%r10
1079         je      .Ldone_ssse3
1080         movdqa  64(%r11),%xmm3
1081         movdqa  0(%r11),%xmm13
1082         movdqu  0(%r10),%xmm4
1083         movdqu  16(%r10),%xmm5
1084         movdqu  32(%r10),%xmm6
1085         movdqu  48(%r10),%xmm7
1086 .byte   102,15,56,0,227
1087         addq    $64,%r10
1088         addl    16(%rsp),%ebx
1089         xorl    %ebp,%esi
1090         movl    %ecx,%edi
1091 .byte   102,15,56,0,235
1092         roll    $5,%ecx
1093         addl    %esi,%ebx
1094         xorl    %ebp,%edi
1095         rorl    $7,%edx
1096         paddd   %xmm13,%xmm4
1097         addl    %ecx,%ebx
1098         addl    20(%rsp),%eax
1099         xorl    %edx,%edi
1100         movl    %ebx,%esi
1101         movdqa  %xmm4,0(%rsp)
1102         roll    $5,%ebx
1103         addl    %edi,%eax
1104         xorl    %edx,%esi
1105         rorl    $7,%ecx
1106         psubd   %xmm13,%xmm4
1107         addl    %ebx,%eax
1108         addl    24(%rsp),%ebp
1109         movups  16(%r15),%xmm1
1110 .byte   102,15,56,220,208
1111         xorl    %ecx,%esi
1112         movl    %eax,%edi
1113         roll    $5,%eax
1114         addl    %esi,%ebp
1115         xorl    %ecx,%edi
1116         rorl    $7,%ebx
1117         addl    %eax,%ebp
1118         addl    28(%rsp),%edx
1119         xorl    %ebx,%edi
1120         movl    %ebp,%esi
1121         roll    $5,%ebp
1122         addl    %edi,%edx
1123         xorl    %ebx,%esi
1124         rorl    $7,%eax
1125         addl    %ebp,%edx
1126         addl    32(%rsp),%ecx
1127         xorl    %eax,%esi
1128         movl    %edx,%edi
1129 .byte   102,15,56,0,243
1130         roll    $5,%edx
1131         addl    %esi,%ecx
1132         movups  32(%r15),%xmm0
1133 .byte   102,15,56,220,209
1134         xorl    %eax,%edi
1135         rorl    $7,%ebp
1136         paddd   %xmm13,%xmm5
1137         addl    %edx,%ecx
1138         addl    36(%rsp),%ebx
1139         xorl    %ebp,%edi
1140         movl    %ecx,%esi
1141         movdqa  %xmm5,16(%rsp)
1142         roll    $5,%ecx
1143         addl    %edi,%ebx
1144         xorl    %ebp,%esi
1145         rorl    $7,%edx
1146         psubd   %xmm13,%xmm5
1147         addl    %ecx,%ebx
1148         addl    40(%rsp),%eax
1149         xorl    %edx,%esi
1150         movl    %ebx,%edi
1151         roll    $5,%ebx
1152         addl    %esi,%eax
1153         xorl    %edx,%edi
1154         rorl    $7,%ecx
1155         addl    %ebx,%eax
1156         addl    44(%rsp),%ebp
1157         movups  48(%r15),%xmm1
1158 .byte   102,15,56,220,208
1159         xorl    %ecx,%edi
1160         movl    %eax,%esi
1161         roll    $5,%eax
1162         addl    %edi,%ebp
1163         xorl    %ecx,%esi
1164         rorl    $7,%ebx
1165         addl    %eax,%ebp
1166         addl    48(%rsp),%edx
1167         xorl    %ebx,%esi
1168         movl    %ebp,%edi
1169 .byte   102,15,56,0,251
1170         roll    $5,%ebp
1171         addl    %esi,%edx
1172         xorl    %ebx,%edi
1173         rorl    $7,%eax
1174         paddd   %xmm13,%xmm6
1175         addl    %ebp,%edx
1176         addl    52(%rsp),%ecx
1177         xorl    %eax,%edi
1178         movl    %edx,%esi
1179         movdqa  %xmm6,32(%rsp)
1180         roll    $5,%edx
1181         addl    %edi,%ecx
1182         cmpl    $11,%r8d
1183         jb      .Laesenclast4
1184         movups  64(%r15),%xmm0
1185 .byte   102,15,56,220,209
1186         movups  80(%r15),%xmm1
1187 .byte   102,15,56,220,208
1188         je      .Laesenclast4
1189         movups  96(%r15),%xmm0
1190 .byte   102,15,56,220,209
1191         movups  112(%r15),%xmm1
1192 .byte   102,15,56,220,208
1193 .Laesenclast4:
1194 .byte   102,15,56,221,209
1195         movups  16-112(%r15),%xmm0
1196         xorl    %eax,%esi
1197         rorl    $7,%ebp
1198         psubd   %xmm13,%xmm6
1199         addl    %edx,%ecx
1200         addl    56(%rsp),%ebx
1201         xorl    %ebp,%esi
1202         movl    %ecx,%edi
1203         roll    $5,%ecx
1204         addl    %esi,%ebx
1205         xorl    %ebp,%edi
1206         rorl    $7,%edx
1207         addl    %ecx,%ebx
1208         addl    60(%rsp),%eax
1209         xorl    %edx,%edi
1210         movl    %ebx,%esi
1211         roll    $5,%ebx
1212         addl    %edi,%eax
1213         rorl    $7,%ecx
1214         addl    %ebx,%eax
1215         movups  %xmm2,48(%r13,%r12,1)
1216         leaq    64(%r12),%r12
1217
1218         addl    0(%r9),%eax
1219         addl    4(%r9),%esi
1220         addl    8(%r9),%ecx
1221         addl    12(%r9),%edx
1222         movl    %eax,0(%r9)
1223         addl    16(%r9),%ebp
1224         movl    %esi,4(%r9)
1225         movl    %esi,%ebx
1226         movl    %ecx,8(%r9)
1227         movl    %ecx,%edi
1228         movl    %edx,12(%r9)
1229         xorl    %edx,%edi
1230         movl    %ebp,16(%r9)
1231         andl    %edi,%esi
1232         jmp     .Loop_ssse3
1233
1234 .Ldone_ssse3:
1235         addl    16(%rsp),%ebx
1236         xorl    %ebp,%esi
1237         movl    %ecx,%edi
1238         roll    $5,%ecx
1239         addl    %esi,%ebx
1240         xorl    %ebp,%edi
1241         rorl    $7,%edx
1242         addl    %ecx,%ebx
1243         addl    20(%rsp),%eax
1244         xorl    %edx,%edi
1245         movl    %ebx,%esi
1246         roll    $5,%ebx
1247         addl    %edi,%eax
1248         xorl    %edx,%esi
1249         rorl    $7,%ecx
1250         addl    %ebx,%eax
1251         addl    24(%rsp),%ebp
1252         movups  16(%r15),%xmm1
1253 .byte   102,15,56,220,208
1254         xorl    %ecx,%esi
1255         movl    %eax,%edi
1256         roll    $5,%eax
1257         addl    %esi,%ebp
1258         xorl    %ecx,%edi
1259         rorl    $7,%ebx
1260         addl    %eax,%ebp
1261         addl    28(%rsp),%edx
1262         xorl    %ebx,%edi
1263         movl    %ebp,%esi
1264         roll    $5,%ebp
1265         addl    %edi,%edx
1266         xorl    %ebx,%esi
1267         rorl    $7,%eax
1268         addl    %ebp,%edx
1269         addl    32(%rsp),%ecx
1270         xorl    %eax,%esi
1271         movl    %edx,%edi
1272         roll    $5,%edx
1273         addl    %esi,%ecx
1274         movups  32(%r15),%xmm0
1275 .byte   102,15,56,220,209
1276         xorl    %eax,%edi
1277         rorl    $7,%ebp
1278         addl    %edx,%ecx
1279         addl    36(%rsp),%ebx
1280         xorl    %ebp,%edi
1281         movl    %ecx,%esi
1282         roll    $5,%ecx
1283         addl    %edi,%ebx
1284         xorl    %ebp,%esi
1285         rorl    $7,%edx
1286         addl    %ecx,%ebx
1287         addl    40(%rsp),%eax
1288         xorl    %edx,%esi
1289         movl    %ebx,%edi
1290         roll    $5,%ebx
1291         addl    %esi,%eax
1292         xorl    %edx,%edi
1293         rorl    $7,%ecx
1294         addl    %ebx,%eax
1295         addl    44(%rsp),%ebp
1296         movups  48(%r15),%xmm1
1297 .byte   102,15,56,220,208
1298         xorl    %ecx,%edi
1299         movl    %eax,%esi
1300         roll    $5,%eax
1301         addl    %edi,%ebp
1302         xorl    %ecx,%esi
1303         rorl    $7,%ebx
1304         addl    %eax,%ebp
1305         addl    48(%rsp),%edx
1306         xorl    %ebx,%esi
1307         movl    %ebp,%edi
1308         roll    $5,%ebp
1309         addl    %esi,%edx
1310         xorl    %ebx,%edi
1311         rorl    $7,%eax
1312         addl    %ebp,%edx
1313         addl    52(%rsp),%ecx
1314         xorl    %eax,%edi
1315         movl    %edx,%esi
1316         roll    $5,%edx
1317         addl    %edi,%ecx
1318         cmpl    $11,%r8d
1319         jb      .Laesenclast5
1320         movups  64(%r15),%xmm0
1321 .byte   102,15,56,220,209
1322         movups  80(%r15),%xmm1
1323 .byte   102,15,56,220,208
1324         je      .Laesenclast5
1325         movups  96(%r15),%xmm0
1326 .byte   102,15,56,220,209
1327         movups  112(%r15),%xmm1
1328 .byte   102,15,56,220,208
1329 .Laesenclast5:
1330 .byte   102,15,56,221,209
1331         movups  16-112(%r15),%xmm0
1332         xorl    %eax,%esi
1333         rorl    $7,%ebp
1334         addl    %edx,%ecx
1335         addl    56(%rsp),%ebx
1336         xorl    %ebp,%esi
1337         movl    %ecx,%edi
1338         roll    $5,%ecx
1339         addl    %esi,%ebx
1340         xorl    %ebp,%edi
1341         rorl    $7,%edx
1342         addl    %ecx,%ebx
1343         addl    60(%rsp),%eax
1344         xorl    %edx,%edi
1345         movl    %ebx,%esi
1346         roll    $5,%ebx
1347         addl    %edi,%eax
1348         rorl    $7,%ecx
1349         addl    %ebx,%eax
1350         movups  %xmm2,48(%r13,%r12,1)
1351         movq    88(%rsp),%r8
1352
1353         addl    0(%r9),%eax
1354         addl    4(%r9),%esi
1355         addl    8(%r9),%ecx
1356         movl    %eax,0(%r9)
1357         addl    12(%r9),%edx
1358         movl    %esi,4(%r9)
1359         addl    16(%r9),%ebp
1360         movl    %ecx,8(%r9)
1361         movl    %edx,12(%r9)
1362         movl    %ebp,16(%r9)
1363         movups  %xmm2,(%r8)
1364         leaq    104(%rsp),%rsi
1365         movq    0(%rsi),%r15
1366         movq    8(%rsi),%r14
1367         movq    16(%rsi),%r13
1368         movq    24(%rsi),%r12
1369         movq    32(%rsi),%rbp
1370         movq    40(%rsi),%rbx
1371         leaq    48(%rsi),%rsp
1372 .Lepilogue_ssse3:
1373         .byte   0xf3,0xc3
1374 .size   aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3
1375 .type   aesni_cbc_sha1_enc_avx,@function
1376 .align  32
1377 aesni_cbc_sha1_enc_avx:
1378         movq    8(%rsp),%r10
1379
1380
1381         pushq   %rbx
1382         pushq   %rbp
1383         pushq   %r12
1384         pushq   %r13
1385         pushq   %r14
1386         pushq   %r15
1387         leaq    -104(%rsp),%rsp
1388
1389
1390         vzeroall
1391         movq    %rdi,%r12
1392         movq    %rsi,%r13
1393         movq    %rdx,%r14
1394         leaq    112(%rcx),%r15
1395         vmovdqu (%r8),%xmm12
1396         movq    %r8,88(%rsp)
1397         shlq    $6,%r14
1398         subq    %r12,%r13
1399         movl    240-112(%r15),%r8d
1400         addq    %r10,%r14
1401
1402         leaq    K_XX_XX(%rip),%r11
1403         movl    0(%r9),%eax
1404         movl    4(%r9),%ebx
1405         movl    8(%r9),%ecx
1406         movl    12(%r9),%edx
1407         movl    %ebx,%esi
1408         movl    16(%r9),%ebp
1409         movl    %ecx,%edi
1410         xorl    %edx,%edi
1411         andl    %edi,%esi
1412
1413         vmovdqa 64(%r11),%xmm6
1414         vmovdqa 0(%r11),%xmm10
1415         vmovdqu 0(%r10),%xmm0
1416         vmovdqu 16(%r10),%xmm1
1417         vmovdqu 32(%r10),%xmm2
1418         vmovdqu 48(%r10),%xmm3
1419         vpshufb %xmm6,%xmm0,%xmm0
1420         addq    $64,%r10
1421         vpshufb %xmm6,%xmm1,%xmm1
1422         vpshufb %xmm6,%xmm2,%xmm2
1423         vpshufb %xmm6,%xmm3,%xmm3
1424         vpaddd  %xmm10,%xmm0,%xmm4
1425         vpaddd  %xmm10,%xmm1,%xmm5
1426         vpaddd  %xmm10,%xmm2,%xmm6
1427         vmovdqa %xmm4,0(%rsp)
1428         vmovdqa %xmm5,16(%rsp)
1429         vmovdqa %xmm6,32(%rsp)
1430         vmovups -112(%r15),%xmm15
1431         vmovups 16-112(%r15),%xmm14
1432         jmp     .Loop_avx
1433 .align  32
1434 .Loop_avx:
1435         shrdl   $2,%ebx,%ebx
1436         vmovdqu 0(%r12),%xmm13
1437         vpxor   %xmm15,%xmm13,%xmm13
1438         vpxor   %xmm13,%xmm12,%xmm12
1439         vaesenc %xmm14,%xmm12,%xmm12
1440         vmovups -80(%r15),%xmm15
1441         xorl    %edx,%esi
1442         vpalignr        $8,%xmm0,%xmm1,%xmm4
1443         movl    %eax,%edi
1444         addl    0(%rsp),%ebp
1445         vpaddd  %xmm3,%xmm10,%xmm9
1446         xorl    %ecx,%ebx
1447         shldl   $5,%eax,%eax
1448         vpsrldq $4,%xmm3,%xmm8
1449         addl    %esi,%ebp
1450         andl    %ebx,%edi
1451         vpxor   %xmm0,%xmm4,%xmm4
1452         xorl    %ecx,%ebx
1453         addl    %eax,%ebp
1454         vpxor   %xmm2,%xmm8,%xmm8
1455         shrdl   $7,%eax,%eax
1456         xorl    %ecx,%edi
1457         movl    %ebp,%esi
1458         addl    4(%rsp),%edx
1459         vpxor   %xmm8,%xmm4,%xmm4
1460         xorl    %ebx,%eax
1461         shldl   $5,%ebp,%ebp
1462         vmovdqa %xmm9,48(%rsp)
1463         addl    %edi,%edx
1464         vaesenc %xmm15,%xmm12,%xmm12
1465         vmovups -64(%r15),%xmm14
1466         andl    %eax,%esi
1467         vpsrld  $31,%xmm4,%xmm8
1468         xorl    %ebx,%eax
1469         addl    %ebp,%edx
1470         shrdl   $7,%ebp,%ebp
1471         xorl    %ebx,%esi
1472         vpslldq $12,%xmm4,%xmm9
1473         vpaddd  %xmm4,%xmm4,%xmm4
1474         movl    %edx,%edi
1475         addl    8(%rsp),%ecx
1476         xorl    %eax,%ebp
1477         shldl   $5,%edx,%edx
1478         vpor    %xmm8,%xmm4,%xmm4
1479         vpsrld  $30,%xmm9,%xmm8
1480         addl    %esi,%ecx
1481         andl    %ebp,%edi
1482         xorl    %eax,%ebp
1483         addl    %edx,%ecx
1484         vpslld  $2,%xmm9,%xmm9
1485         vpxor   %xmm8,%xmm4,%xmm4
1486         shrdl   $7,%edx,%edx
1487         xorl    %eax,%edi
1488         movl    %ecx,%esi
1489         addl    12(%rsp),%ebx
1490         vaesenc %xmm14,%xmm12,%xmm12
1491         vmovups -48(%r15),%xmm15
1492         vpxor   %xmm9,%xmm4,%xmm4
1493         xorl    %ebp,%edx
1494         shldl   $5,%ecx,%ecx
1495         addl    %edi,%ebx
1496         andl    %edx,%esi
1497         xorl    %ebp,%edx
1498         addl    %ecx,%ebx
1499         shrdl   $7,%ecx,%ecx
1500         xorl    %ebp,%esi
1501         vpalignr        $8,%xmm1,%xmm2,%xmm5
1502         movl    %ebx,%edi
1503         addl    16(%rsp),%eax
1504         vpaddd  %xmm4,%xmm10,%xmm9
1505         xorl    %edx,%ecx
1506         shldl   $5,%ebx,%ebx
1507         vpsrldq $4,%xmm4,%xmm8
1508         addl    %esi,%eax
1509         andl    %ecx,%edi
1510         vpxor   %xmm1,%xmm5,%xmm5
1511         xorl    %edx,%ecx
1512         addl    %ebx,%eax
1513         vpxor   %xmm3,%xmm8,%xmm8
1514         shrdl   $7,%ebx,%ebx
1515         vaesenc %xmm15,%xmm12,%xmm12
1516         vmovups -32(%r15),%xmm14
1517         xorl    %edx,%edi
1518         movl    %eax,%esi
1519         addl    20(%rsp),%ebp
1520         vpxor   %xmm8,%xmm5,%xmm5
1521         xorl    %ecx,%ebx
1522         shldl   $5,%eax,%eax
1523         vmovdqa %xmm9,0(%rsp)
1524         addl    %edi,%ebp
1525         andl    %ebx,%esi
1526         vpsrld  $31,%xmm5,%xmm8
1527         xorl    %ecx,%ebx
1528         addl    %eax,%ebp
1529         shrdl   $7,%eax,%eax
1530         xorl    %ecx,%esi
1531         vpslldq $12,%xmm5,%xmm9
1532         vpaddd  %xmm5,%xmm5,%xmm5
1533         movl    %ebp,%edi
1534         addl    24(%rsp),%edx
1535         xorl    %ebx,%eax
1536         shldl   $5,%ebp,%ebp
1537         vpor    %xmm8,%xmm5,%xmm5
1538         vpsrld  $30,%xmm9,%xmm8
1539         addl    %esi,%edx
1540         vaesenc %xmm14,%xmm12,%xmm12
1541         vmovups -16(%r15),%xmm15
1542         andl    %eax,%edi
1543         xorl    %ebx,%eax
1544         addl    %ebp,%edx
1545         vpslld  $2,%xmm9,%xmm9
1546         vpxor   %xmm8,%xmm5,%xmm5
1547         shrdl   $7,%ebp,%ebp
1548         xorl    %ebx,%edi
1549         movl    %edx,%esi
1550         addl    28(%rsp),%ecx
1551         vpxor   %xmm9,%xmm5,%xmm5
1552         xorl    %eax,%ebp
1553         shldl   $5,%edx,%edx
1554         vmovdqa 16(%r11),%xmm10
1555         addl    %edi,%ecx
1556         andl    %ebp,%esi
1557         xorl    %eax,%ebp
1558         addl    %edx,%ecx
1559         shrdl   $7,%edx,%edx
1560         xorl    %eax,%esi
1561         vpalignr        $8,%xmm2,%xmm3,%xmm6
1562         movl    %ecx,%edi
1563         addl    32(%rsp),%ebx
1564         vaesenc %xmm15,%xmm12,%xmm12
1565         vmovups 0(%r15),%xmm14
1566         vpaddd  %xmm5,%xmm10,%xmm9
1567         xorl    %ebp,%edx
1568         shldl   $5,%ecx,%ecx
1569         vpsrldq $4,%xmm5,%xmm8
1570         addl    %esi,%ebx
1571         andl    %edx,%edi
1572         vpxor   %xmm2,%xmm6,%xmm6
1573         xorl    %ebp,%edx
1574         addl    %ecx,%ebx
1575         vpxor   %xmm4,%xmm8,%xmm8
1576         shrdl   $7,%ecx,%ecx
1577         xorl    %ebp,%edi
1578         movl    %ebx,%esi
1579         addl    36(%rsp),%eax
1580         vpxor   %xmm8,%xmm6,%xmm6
1581         xorl    %edx,%ecx
1582         shldl   $5,%ebx,%ebx
1583         vmovdqa %xmm9,16(%rsp)
1584         addl    %edi,%eax
1585         andl    %ecx,%esi
1586         vpsrld  $31,%xmm6,%xmm8
1587         xorl    %edx,%ecx
1588         addl    %ebx,%eax
1589         shrdl   $7,%ebx,%ebx
1590         vaesenc %xmm14,%xmm12,%xmm12
1591         vmovups 16(%r15),%xmm15
1592         xorl    %edx,%esi
1593         vpslldq $12,%xmm6,%xmm9
1594         vpaddd  %xmm6,%xmm6,%xmm6
1595         movl    %eax,%edi
1596         addl    40(%rsp),%ebp
1597         xorl    %ecx,%ebx
1598         shldl   $5,%eax,%eax
1599         vpor    %xmm8,%xmm6,%xmm6
1600         vpsrld  $30,%xmm9,%xmm8
1601         addl    %esi,%ebp
1602         andl    %ebx,%edi
1603         xorl    %ecx,%ebx
1604         addl    %eax,%ebp
1605         vpslld  $2,%xmm9,%xmm9
1606         vpxor   %xmm8,%xmm6,%xmm6
1607         shrdl   $7,%eax,%eax
1608         xorl    %ecx,%edi
1609         movl    %ebp,%esi
1610         addl    44(%rsp),%edx
1611         vpxor   %xmm9,%xmm6,%xmm6
1612         xorl    %ebx,%eax
1613         shldl   $5,%ebp,%ebp
1614         addl    %edi,%edx
1615         vaesenc %xmm15,%xmm12,%xmm12
1616         vmovups 32(%r15),%xmm14
1617         andl    %eax,%esi
1618         xorl    %ebx,%eax
1619         addl    %ebp,%edx
1620         shrdl   $7,%ebp,%ebp
1621         xorl    %ebx,%esi
1622         vpalignr        $8,%xmm3,%xmm4,%xmm7
1623         movl    %edx,%edi
1624         addl    48(%rsp),%ecx
1625         vpaddd  %xmm6,%xmm10,%xmm9
1626         xorl    %eax,%ebp
1627         shldl   $5,%edx,%edx
1628         vpsrldq $4,%xmm6,%xmm8
1629         addl    %esi,%ecx
1630         andl    %ebp,%edi
1631         vpxor   %xmm3,%xmm7,%xmm7
1632         xorl    %eax,%ebp
1633         addl    %edx,%ecx
1634         vpxor   %xmm5,%xmm8,%xmm8
1635         shrdl   $7,%edx,%edx
1636         xorl    %eax,%edi
1637         movl    %ecx,%esi
1638         addl    52(%rsp),%ebx
1639         vaesenc %xmm14,%xmm12,%xmm12
1640         vmovups 48(%r15),%xmm15
1641         vpxor   %xmm8,%xmm7,%xmm7
1642         xorl    %ebp,%edx
1643         shldl   $5,%ecx,%ecx
1644         vmovdqa %xmm9,32(%rsp)
1645         addl    %edi,%ebx
1646         andl    %edx,%esi
1647         vpsrld  $31,%xmm7,%xmm8
1648         xorl    %ebp,%edx
1649         addl    %ecx,%ebx
1650         shrdl   $7,%ecx,%ecx
1651         xorl    %ebp,%esi
1652         vpslldq $12,%xmm7,%xmm9
1653         vpaddd  %xmm7,%xmm7,%xmm7
1654         movl    %ebx,%edi
1655         addl    56(%rsp),%eax
1656         xorl    %edx,%ecx
1657         shldl   $5,%ebx,%ebx
1658         vpor    %xmm8,%xmm7,%xmm7
1659         vpsrld  $30,%xmm9,%xmm8
1660         addl    %esi,%eax
1661         andl    %ecx,%edi
1662         xorl    %edx,%ecx
1663         addl    %ebx,%eax
1664         vpslld  $2,%xmm9,%xmm9
1665         vpxor   %xmm8,%xmm7,%xmm7
1666         shrdl   $7,%ebx,%ebx
1667         cmpl    $11,%r8d
1668         jb      .Lvaesenclast6
1669         vaesenc %xmm15,%xmm12,%xmm12
1670         vmovups 64(%r15),%xmm14
1671         vaesenc %xmm14,%xmm12,%xmm12
1672         vmovups 80(%r15),%xmm15
1673         je      .Lvaesenclast6
1674         vaesenc %xmm15,%xmm12,%xmm12
1675         vmovups 96(%r15),%xmm14
1676         vaesenc %xmm14,%xmm12,%xmm12
1677         vmovups 112(%r15),%xmm15
1678 .Lvaesenclast6:
1679         vaesenclast     %xmm15,%xmm12,%xmm12
1680         vmovups -112(%r15),%xmm15
1681         vmovups 16-112(%r15),%xmm14
1682         xorl    %edx,%edi
1683         movl    %eax,%esi
1684         addl    60(%rsp),%ebp
1685         vpxor   %xmm9,%xmm7,%xmm7
1686         xorl    %ecx,%ebx
1687         shldl   $5,%eax,%eax
1688         addl    %edi,%ebp
1689         andl    %ebx,%esi
1690         xorl    %ecx,%ebx
1691         addl    %eax,%ebp
1692         vpalignr        $8,%xmm6,%xmm7,%xmm8
1693         vpxor   %xmm4,%xmm0,%xmm0
1694         shrdl   $7,%eax,%eax
1695         xorl    %ecx,%esi
1696         movl    %ebp,%edi
1697         addl    0(%rsp),%edx
1698         vpxor   %xmm1,%xmm0,%xmm0
1699         xorl    %ebx,%eax
1700         shldl   $5,%ebp,%ebp
1701         vpaddd  %xmm7,%xmm10,%xmm9
1702         addl    %esi,%edx
1703         vmovdqu 16(%r12),%xmm13
1704         vpxor   %xmm15,%xmm13,%xmm13
1705         vmovups %xmm12,0(%r12,%r13,1)
1706         vpxor   %xmm13,%xmm12,%xmm12
1707         vaesenc %xmm14,%xmm12,%xmm12
1708         vmovups -80(%r15),%xmm15
1709         andl    %eax,%edi
1710         vpxor   %xmm8,%xmm0,%xmm0
1711         xorl    %ebx,%eax
1712         addl    %ebp,%edx
1713         shrdl   $7,%ebp,%ebp
1714         xorl    %ebx,%edi
1715         vpsrld  $30,%xmm0,%xmm8
1716         vmovdqa %xmm9,48(%rsp)
1717         movl    %edx,%esi
1718         addl    4(%rsp),%ecx
1719         xorl    %eax,%ebp
1720         shldl   $5,%edx,%edx
1721         vpslld  $2,%xmm0,%xmm0
1722         addl    %edi,%ecx
1723         andl    %ebp,%esi
1724         xorl    %eax,%ebp
1725         addl    %edx,%ecx
1726         shrdl   $7,%edx,%edx
1727         xorl    %eax,%esi
1728         movl    %ecx,%edi
1729         addl    8(%rsp),%ebx
1730         vaesenc %xmm15,%xmm12,%xmm12
1731         vmovups -64(%r15),%xmm14
1732         vpor    %xmm8,%xmm0,%xmm0
1733         xorl    %ebp,%edx
1734         shldl   $5,%ecx,%ecx
1735         addl    %esi,%ebx
1736         andl    %edx,%edi
1737         xorl    %ebp,%edx
1738         addl    %ecx,%ebx
1739         addl    12(%rsp),%eax
1740         xorl    %ebp,%edi
1741         movl    %ebx,%esi
1742         shldl   $5,%ebx,%ebx
1743         addl    %edi,%eax
1744         xorl    %edx,%esi
1745         shrdl   $7,%ecx,%ecx
1746         addl    %ebx,%eax
1747         vpalignr        $8,%xmm7,%xmm0,%xmm8
1748         vpxor   %xmm5,%xmm1,%xmm1
1749         addl    16(%rsp),%ebp
1750         vaesenc %xmm14,%xmm12,%xmm12
1751         vmovups -48(%r15),%xmm15
1752         xorl    %ecx,%esi
1753         movl    %eax,%edi
1754         shldl   $5,%eax,%eax
1755         vpxor   %xmm2,%xmm1,%xmm1
1756         addl    %esi,%ebp
1757         xorl    %ecx,%edi
1758         vpaddd  %xmm0,%xmm10,%xmm9
1759         shrdl   $7,%ebx,%ebx
1760         addl    %eax,%ebp
1761         vpxor   %xmm8,%xmm1,%xmm1
1762         addl    20(%rsp),%edx
1763         xorl    %ebx,%edi
1764         movl    %ebp,%esi
1765         shldl   $5,%ebp,%ebp
1766         vpsrld  $30,%xmm1,%xmm8
1767         vmovdqa %xmm9,0(%rsp)
1768         addl    %edi,%edx
1769         xorl    %ebx,%esi
1770         shrdl   $7,%eax,%eax
1771         addl    %ebp,%edx
1772         vpslld  $2,%xmm1,%xmm1
1773         addl    24(%rsp),%ecx
1774         xorl    %eax,%esi
1775         movl    %edx,%edi
1776         shldl   $5,%edx,%edx
1777         addl    %esi,%ecx
1778         vaesenc %xmm15,%xmm12,%xmm12
1779         vmovups -32(%r15),%xmm14
1780         xorl    %eax,%edi
1781         shrdl   $7,%ebp,%ebp
1782         addl    %edx,%ecx
1783         vpor    %xmm8,%xmm1,%xmm1
1784         addl    28(%rsp),%ebx
1785         xorl    %ebp,%edi
1786         movl    %ecx,%esi
1787         shldl   $5,%ecx,%ecx
1788         addl    %edi,%ebx
1789         xorl    %ebp,%esi
1790         shrdl   $7,%edx,%edx
1791         addl    %ecx,%ebx
1792         vpalignr        $8,%xmm0,%xmm1,%xmm8
1793         vpxor   %xmm6,%xmm2,%xmm2
1794         addl    32(%rsp),%eax
1795         xorl    %edx,%esi
1796         movl    %ebx,%edi
1797         shldl   $5,%ebx,%ebx
1798         vpxor   %xmm3,%xmm2,%xmm2
1799         addl    %esi,%eax
1800         xorl    %edx,%edi
1801         vpaddd  %xmm1,%xmm10,%xmm9
1802         vmovdqa 32(%r11),%xmm10
1803         shrdl   $7,%ecx,%ecx
1804         addl    %ebx,%eax
1805         vpxor   %xmm8,%xmm2,%xmm2
1806         addl    36(%rsp),%ebp
1807         vaesenc %xmm14,%xmm12,%xmm12
1808         vmovups -16(%r15),%xmm15
1809         xorl    %ecx,%edi
1810         movl    %eax,%esi
1811         shldl   $5,%eax,%eax
1812         vpsrld  $30,%xmm2,%xmm8
1813         vmovdqa %xmm9,16(%rsp)
1814         addl    %edi,%ebp
1815         xorl    %ecx,%esi
1816         shrdl   $7,%ebx,%ebx
1817         addl    %eax,%ebp
1818         vpslld  $2,%xmm2,%xmm2
1819         addl    40(%rsp),%edx
1820         xorl    %ebx,%esi
1821         movl    %ebp,%edi
1822         shldl   $5,%ebp,%ebp
1823         addl    %esi,%edx
1824         xorl    %ebx,%edi
1825         shrdl   $7,%eax,%eax
1826         addl    %ebp,%edx
1827         vpor    %xmm8,%xmm2,%xmm2
1828         addl    44(%rsp),%ecx
1829         xorl    %eax,%edi
1830         movl    %edx,%esi
1831         shldl   $5,%edx,%edx
1832         addl    %edi,%ecx
1833         vaesenc %xmm15,%xmm12,%xmm12
1834         vmovups 0(%r15),%xmm14
1835         xorl    %eax,%esi
1836         shrdl   $7,%ebp,%ebp
1837         addl    %edx,%ecx
1838         vpalignr        $8,%xmm1,%xmm2,%xmm8
1839         vpxor   %xmm7,%xmm3,%xmm3
1840         addl    48(%rsp),%ebx
1841         xorl    %ebp,%esi
1842         movl    %ecx,%edi
1843         shldl   $5,%ecx,%ecx
1844         vpxor   %xmm4,%xmm3,%xmm3
1845         addl    %esi,%ebx
1846         xorl    %ebp,%edi
1847         vpaddd  %xmm2,%xmm10,%xmm9
1848         shrdl   $7,%edx,%edx
1849         addl    %ecx,%ebx
1850         vpxor   %xmm8,%xmm3,%xmm3
1851         addl    52(%rsp),%eax
1852         xorl    %edx,%edi
1853         movl    %ebx,%esi
1854         shldl   $5,%ebx,%ebx
1855         vpsrld  $30,%xmm3,%xmm8
1856         vmovdqa %xmm9,32(%rsp)
1857         addl    %edi,%eax
1858         xorl    %edx,%esi
1859         shrdl   $7,%ecx,%ecx
1860         addl    %ebx,%eax
1861         vpslld  $2,%xmm3,%xmm3
1862         addl    56(%rsp),%ebp
1863         vaesenc %xmm14,%xmm12,%xmm12
1864         vmovups 16(%r15),%xmm15
1865         xorl    %ecx,%esi
1866         movl    %eax,%edi
1867         shldl   $5,%eax,%eax
1868         addl    %esi,%ebp
1869         xorl    %ecx,%edi
1870         shrdl   $7,%ebx,%ebx
1871         addl    %eax,%ebp
1872         vpor    %xmm8,%xmm3,%xmm3
1873         addl    60(%rsp),%edx
1874         xorl    %ebx,%edi
1875         movl    %ebp,%esi
1876         shldl   $5,%ebp,%ebp
1877         addl    %edi,%edx
1878         xorl    %ebx,%esi
1879         shrdl   $7,%eax,%eax
1880         addl    %ebp,%edx
1881         vpalignr        $8,%xmm2,%xmm3,%xmm8
1882         vpxor   %xmm0,%xmm4,%xmm4
1883         addl    0(%rsp),%ecx
1884         xorl    %eax,%esi
1885         movl    %edx,%edi
1886         shldl   $5,%edx,%edx
1887         vpxor   %xmm5,%xmm4,%xmm4
1888         addl    %esi,%ecx
1889         vaesenc %xmm15,%xmm12,%xmm12
1890         vmovups 32(%r15),%xmm14
1891         xorl    %eax,%edi
1892         vpaddd  %xmm3,%xmm10,%xmm9
1893         shrdl   $7,%ebp,%ebp
1894         addl    %edx,%ecx
1895         vpxor   %xmm8,%xmm4,%xmm4
1896         addl    4(%rsp),%ebx
1897         xorl    %ebp,%edi
1898         movl    %ecx,%esi
1899         shldl   $5,%ecx,%ecx
1900         vpsrld  $30,%xmm4,%xmm8
1901         vmovdqa %xmm9,48(%rsp)
1902         addl    %edi,%ebx
1903         xorl    %ebp,%esi
1904         shrdl   $7,%edx,%edx
1905         addl    %ecx,%ebx
1906         vpslld  $2,%xmm4,%xmm4
1907         addl    8(%rsp),%eax
1908         xorl    %edx,%esi
1909         movl    %ebx,%edi
1910         shldl   $5,%ebx,%ebx
1911         addl    %esi,%eax
1912         xorl    %edx,%edi
1913         shrdl   $7,%ecx,%ecx
1914         addl    %ebx,%eax
1915         vpor    %xmm8,%xmm4,%xmm4
1916         addl    12(%rsp),%ebp
1917         vaesenc %xmm14,%xmm12,%xmm12
1918         vmovups 48(%r15),%xmm15
1919         xorl    %ecx,%edi
1920         movl    %eax,%esi
1921         shldl   $5,%eax,%eax
1922         addl    %edi,%ebp
1923         xorl    %ecx,%esi
1924         shrdl   $7,%ebx,%ebx
1925         addl    %eax,%ebp
1926         vpalignr        $8,%xmm3,%xmm4,%xmm8
1927         vpxor   %xmm1,%xmm5,%xmm5
1928         addl    16(%rsp),%edx
1929         xorl    %ebx,%esi
1930         movl    %ebp,%edi
1931         shldl   $5,%ebp,%ebp
1932         vpxor   %xmm6,%xmm5,%xmm5
1933         addl    %esi,%edx
1934         xorl    %ebx,%edi
1935         vpaddd  %xmm4,%xmm10,%xmm9
1936         shrdl   $7,%eax,%eax
1937         addl    %ebp,%edx
1938         vpxor   %xmm8,%xmm5,%xmm5
1939         addl    20(%rsp),%ecx
1940         xorl    %eax,%edi
1941         movl    %edx,%esi
1942         shldl   $5,%edx,%edx
1943         vpsrld  $30,%xmm5,%xmm8
1944         vmovdqa %xmm9,0(%rsp)
1945         addl    %edi,%ecx
1946         cmpl    $11,%r8d
1947         jb      .Lvaesenclast7
1948         vaesenc %xmm15,%xmm12,%xmm12
1949         vmovups 64(%r15),%xmm14
1950         vaesenc %xmm14,%xmm12,%xmm12
1951         vmovups 80(%r15),%xmm15
1952         je      .Lvaesenclast7
1953         vaesenc %xmm15,%xmm12,%xmm12
1954         vmovups 96(%r15),%xmm14
1955         vaesenc %xmm14,%xmm12,%xmm12
1956         vmovups 112(%r15),%xmm15
1957 .Lvaesenclast7:
1958         vaesenclast     %xmm15,%xmm12,%xmm12
1959         vmovups -112(%r15),%xmm15
1960         vmovups 16-112(%r15),%xmm14
1961         xorl    %eax,%esi
1962         shrdl   $7,%ebp,%ebp
1963         addl    %edx,%ecx
1964         vpslld  $2,%xmm5,%xmm5
1965         addl    24(%rsp),%ebx
1966         xorl    %ebp,%esi
1967         movl    %ecx,%edi
1968         shldl   $5,%ecx,%ecx
1969         addl    %esi,%ebx
1970         xorl    %ebp,%edi
1971         shrdl   $7,%edx,%edx
1972         addl    %ecx,%ebx
1973         vpor    %xmm8,%xmm5,%xmm5
1974         addl    28(%rsp),%eax
1975         shrdl   $7,%ecx,%ecx
1976         movl    %ebx,%esi
1977         xorl    %edx,%edi
1978         shldl   $5,%ebx,%ebx
1979         addl    %edi,%eax
1980         xorl    %ecx,%esi
1981         xorl    %edx,%ecx
1982         addl    %ebx,%eax
1983         vpalignr        $8,%xmm4,%xmm5,%xmm8
1984         vpxor   %xmm2,%xmm6,%xmm6
1985         addl    32(%rsp),%ebp
1986         vmovdqu 32(%r12),%xmm13
1987         vpxor   %xmm15,%xmm13,%xmm13
1988         vmovups %xmm12,16(%r13,%r12,1)
1989         vpxor   %xmm13,%xmm12,%xmm12
1990         vaesenc %xmm14,%xmm12,%xmm12
1991         vmovups -80(%r15),%xmm15
1992         andl    %ecx,%esi
1993         xorl    %edx,%ecx
1994         shrdl   $7,%ebx,%ebx
1995         vpxor   %xmm7,%xmm6,%xmm6
1996         movl    %eax,%edi
1997         xorl    %ecx,%esi
1998         vpaddd  %xmm5,%xmm10,%xmm9
1999         shldl   $5,%eax,%eax
2000         addl    %esi,%ebp
2001         vpxor   %xmm8,%xmm6,%xmm6
2002         xorl    %ebx,%edi
2003         xorl    %ecx,%ebx
2004         addl    %eax,%ebp
2005         addl    36(%rsp),%edx
2006         vpsrld  $30,%xmm6,%xmm8
2007         vmovdqa %xmm9,16(%rsp)
2008         andl    %ebx,%edi
2009         xorl    %ecx,%ebx
2010         shrdl   $7,%eax,%eax
2011         movl    %ebp,%esi
2012         vpslld  $2,%xmm6,%xmm6
2013         xorl    %ebx,%edi
2014         shldl   $5,%ebp,%ebp
2015         addl    %edi,%edx
2016         vaesenc %xmm15,%xmm12,%xmm12
2017         vmovups -64(%r15),%xmm14
2018         xorl    %eax,%esi
2019         xorl    %ebx,%eax
2020         addl    %ebp,%edx
2021         addl    40(%rsp),%ecx
2022         andl    %eax,%esi
2023         vpor    %xmm8,%xmm6,%xmm6
2024         xorl    %ebx,%eax
2025         shrdl   $7,%ebp,%ebp
2026         movl    %edx,%edi
2027         xorl    %eax,%esi
2028         shldl   $5,%edx,%edx
2029         addl    %esi,%ecx
2030         xorl    %ebp,%edi
2031         xorl    %eax,%ebp
2032         addl    %edx,%ecx
2033         addl    44(%rsp),%ebx
2034         andl    %ebp,%edi
2035         xorl    %eax,%ebp
2036         shrdl   $7,%edx,%edx
2037         vaesenc %xmm14,%xmm12,%xmm12
2038         vmovups -48(%r15),%xmm15
2039         movl    %ecx,%esi
2040         xorl    %ebp,%edi
2041         shldl   $5,%ecx,%ecx
2042         addl    %edi,%ebx
2043         xorl    %edx,%esi
2044         xorl    %ebp,%edx
2045         addl    %ecx,%ebx
2046         vpalignr        $8,%xmm5,%xmm6,%xmm8
2047         vpxor   %xmm3,%xmm7,%xmm7
2048         addl    48(%rsp),%eax
2049         andl    %edx,%esi
2050         xorl    %ebp,%edx
2051         shrdl   $7,%ecx,%ecx
2052         vpxor   %xmm0,%xmm7,%xmm7
2053         movl    %ebx,%edi
2054         xorl    %edx,%esi
2055         vpaddd  %xmm6,%xmm10,%xmm9
2056         vmovdqa 48(%r11),%xmm10
2057         shldl   $5,%ebx,%ebx
2058         addl    %esi,%eax
2059         vpxor   %xmm8,%xmm7,%xmm7
2060         xorl    %ecx,%edi
2061         xorl    %edx,%ecx
2062         addl    %ebx,%eax
2063         addl    52(%rsp),%ebp
2064         vaesenc %xmm15,%xmm12,%xmm12
2065         vmovups -32(%r15),%xmm14
2066         vpsrld  $30,%xmm7,%xmm8
2067         vmovdqa %xmm9,32(%rsp)
2068         andl    %ecx,%edi
2069         xorl    %edx,%ecx
2070         shrdl   $7,%ebx,%ebx
2071         movl    %eax,%esi
2072         vpslld  $2,%xmm7,%xmm7
2073         xorl    %ecx,%edi
2074         shldl   $5,%eax,%eax
2075         addl    %edi,%ebp
2076         xorl    %ebx,%esi
2077         xorl    %ecx,%ebx
2078         addl    %eax,%ebp
2079         addl    56(%rsp),%edx
2080         andl    %ebx,%esi
2081         vpor    %xmm8,%xmm7,%xmm7
2082         xorl    %ecx,%ebx
2083         shrdl   $7,%eax,%eax
2084         movl    %ebp,%edi
2085         xorl    %ebx,%esi
2086         shldl   $5,%ebp,%ebp
2087         addl    %esi,%edx
2088         vaesenc %xmm14,%xmm12,%xmm12
2089         vmovups -16(%r15),%xmm15
2090         xorl    %eax,%edi
2091         xorl    %ebx,%eax
2092         addl    %ebp,%edx
2093         addl    60(%rsp),%ecx
2094         andl    %eax,%edi
2095         xorl    %ebx,%eax
2096         shrdl   $7,%ebp,%ebp
2097         movl    %edx,%esi
2098         xorl    %eax,%edi
2099         shldl   $5,%edx,%edx
2100         addl    %edi,%ecx
2101         xorl    %ebp,%esi
2102         xorl    %eax,%ebp
2103         addl    %edx,%ecx
2104         vpalignr        $8,%xmm6,%xmm7,%xmm8
2105         vpxor   %xmm4,%xmm0,%xmm0
2106         addl    0(%rsp),%ebx
2107         andl    %ebp,%esi
2108         xorl    %eax,%ebp
2109         shrdl   $7,%edx,%edx
2110         vaesenc %xmm15,%xmm12,%xmm12
2111         vmovups 0(%r15),%xmm14
2112         vpxor   %xmm1,%xmm0,%xmm0
2113         movl    %ecx,%edi
2114         xorl    %ebp,%esi
2115         vpaddd  %xmm7,%xmm10,%xmm9
2116         shldl   $5,%ecx,%ecx
2117         addl    %esi,%ebx
2118         vpxor   %xmm8,%xmm0,%xmm0
2119         xorl    %edx,%edi
2120         xorl    %ebp,%edx
2121         addl    %ecx,%ebx
2122         addl    4(%rsp),%eax
2123         vpsrld  $30,%xmm0,%xmm8
2124         vmovdqa %xmm9,48(%rsp)
2125         andl    %edx,%edi
2126         xorl    %ebp,%edx
2127         shrdl   $7,%ecx,%ecx
2128         movl    %ebx,%esi
2129         vpslld  $2,%xmm0,%xmm0
2130         xorl    %edx,%edi
2131         shldl   $5,%ebx,%ebx
2132         addl    %edi,%eax
2133         xorl    %ecx,%esi
2134         xorl    %edx,%ecx
2135         addl    %ebx,%eax
2136         addl    8(%rsp),%ebp
2137         vaesenc %xmm14,%xmm12,%xmm12
2138         vmovups 16(%r15),%xmm15
2139         andl    %ecx,%esi
2140         vpor    %xmm8,%xmm0,%xmm0
2141         xorl    %edx,%ecx
2142         shrdl   $7,%ebx,%ebx
2143         movl    %eax,%edi
2144         xorl    %ecx,%esi
2145         shldl   $5,%eax,%eax
2146         addl    %esi,%ebp
2147         xorl    %ebx,%edi
2148         xorl    %ecx,%ebx
2149         addl    %eax,%ebp
2150         addl    12(%rsp),%edx
2151         andl    %ebx,%edi
2152         xorl    %ecx,%ebx
2153         shrdl   $7,%eax,%eax
2154         movl    %ebp,%esi
2155         xorl    %ebx,%edi
2156         shldl   $5,%ebp,%ebp
2157         addl    %edi,%edx
2158         vaesenc %xmm15,%xmm12,%xmm12
2159         vmovups 32(%r15),%xmm14
2160         xorl    %eax,%esi
2161         xorl    %ebx,%eax
2162         addl    %ebp,%edx
2163         vpalignr        $8,%xmm7,%xmm0,%xmm8
2164         vpxor   %xmm5,%xmm1,%xmm1
2165         addl    16(%rsp),%ecx
2166         andl    %eax,%esi
2167         xorl    %ebx,%eax
2168         shrdl   $7,%ebp,%ebp
2169         vpxor   %xmm2,%xmm1,%xmm1
2170         movl    %edx,%edi
2171         xorl    %eax,%esi
2172         vpaddd  %xmm0,%xmm10,%xmm9
2173         shldl   $5,%edx,%edx
2174         addl    %esi,%ecx
2175         vpxor   %xmm8,%xmm1,%xmm1
2176         xorl    %ebp,%edi
2177         xorl    %eax,%ebp
2178         addl    %edx,%ecx
2179         addl    20(%rsp),%ebx
2180         vpsrld  $30,%xmm1,%xmm8
2181         vmovdqa %xmm9,0(%rsp)
2182         andl    %ebp,%edi
2183         xorl    %eax,%ebp
2184         shrdl   $7,%edx,%edx
2185         vaesenc %xmm14,%xmm12,%xmm12
2186         vmovups 48(%r15),%xmm15
2187         movl    %ecx,%esi
2188         vpslld  $2,%xmm1,%xmm1
2189         xorl    %ebp,%edi
2190         shldl   $5,%ecx,%ecx
2191         addl    %edi,%ebx
2192         xorl    %edx,%esi
2193         xorl    %ebp,%edx
2194         addl    %ecx,%ebx
2195         addl    24(%rsp),%eax
2196         andl    %edx,%esi
2197         vpor    %xmm8,%xmm1,%xmm1
2198         xorl    %ebp,%edx
2199         shrdl   $7,%ecx,%ecx
2200         movl    %ebx,%edi
2201         xorl    %edx,%esi
2202         shldl   $5,%ebx,%ebx
2203         addl    %esi,%eax
2204         xorl    %ecx,%edi
2205         xorl    %edx,%ecx
2206         addl    %ebx,%eax
2207         addl    28(%rsp),%ebp
2208         cmpl    $11,%r8d
2209         jb      .Lvaesenclast8
2210         vaesenc %xmm15,%xmm12,%xmm12
2211         vmovups 64(%r15),%xmm14
2212         vaesenc %xmm14,%xmm12,%xmm12
2213         vmovups 80(%r15),%xmm15
2214         je      .Lvaesenclast8
2215         vaesenc %xmm15,%xmm12,%xmm12
2216         vmovups 96(%r15),%xmm14
2217         vaesenc %xmm14,%xmm12,%xmm12
2218         vmovups 112(%r15),%xmm15
2219 .Lvaesenclast8:
2220         vaesenclast     %xmm15,%xmm12,%xmm12
2221         vmovups -112(%r15),%xmm15
2222         vmovups 16-112(%r15),%xmm14
2223         andl    %ecx,%edi
2224         xorl    %edx,%ecx
2225         shrdl   $7,%ebx,%ebx
2226         movl    %eax,%esi
2227         xorl    %ecx,%edi
2228         shldl   $5,%eax,%eax
2229         addl    %edi,%ebp
2230         xorl    %ebx,%esi
2231         xorl    %ecx,%ebx
2232         addl    %eax,%ebp
2233         vpalignr        $8,%xmm0,%xmm1,%xmm8
2234         vpxor   %xmm6,%xmm2,%xmm2
2235         addl    32(%rsp),%edx
2236         andl    %ebx,%esi
2237         xorl    %ecx,%ebx
2238         shrdl   $7,%eax,%eax
2239         vpxor   %xmm3,%xmm2,%xmm2
2240         movl    %ebp,%edi
2241         xorl    %ebx,%esi
2242         vpaddd  %xmm1,%xmm10,%xmm9
2243         shldl   $5,%ebp,%ebp
2244         addl    %esi,%edx
2245         vmovdqu 48(%r12),%xmm13
2246         vpxor   %xmm15,%xmm13,%xmm13
2247         vmovups %xmm12,32(%r13,%r12,1)
2248         vpxor   %xmm13,%xmm12,%xmm12
2249         vaesenc %xmm14,%xmm12,%xmm12
2250         vmovups -80(%r15),%xmm15
2251         vpxor   %xmm8,%xmm2,%xmm2
2252         xorl    %eax,%edi
2253         xorl    %ebx,%eax
2254         addl    %ebp,%edx
2255         addl    36(%rsp),%ecx
2256         vpsrld  $30,%xmm2,%xmm8
2257         vmovdqa %xmm9,16(%rsp)
2258         andl    %eax,%edi
2259         xorl    %ebx,%eax
2260         shrdl   $7,%ebp,%ebp
2261         movl    %edx,%esi
2262         vpslld  $2,%xmm2,%xmm2
2263         xorl    %eax,%edi
2264         shldl   $5,%edx,%edx
2265         addl    %edi,%ecx
2266         xorl    %ebp,%esi
2267         xorl    %eax,%ebp
2268         addl    %edx,%ecx
2269         addl    40(%rsp),%ebx
2270         andl    %ebp,%esi
2271         vpor    %xmm8,%xmm2,%xmm2
2272         xorl    %eax,%ebp
2273         shrdl   $7,%edx,%edx
2274         vaesenc %xmm15,%xmm12,%xmm12
2275         vmovups -64(%r15),%xmm14
2276         movl    %ecx,%edi
2277         xorl    %ebp,%esi
2278         shldl   $5,%ecx,%ecx
2279         addl    %esi,%ebx
2280         xorl    %edx,%edi
2281         xorl    %ebp,%edx
2282         addl    %ecx,%ebx
2283         addl    44(%rsp),%eax
2284         andl    %edx,%edi
2285         xorl    %ebp,%edx
2286         shrdl   $7,%ecx,%ecx
2287         movl    %ebx,%esi
2288         xorl    %edx,%edi
2289         shldl   $5,%ebx,%ebx
2290         addl    %edi,%eax
2291         xorl    %edx,%esi
2292         addl    %ebx,%eax
2293         vpalignr        $8,%xmm1,%xmm2,%xmm8
2294         vpxor   %xmm7,%xmm3,%xmm3
2295         addl    48(%rsp),%ebp
2296         vaesenc %xmm14,%xmm12,%xmm12
2297         vmovups -48(%r15),%xmm15
2298         xorl    %ecx,%esi
2299         movl    %eax,%edi
2300         shldl   $5,%eax,%eax
2301         vpxor   %xmm4,%xmm3,%xmm3
2302         addl    %esi,%ebp
2303         xorl    %ecx,%edi
2304         vpaddd  %xmm2,%xmm10,%xmm9
2305         shrdl   $7,%ebx,%ebx
2306         addl    %eax,%ebp
2307         vpxor   %xmm8,%xmm3,%xmm3
2308         addl    52(%rsp),%edx
2309         xorl    %ebx,%edi
2310         movl    %ebp,%esi
2311         shldl   $5,%ebp,%ebp
2312         vpsrld  $30,%xmm3,%xmm8
2313         vmovdqa %xmm9,32(%rsp)
2314         addl    %edi,%edx
2315         xorl    %ebx,%esi
2316         shrdl   $7,%eax,%eax
2317         addl    %ebp,%edx
2318         vpslld  $2,%xmm3,%xmm3
2319         addl    56(%rsp),%ecx
2320         xorl    %eax,%esi
2321         movl    %edx,%edi
2322         shldl   $5,%edx,%edx
2323         addl    %esi,%ecx
2324         vaesenc %xmm15,%xmm12,%xmm12
2325         vmovups -32(%r15),%xmm14
2326         xorl    %eax,%edi
2327         shrdl   $7,%ebp,%ebp
2328         addl    %edx,%ecx
2329         vpor    %xmm8,%xmm3,%xmm3
2330         addl    60(%rsp),%ebx
2331         xorl    %ebp,%edi
2332         movl    %ecx,%esi
2333         shldl   $5,%ecx,%ecx
2334         addl    %edi,%ebx
2335         xorl    %ebp,%esi
2336         shrdl   $7,%edx,%edx
2337         addl    %ecx,%ebx
2338         addl    0(%rsp),%eax
2339         vpaddd  %xmm3,%xmm10,%xmm9
2340         xorl    %edx,%esi
2341         movl    %ebx,%edi
2342         shldl   $5,%ebx,%ebx
2343         addl    %esi,%eax
2344         vmovdqa %xmm9,48(%rsp)
2345         xorl    %edx,%edi
2346         shrdl   $7,%ecx,%ecx
2347         addl    %ebx,%eax
2348         addl    4(%rsp),%ebp
2349         vaesenc %xmm14,%xmm12,%xmm12
2350         vmovups -16(%r15),%xmm15
2351         xorl    %ecx,%edi
2352         movl    %eax,%esi
2353         shldl   $5,%eax,%eax
2354         addl    %edi,%ebp
2355         xorl    %ecx,%esi
2356         shrdl   $7,%ebx,%ebx
2357         addl    %eax,%ebp
2358         addl    8(%rsp),%edx
2359         xorl    %ebx,%esi
2360         movl    %ebp,%edi
2361         shldl   $5,%ebp,%ebp
2362         addl    %esi,%edx
2363         xorl    %ebx,%edi
2364         shrdl   $7,%eax,%eax
2365         addl    %ebp,%edx
2366         addl    12(%rsp),%ecx
2367         xorl    %eax,%edi
2368         movl    %edx,%esi
2369         shldl   $5,%edx,%edx
2370         addl    %edi,%ecx
2371         vaesenc %xmm15,%xmm12,%xmm12
2372         vmovups 0(%r15),%xmm14
2373         xorl    %eax,%esi
2374         shrdl   $7,%ebp,%ebp
2375         addl    %edx,%ecx
2376         cmpq    %r14,%r10
2377         je      .Ldone_avx
2378         vmovdqa 64(%r11),%xmm9
2379         vmovdqa 0(%r11),%xmm10
2380         vmovdqu 0(%r10),%xmm0
2381         vmovdqu 16(%r10),%xmm1
2382         vmovdqu 32(%r10),%xmm2
2383         vmovdqu 48(%r10),%xmm3
2384         vpshufb %xmm9,%xmm0,%xmm0
2385         addq    $64,%r10
2386         addl    16(%rsp),%ebx
2387         xorl    %ebp,%esi
2388         vpshufb %xmm9,%xmm1,%xmm1
2389         movl    %ecx,%edi
2390         shldl   $5,%ecx,%ecx
2391         vpaddd  %xmm10,%xmm0,%xmm8
2392         addl    %esi,%ebx
2393         xorl    %ebp,%edi
2394         shrdl   $7,%edx,%edx
2395         addl    %ecx,%ebx
2396         vmovdqa %xmm8,0(%rsp)
2397         addl    20(%rsp),%eax
2398         xorl    %edx,%edi
2399         movl    %ebx,%esi
2400         shldl   $5,%ebx,%ebx
2401         addl    %edi,%eax
2402         xorl    %edx,%esi
2403         shrdl   $7,%ecx,%ecx
2404         addl    %ebx,%eax
2405         addl    24(%rsp),%ebp
2406         vaesenc %xmm14,%xmm12,%xmm12
2407         vmovups 16(%r15),%xmm15
2408         xorl    %ecx,%esi
2409         movl    %eax,%edi
2410         shldl   $5,%eax,%eax
2411         addl    %esi,%ebp
2412         xorl    %ecx,%edi
2413         shrdl   $7,%ebx,%ebx
2414         addl    %eax,%ebp
2415         addl    28(%rsp),%edx
2416         xorl    %ebx,%edi
2417         movl    %ebp,%esi
2418         shldl   $5,%ebp,%ebp
2419         addl    %edi,%edx
2420         xorl    %ebx,%esi
2421         shrdl   $7,%eax,%eax
2422         addl    %ebp,%edx
2423         addl    32(%rsp),%ecx
2424         xorl    %eax,%esi
2425         vpshufb %xmm9,%xmm2,%xmm2
2426         movl    %edx,%edi
2427         shldl   $5,%edx,%edx
2428         vpaddd  %xmm10,%xmm1,%xmm8
2429         addl    %esi,%ecx
2430         vaesenc %xmm15,%xmm12,%xmm12
2431         vmovups 32(%r15),%xmm14
2432         xorl    %eax,%edi
2433         shrdl   $7,%ebp,%ebp
2434         addl    %edx,%ecx
2435         vmovdqa %xmm8,16(%rsp)
2436         addl    36(%rsp),%ebx
2437         xorl    %ebp,%edi
2438         movl    %ecx,%esi
2439         shldl   $5,%ecx,%ecx
2440         addl    %edi,%ebx
2441         xorl    %ebp,%esi
2442         shrdl   $7,%edx,%edx
2443         addl    %ecx,%ebx
2444         addl    40(%rsp),%eax
2445         xorl    %edx,%esi
2446         movl    %ebx,%edi
2447         shldl   $5,%ebx,%ebx
2448         addl    %esi,%eax
2449         xorl    %edx,%edi
2450         shrdl   $7,%ecx,%ecx
2451         addl    %ebx,%eax
2452         addl    44(%rsp),%ebp
2453         vaesenc %xmm14,%xmm12,%xmm12
2454         vmovups 48(%r15),%xmm15
2455         xorl    %ecx,%edi
2456         movl    %eax,%esi
2457         shldl   $5,%eax,%eax
2458         addl    %edi,%ebp
2459         xorl    %ecx,%esi
2460         shrdl   $7,%ebx,%ebx
2461         addl    %eax,%ebp
2462         addl    48(%rsp),%edx
2463         xorl    %ebx,%esi
2464         vpshufb %xmm9,%xmm3,%xmm3
2465         movl    %ebp,%edi
2466         shldl   $5,%ebp,%ebp
2467         vpaddd  %xmm10,%xmm2,%xmm8
2468         addl    %esi,%edx
2469         xorl    %ebx,%edi
2470         shrdl   $7,%eax,%eax
2471         addl    %ebp,%edx
2472         vmovdqa %xmm8,32(%rsp)
2473         addl    52(%rsp),%ecx
2474         xorl    %eax,%edi
2475         movl    %edx,%esi
2476         shldl   $5,%edx,%edx
2477         addl    %edi,%ecx
2478         cmpl    $11,%r8d
2479         jb      .Lvaesenclast9
2480         vaesenc %xmm15,%xmm12,%xmm12
2481         vmovups 64(%r15),%xmm14
2482         vaesenc %xmm14,%xmm12,%xmm12
2483         vmovups 80(%r15),%xmm15
2484         je      .Lvaesenclast9
2485         vaesenc %xmm15,%xmm12,%xmm12
2486         vmovups 96(%r15),%xmm14
2487         vaesenc %xmm14,%xmm12,%xmm12
2488         vmovups 112(%r15),%xmm15
2489 .Lvaesenclast9:
2490         vaesenclast     %xmm15,%xmm12,%xmm12
2491         vmovups -112(%r15),%xmm15
2492         vmovups 16-112(%r15),%xmm14
2493         xorl    %eax,%esi
2494         shrdl   $7,%ebp,%ebp
2495         addl    %edx,%ecx
2496         addl    56(%rsp),%ebx
2497         xorl    %ebp,%esi
2498         movl    %ecx,%edi
2499         shldl   $5,%ecx,%ecx
2500         addl    %esi,%ebx
2501         xorl    %ebp,%edi
2502         shrdl   $7,%edx,%edx
2503         addl    %ecx,%ebx
2504         addl    60(%rsp),%eax
2505         xorl    %edx,%edi
2506         movl    %ebx,%esi
2507         shldl   $5,%ebx,%ebx
2508         addl    %edi,%eax
2509         shrdl   $7,%ecx,%ecx
2510         addl    %ebx,%eax
2511         vmovups %xmm12,48(%r13,%r12,1)
2512         leaq    64(%r12),%r12
2513
2514         addl    0(%r9),%eax
2515         addl    4(%r9),%esi
2516         addl    8(%r9),%ecx
2517         addl    12(%r9),%edx
2518         movl    %eax,0(%r9)
2519         addl    16(%r9),%ebp
2520         movl    %esi,4(%r9)
2521         movl    %esi,%ebx
2522         movl    %ecx,8(%r9)
2523         movl    %ecx,%edi
2524         movl    %edx,12(%r9)
2525         xorl    %edx,%edi
2526         movl    %ebp,16(%r9)
2527         andl    %edi,%esi
2528         jmp     .Loop_avx
2529
2530 .Ldone_avx:
2531         addl    16(%rsp),%ebx
2532         xorl    %ebp,%esi
2533         movl    %ecx,%edi
2534         shldl   $5,%ecx,%ecx
2535         addl    %esi,%ebx
2536         xorl    %ebp,%edi
2537         shrdl   $7,%edx,%edx
2538         addl    %ecx,%ebx
2539         addl    20(%rsp),%eax
2540         xorl    %edx,%edi
2541         movl    %ebx,%esi
2542         shldl   $5,%ebx,%ebx
2543         addl    %edi,%eax
2544         xorl    %edx,%esi
2545         shrdl   $7,%ecx,%ecx
2546         addl    %ebx,%eax
2547         addl    24(%rsp),%ebp
2548         vaesenc %xmm14,%xmm12,%xmm12
2549         vmovups 16(%r15),%xmm15
2550         xorl    %ecx,%esi
2551         movl    %eax,%edi
2552         shldl   $5,%eax,%eax
2553         addl    %esi,%ebp
2554         xorl    %ecx,%edi
2555         shrdl   $7,%ebx,%ebx
2556         addl    %eax,%ebp
2557         addl    28(%rsp),%edx
2558         xorl    %ebx,%edi
2559         movl    %ebp,%esi
2560         shldl   $5,%ebp,%ebp
2561         addl    %edi,%edx
2562         xorl    %ebx,%esi
2563         shrdl   $7,%eax,%eax
2564         addl    %ebp,%edx
2565         addl    32(%rsp),%ecx
2566         xorl    %eax,%esi
2567         movl    %edx,%edi
2568         shldl   $5,%edx,%edx
2569         addl    %esi,%ecx
2570         vaesenc %xmm15,%xmm12,%xmm12
2571         vmovups 32(%r15),%xmm14
2572         xorl    %eax,%edi
2573         shrdl   $7,%ebp,%ebp
2574         addl    %edx,%ecx
2575         addl    36(%rsp),%ebx
2576         xorl    %ebp,%edi
2577         movl    %ecx,%esi
2578         shldl   $5,%ecx,%ecx
2579         addl    %edi,%ebx
2580         xorl    %ebp,%esi
2581         shrdl   $7,%edx,%edx
2582         addl    %ecx,%ebx
2583         addl    40(%rsp),%eax
2584         xorl    %edx,%esi
2585         movl    %ebx,%edi
2586         shldl   $5,%ebx,%ebx
2587         addl    %esi,%eax
2588         xorl    %edx,%edi
2589         shrdl   $7,%ecx,%ecx
2590         addl    %ebx,%eax
2591         addl    44(%rsp),%ebp
2592         vaesenc %xmm14,%xmm12,%xmm12
2593         vmovups 48(%r15),%xmm15
2594         xorl    %ecx,%edi
2595         movl    %eax,%esi
2596         shldl   $5,%eax,%eax
2597         addl    %edi,%ebp
2598         xorl    %ecx,%esi
2599         shrdl   $7,%ebx,%ebx
2600         addl    %eax,%ebp
2601         addl    48(%rsp),%edx
2602         xorl    %ebx,%esi
2603         movl    %ebp,%edi
2604         shldl   $5,%ebp,%ebp
2605         addl    %esi,%edx
2606         xorl    %ebx,%edi
2607         shrdl   $7,%eax,%eax
2608         addl    %ebp,%edx
2609         addl    52(%rsp),%ecx
2610         xorl    %eax,%edi
2611         movl    %edx,%esi
2612         shldl   $5,%edx,%edx
2613         addl    %edi,%ecx
2614         cmpl    $11,%r8d
2615         jb      .Lvaesenclast10
2616         vaesenc %xmm15,%xmm12,%xmm12
2617         vmovups 64(%r15),%xmm14
2618         vaesenc %xmm14,%xmm12,%xmm12
2619         vmovups 80(%r15),%xmm15
2620         je      .Lvaesenclast10
2621         vaesenc %xmm15,%xmm12,%xmm12
2622         vmovups 96(%r15),%xmm14
2623         vaesenc %xmm14,%xmm12,%xmm12
2624         vmovups 112(%r15),%xmm15
2625 .Lvaesenclast10:
2626         vaesenclast     %xmm15,%xmm12,%xmm12
2627         vmovups -112(%r15),%xmm15
2628         vmovups 16-112(%r15),%xmm14
2629         xorl    %eax,%esi
2630         shrdl   $7,%ebp,%ebp
2631         addl    %edx,%ecx
2632         addl    56(%rsp),%ebx
2633         xorl    %ebp,%esi
2634         movl    %ecx,%edi
2635         shldl   $5,%ecx,%ecx
2636         addl    %esi,%ebx
2637         xorl    %ebp,%edi
2638         shrdl   $7,%edx,%edx
2639         addl    %ecx,%ebx
2640         addl    60(%rsp),%eax
2641         xorl    %edx,%edi
2642         movl    %ebx,%esi
2643         shldl   $5,%ebx,%ebx
2644         addl    %edi,%eax
2645         shrdl   $7,%ecx,%ecx
2646         addl    %ebx,%eax
2647         vmovups %xmm12,48(%r13,%r12,1)
2648         movq    88(%rsp),%r8
2649
2650         addl    0(%r9),%eax
2651         addl    4(%r9),%esi
2652         addl    8(%r9),%ecx
2653         movl    %eax,0(%r9)
2654         addl    12(%r9),%edx
2655         movl    %esi,4(%r9)
2656         addl    16(%r9),%ebp
2657         movl    %ecx,8(%r9)
2658         movl    %edx,12(%r9)
2659         movl    %ebp,16(%r9)
2660         vmovups %xmm12,(%r8)
2661         vzeroall
2662         leaq    104(%rsp),%rsi
2663         movq    0(%rsi),%r15
2664         movq    8(%rsi),%r14
2665         movq    16(%rsi),%r13
2666         movq    24(%rsi),%r12
2667         movq    32(%rsi),%rbp
2668         movq    40(%rsi),%rbx
2669         leaq    48(%rsi),%rsp
2670 .Lepilogue_avx:
2671         .byte   0xf3,0xc3
2672 .size   aesni_cbc_sha1_enc_avx,.-aesni_cbc_sha1_enc_avx
2673 .align  64
2674 K_XX_XX:
2675 .long   0x5a827999,0x5a827999,0x5a827999,0x5a827999
2676 .long   0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1
2677 .long   0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc
2678 .long   0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6
2679 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
2680 .byte   0xf,0xe,0xd,0xc,0xb,0xa,0x9,0x8,0x7,0x6,0x5,0x4,0x3,0x2,0x1,0x0
2681
2682 .byte   65,69,83,78,73,45,67,66,67,43,83,72,65,49,32,115,116,105,116,99,104,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2683 .align  64
2684 .type   aesni_cbc_sha1_enc_shaext,@function
2685 .align  32
2686 aesni_cbc_sha1_enc_shaext:
2687         movq    8(%rsp),%r10
2688         movdqu  (%r9),%xmm8
2689         movd    16(%r9),%xmm9
2690         movdqa  K_XX_XX+80(%rip),%xmm7
2691
2692         movl    240(%rcx),%r11d
2693         subq    %rdi,%rsi
2694         movups  (%rcx),%xmm15
2695         movups  16(%rcx),%xmm0
2696         leaq    112(%rcx),%rcx
2697
2698         pshufd  $27,%xmm8,%xmm8
2699         pshufd  $27,%xmm9,%xmm9
2700         jmp     .Loop_shaext
2701
2702 .align  16
2703 .Loop_shaext:
2704         movups  0(%rdi),%xmm14
2705         xorps   %xmm15,%xmm14
2706         xorps   %xmm14,%xmm2
2707         movups  -80(%rcx),%xmm1
2708 .byte   102,15,56,220,208
2709         movdqu  (%r10),%xmm3
2710         movdqa  %xmm9,%xmm12
2711 .byte   102,15,56,0,223
2712         movdqu  16(%r10),%xmm4
2713         movdqa  %xmm8,%xmm11
2714         movups  -64(%rcx),%xmm0
2715 .byte   102,15,56,220,209
2716 .byte   102,15,56,0,231
2717
2718         paddd   %xmm3,%xmm9
2719         movdqu  32(%r10),%xmm5
2720         leaq    64(%r10),%r10
2721         pxor    %xmm12,%xmm3
2722         movups  -48(%rcx),%xmm1
2723 .byte   102,15,56,220,208
2724         pxor    %xmm12,%xmm3
2725         movdqa  %xmm8,%xmm10
2726 .byte   102,15,56,0,239
2727 .byte   69,15,58,204,193,0
2728 .byte   68,15,56,200,212
2729         movups  -32(%rcx),%xmm0
2730 .byte   102,15,56,220,209
2731 .byte   15,56,201,220
2732         movdqu  -16(%r10),%xmm6
2733         movdqa  %xmm8,%xmm9
2734 .byte   102,15,56,0,247
2735         movups  -16(%rcx),%xmm1
2736 .byte   102,15,56,220,208
2737 .byte   69,15,58,204,194,0
2738 .byte   68,15,56,200,205
2739         pxor    %xmm5,%xmm3
2740 .byte   15,56,201,229
2741         movups  0(%rcx),%xmm0
2742 .byte   102,15,56,220,209
2743         movdqa  %xmm8,%xmm10
2744 .byte   69,15,58,204,193,0
2745 .byte   68,15,56,200,214
2746         movups  16(%rcx),%xmm1
2747 .byte   102,15,56,220,208
2748 .byte   15,56,202,222
2749         pxor    %xmm6,%xmm4
2750 .byte   15,56,201,238
2751         movups  32(%rcx),%xmm0
2752 .byte   102,15,56,220,209
2753         movdqa  %xmm8,%xmm9
2754 .byte   69,15,58,204,194,0
2755 .byte   68,15,56,200,203
2756         movups  48(%rcx),%xmm1
2757 .byte   102,15,56,220,208
2758 .byte   15,56,202,227
2759         pxor    %xmm3,%xmm5
2760 .byte   15,56,201,243
2761         cmpl    $11,%r11d
2762         jb      .Laesenclast11
2763         movups  64(%rcx),%xmm0
2764 .byte   102,15,56,220,209
2765         movups  80(%rcx),%xmm1
2766 .byte   102,15,56,220,208
2767         je      .Laesenclast11
2768         movups  96(%rcx),%xmm0
2769 .byte   102,15,56,220,209
2770         movups  112(%rcx),%xmm1
2771 .byte   102,15,56,220,208
2772 .Laesenclast11:
2773 .byte   102,15,56,221,209
2774         movups  16-112(%rcx),%xmm0
2775         movdqa  %xmm8,%xmm10
2776 .byte   69,15,58,204,193,0
2777 .byte   68,15,56,200,212
2778         movups  16(%rdi),%xmm14
2779         xorps   %xmm15,%xmm14
2780         movups  %xmm2,0(%rsi,%rdi,1)
2781         xorps   %xmm14,%xmm2
2782         movups  -80(%rcx),%xmm1
2783 .byte   102,15,56,220,208
2784 .byte   15,56,202,236
2785         pxor    %xmm4,%xmm6
2786 .byte   15,56,201,220
2787         movups  -64(%rcx),%xmm0
2788 .byte   102,15,56,220,209
2789         movdqa  %xmm8,%xmm9
2790 .byte   69,15,58,204,194,1
2791 .byte   68,15,56,200,205
2792         movups  -48(%rcx),%xmm1
2793 .byte   102,15,56,220,208
2794 .byte   15,56,202,245
2795         pxor    %xmm5,%xmm3
2796 .byte   15,56,201,229
2797         movups  -32(%rcx),%xmm0
2798 .byte   102,15,56,220,209
2799         movdqa  %xmm8,%xmm10
2800 .byte   69,15,58,204,193,1
2801 .byte   68,15,56,200,214
2802         movups  -16(%rcx),%xmm1
2803 .byte   102,15,56,220,208
2804 .byte   15,56,202,222
2805         pxor    %xmm6,%xmm4
2806 .byte   15,56,201,238
2807         movups  0(%rcx),%xmm0
2808 .byte   102,15,56,220,209
2809         movdqa  %xmm8,%xmm9
2810 .byte   69,15,58,204,194,1
2811 .byte   68,15,56,200,203
2812         movups  16(%rcx),%xmm1
2813 .byte   102,15,56,220,208
2814 .byte   15,56,202,227
2815         pxor    %xmm3,%xmm5
2816 .byte   15,56,201,243
2817         movups  32(%rcx),%xmm0
2818 .byte   102,15,56,220,209
2819         movdqa  %xmm8,%xmm10
2820 .byte   69,15,58,204,193,1
2821 .byte   68,15,56,200,212
2822         movups  48(%rcx),%xmm1
2823 .byte   102,15,56,220,208
2824 .byte   15,56,202,236
2825         pxor    %xmm4,%xmm6
2826 .byte   15,56,201,220
2827         cmpl    $11,%r11d
2828         jb      .Laesenclast12
2829         movups  64(%rcx),%xmm0
2830 .byte   102,15,56,220,209
2831         movups  80(%rcx),%xmm1
2832 .byte   102,15,56,220,208
2833         je      .Laesenclast12
2834         movups  96(%rcx),%xmm0
2835 .byte   102,15,56,220,209
2836         movups  112(%rcx),%xmm1
2837 .byte   102,15,56,220,208
2838 .Laesenclast12:
2839 .byte   102,15,56,221,209
2840         movups  16-112(%rcx),%xmm0
2841         movdqa  %xmm8,%xmm9
2842 .byte   69,15,58,204,194,1
2843 .byte   68,15,56,200,205
2844         movups  32(%rdi),%xmm14
2845         xorps   %xmm15,%xmm14
2846         movups  %xmm2,16(%rsi,%rdi,1)
2847         xorps   %xmm14,%xmm2
2848         movups  -80(%rcx),%xmm1
2849 .byte   102,15,56,220,208
2850 .byte   15,56,202,245
2851         pxor    %xmm5,%xmm3
2852 .byte   15,56,201,229
2853         movups  -64(%rcx),%xmm0
2854 .byte   102,15,56,220,209
2855         movdqa  %xmm8,%xmm10
2856 .byte   69,15,58,204,193,2
2857 .byte   68,15,56,200,214
2858         movups  -48(%rcx),%xmm1
2859 .byte   102,15,56,220,208
2860 .byte   15,56,202,222
2861         pxor    %xmm6,%xmm4
2862 .byte   15,56,201,238
2863         movups  -32(%rcx),%xmm0
2864 .byte   102,15,56,220,209
2865         movdqa  %xmm8,%xmm9
2866 .byte   69,15,58,204,194,2
2867 .byte   68,15,56,200,203
2868         movups  -16(%rcx),%xmm1
2869 .byte   102,15,56,220,208
2870 .byte   15,56,202,227
2871         pxor    %xmm3,%xmm5
2872 .byte   15,56,201,243
2873         movups  0(%rcx),%xmm0
2874 .byte   102,15,56,220,209
2875         movdqa  %xmm8,%xmm10
2876 .byte   69,15,58,204,193,2
2877 .byte   68,15,56,200,212
2878         movups  16(%rcx),%xmm1
2879 .byte   102,15,56,220,208
2880 .byte   15,56,202,236
2881         pxor    %xmm4,%xmm6
2882 .byte   15,56,201,220
2883         movups  32(%rcx),%xmm0
2884 .byte   102,15,56,220,209
2885         movdqa  %xmm8,%xmm9
2886 .byte   69,15,58,204,194,2
2887 .byte   68,15,56,200,205
2888         movups  48(%rcx),%xmm1
2889 .byte   102,15,56,220,208
2890 .byte   15,56,202,245
2891         pxor    %xmm5,%xmm3
2892 .byte   15,56,201,229
2893         cmpl    $11,%r11d
2894         jb      .Laesenclast13
2895         movups  64(%rcx),%xmm0
2896 .byte   102,15,56,220,209
2897         movups  80(%rcx),%xmm1
2898 .byte   102,15,56,220,208
2899         je      .Laesenclast13
2900         movups  96(%rcx),%xmm0
2901 .byte   102,15,56,220,209
2902         movups  112(%rcx),%xmm1
2903 .byte   102,15,56,220,208
2904 .Laesenclast13:
2905 .byte   102,15,56,221,209
2906         movups  16-112(%rcx),%xmm0
2907         movdqa  %xmm8,%xmm10
2908 .byte   69,15,58,204,193,2
2909 .byte   68,15,56,200,214
2910         movups  48(%rdi),%xmm14
2911         xorps   %xmm15,%xmm14
2912         movups  %xmm2,32(%rsi,%rdi,1)
2913         xorps   %xmm14,%xmm2
2914         movups  -80(%rcx),%xmm1
2915 .byte   102,15,56,220,208
2916 .byte   15,56,202,222
2917         pxor    %xmm6,%xmm4
2918 .byte   15,56,201,238
2919         movups  -64(%rcx),%xmm0
2920 .byte   102,15,56,220,209
2921         movdqa  %xmm8,%xmm9
2922 .byte   69,15,58,204,194,3
2923 .byte   68,15,56,200,203
2924         movups  -48(%rcx),%xmm1
2925 .byte   102,15,56,220,208
2926 .byte   15,56,202,227
2927         pxor    %xmm3,%xmm5
2928 .byte   15,56,201,243
2929         movups  -32(%rcx),%xmm0
2930 .byte   102,15,56,220,209
2931         movdqa  %xmm8,%xmm10
2932 .byte   69,15,58,204,193,3
2933 .byte   68,15,56,200,212
2934 .byte   15,56,202,236
2935         pxor    %xmm4,%xmm6
2936         movups  -16(%rcx),%xmm1
2937 .byte   102,15,56,220,208
2938         movdqa  %xmm8,%xmm9
2939 .byte   69,15,58,204,194,3
2940 .byte   68,15,56,200,205
2941 .byte   15,56,202,245
2942         movups  0(%rcx),%xmm0
2943 .byte   102,15,56,220,209
2944         movdqa  %xmm12,%xmm5
2945         movdqa  %xmm8,%xmm10
2946 .byte   69,15,58,204,193,3
2947 .byte   68,15,56,200,214
2948         movups  16(%rcx),%xmm1
2949 .byte   102,15,56,220,208
2950         movdqa  %xmm8,%xmm9
2951 .byte   69,15,58,204,194,3
2952 .byte   68,15,56,200,205
2953         movups  32(%rcx),%xmm0
2954 .byte   102,15,56,220,209
2955         movups  48(%rcx),%xmm1
2956 .byte   102,15,56,220,208
2957         cmpl    $11,%r11d
2958         jb      .Laesenclast14
2959         movups  64(%rcx),%xmm0
2960 .byte   102,15,56,220,209
2961         movups  80(%rcx),%xmm1
2962 .byte   102,15,56,220,208
2963         je      .Laesenclast14
2964         movups  96(%rcx),%xmm0
2965 .byte   102,15,56,220,209
2966         movups  112(%rcx),%xmm1
2967 .byte   102,15,56,220,208
2968 .Laesenclast14:
2969 .byte   102,15,56,221,209
2970         movups  16-112(%rcx),%xmm0
2971         decq    %rdx
2972
2973         paddd   %xmm11,%xmm8
2974         movups  %xmm2,48(%rsi,%rdi,1)
2975         leaq    64(%rdi),%rdi
2976         jnz     .Loop_shaext
2977
2978         pshufd  $27,%xmm8,%xmm8
2979         pshufd  $27,%xmm9,%xmm9
2980         movups  %xmm2,(%r8)
2981         movdqu  %xmm8,(%r9)
2982         movd    %xmm9,16(%r9)
2983         .byte   0xf3,0xc3
2984 .size   aesni_cbc_sha1_enc_shaext,.-aesni_cbc_sha1_enc_shaext
2985 .section .note.GNU-stack,"",%progbits