32fd600b92255fecffef6789beb5b7749c3112fb
[dragonfly.git] / secure / 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  16
7 aesni_cbc_sha1_enc:
8
9         movl    OPENSSL_ia32cap_P+0(%rip),%r10d
10         movl    OPENSSL_ia32cap_P+4(%rip),%r11d
11         jmp     aesni_cbc_sha1_enc_ssse3
12         .byte   0xf3,0xc3
13 .size   aesni_cbc_sha1_enc,.-aesni_cbc_sha1_enc
14 .type   aesni_cbc_sha1_enc_ssse3,@function
15 .align  16
16 aesni_cbc_sha1_enc_ssse3:
17         movq    8(%rsp),%r10
18
19
20         pushq   %rbx
21         pushq   %rbp
22         pushq   %r12
23         pushq   %r13
24         pushq   %r14
25         pushq   %r15
26         leaq    -104(%rsp),%rsp
27
28
29         movq    %rdi,%r12
30         movq    %rsi,%r13
31         movq    %rdx,%r14
32         movq    %rcx,%r15
33         movdqu  (%r8),%xmm11
34         movq    %r8,88(%rsp)
35         shlq    $6,%r14
36         subq    %r12,%r13
37         movl    240(%r15),%r8d
38         addq    %r10,%r14
39
40         leaq    K_XX_XX(%rip),%r11
41         movl    0(%r9),%eax
42         movl    4(%r9),%ebx
43         movl    8(%r9),%ecx
44         movl    12(%r9),%edx
45         movl    %ebx,%esi
46         movl    16(%r9),%ebp
47
48         movdqa  64(%r11),%xmm6
49         movdqa  0(%r11),%xmm9
50         movdqu  0(%r10),%xmm0
51         movdqu  16(%r10),%xmm1
52         movdqu  32(%r10),%xmm2
53         movdqu  48(%r10),%xmm3
54 .byte   102,15,56,0,198
55         addq    $64,%r10
56 .byte   102,15,56,0,206
57 .byte   102,15,56,0,214
58 .byte   102,15,56,0,222
59         paddd   %xmm9,%xmm0
60         paddd   %xmm9,%xmm1
61         paddd   %xmm9,%xmm2
62         movdqa  %xmm0,0(%rsp)
63         psubd   %xmm9,%xmm0
64         movdqa  %xmm1,16(%rsp)
65         psubd   %xmm9,%xmm1
66         movdqa  %xmm2,32(%rsp)
67         psubd   %xmm9,%xmm2
68         movups  (%r15),%xmm13
69         movups  16(%r15),%xmm14
70         jmp     .Loop_ssse3
71 .align  16
72 .Loop_ssse3:
73         movdqa  %xmm1,%xmm4
74         addl    0(%rsp),%ebp
75         movups  0(%r12),%xmm12
76         xorps   %xmm13,%xmm12
77         xorps   %xmm12,%xmm11
78 .byte   102,69,15,56,220,222
79         movups  32(%r15),%xmm15
80         xorl    %edx,%ecx
81         movdqa  %xmm3,%xmm8
82 .byte   102,15,58,15,224,8
83         movl    %eax,%edi
84         roll    $5,%eax
85         paddd   %xmm3,%xmm9
86         andl    %ecx,%esi
87         xorl    %edx,%ecx
88         psrldq  $4,%xmm8
89         xorl    %edx,%esi
90         addl    %eax,%ebp
91         pxor    %xmm0,%xmm4
92         rorl    $2,%ebx
93         addl    %esi,%ebp
94         pxor    %xmm2,%xmm8
95         addl    4(%rsp),%edx
96         xorl    %ecx,%ebx
97         movl    %ebp,%esi
98         roll    $5,%ebp
99         pxor    %xmm8,%xmm4
100         andl    %ebx,%edi
101         xorl    %ecx,%ebx
102         movdqa  %xmm9,48(%rsp)
103         xorl    %ecx,%edi
104 .byte   102,69,15,56,220,223
105         movups  48(%r15),%xmm14
106         addl    %ebp,%edx
107         movdqa  %xmm4,%xmm10
108         movdqa  %xmm4,%xmm8
109         rorl    $7,%eax
110         addl    %edi,%edx
111         addl    8(%rsp),%ecx
112         xorl    %ebx,%eax
113         pslldq  $12,%xmm10
114         paddd   %xmm4,%xmm4
115         movl    %edx,%edi
116         roll    $5,%edx
117         andl    %eax,%esi
118         xorl    %ebx,%eax
119         psrld   $31,%xmm8
120         xorl    %ebx,%esi
121         addl    %edx,%ecx
122         movdqa  %xmm10,%xmm9
123         rorl    $7,%ebp
124         addl    %esi,%ecx
125         psrld   $30,%xmm10
126         por     %xmm8,%xmm4
127         addl    12(%rsp),%ebx
128         xorl    %eax,%ebp
129         movl    %ecx,%esi
130         roll    $5,%ecx
131 .byte   102,69,15,56,220,222
132         movups  64(%r15),%xmm15
133         pslld   $2,%xmm9
134         pxor    %xmm10,%xmm4
135         andl    %ebp,%edi
136         xorl    %eax,%ebp
137         movdqa  0(%r11),%xmm10
138         xorl    %eax,%edi
139         addl    %ecx,%ebx
140         pxor    %xmm9,%xmm4
141         rorl    $7,%edx
142         addl    %edi,%ebx
143         movdqa  %xmm2,%xmm5
144         addl    16(%rsp),%eax
145         xorl    %ebp,%edx
146         movdqa  %xmm4,%xmm9
147 .byte   102,15,58,15,233,8
148         movl    %ebx,%edi
149         roll    $5,%ebx
150         paddd   %xmm4,%xmm10
151         andl    %edx,%esi
152         xorl    %ebp,%edx
153         psrldq  $4,%xmm9
154         xorl    %ebp,%esi
155         addl    %ebx,%eax
156         pxor    %xmm1,%xmm5
157         rorl    $7,%ecx
158         addl    %esi,%eax
159         pxor    %xmm3,%xmm9
160         addl    20(%rsp),%ebp
161 .byte   102,69,15,56,220,223
162         movups  80(%r15),%xmm14
163         xorl    %edx,%ecx
164         movl    %eax,%esi
165         roll    $5,%eax
166         pxor    %xmm9,%xmm5
167         andl    %ecx,%edi
168         xorl    %edx,%ecx
169         movdqa  %xmm10,0(%rsp)
170         xorl    %edx,%edi
171         addl    %eax,%ebp
172         movdqa  %xmm5,%xmm8
173         movdqa  %xmm5,%xmm9
174         rorl    $7,%ebx
175         addl    %edi,%ebp
176         addl    24(%rsp),%edx
177         xorl    %ecx,%ebx
178         pslldq  $12,%xmm8
179         paddd   %xmm5,%xmm5
180         movl    %ebp,%edi
181         roll    $5,%ebp
182         andl    %ebx,%esi
183         xorl    %ecx,%ebx
184         psrld   $31,%xmm9
185         xorl    %ecx,%esi
186 .byte   102,69,15,56,220,222
187         movups  96(%r15),%xmm15
188         addl    %ebp,%edx
189         movdqa  %xmm8,%xmm10
190         rorl    $7,%eax
191         addl    %esi,%edx
192         psrld   $30,%xmm8
193         por     %xmm9,%xmm5
194         addl    28(%rsp),%ecx
195         xorl    %ebx,%eax
196         movl    %edx,%esi
197         roll    $5,%edx
198         pslld   $2,%xmm10
199         pxor    %xmm8,%xmm5
200         andl    %eax,%edi
201         xorl    %ebx,%eax
202         movdqa  16(%r11),%xmm8
203         xorl    %ebx,%edi
204         addl    %edx,%ecx
205         pxor    %xmm10,%xmm5
206         rorl    $7,%ebp
207         addl    %edi,%ecx
208         movdqa  %xmm3,%xmm6
209         addl    32(%rsp),%ebx
210         xorl    %eax,%ebp
211         movdqa  %xmm5,%xmm10
212 .byte   102,15,58,15,242,8
213         movl    %ecx,%edi
214         roll    $5,%ecx
215 .byte   102,69,15,56,220,223
216         movups  112(%r15),%xmm14
217         paddd   %xmm5,%xmm8
218         andl    %ebp,%esi
219         xorl    %eax,%ebp
220         psrldq  $4,%xmm10
221         xorl    %eax,%esi
222         addl    %ecx,%ebx
223         pxor    %xmm2,%xmm6
224         rorl    $7,%edx
225         addl    %esi,%ebx
226         pxor    %xmm4,%xmm10
227         addl    36(%rsp),%eax
228         xorl    %ebp,%edx
229         movl    %ebx,%esi
230         roll    $5,%ebx
231         pxor    %xmm10,%xmm6
232         andl    %edx,%edi
233         xorl    %ebp,%edx
234         movdqa  %xmm8,16(%rsp)
235         xorl    %ebp,%edi
236         addl    %ebx,%eax
237         movdqa  %xmm6,%xmm9
238         movdqa  %xmm6,%xmm10
239         rorl    $7,%ecx
240         addl    %edi,%eax
241         addl    40(%rsp),%ebp
242 .byte   102,69,15,56,220,222
243         movups  128(%r15),%xmm15
244         xorl    %edx,%ecx
245         pslldq  $12,%xmm9
246         paddd   %xmm6,%xmm6
247         movl    %eax,%edi
248         roll    $5,%eax
249         andl    %ecx,%esi
250         xorl    %edx,%ecx
251         psrld   $31,%xmm10
252         xorl    %edx,%esi
253         addl    %eax,%ebp
254         movdqa  %xmm9,%xmm8
255         rorl    $7,%ebx
256         addl    %esi,%ebp
257         psrld   $30,%xmm9
258         por     %xmm10,%xmm6
259         addl    44(%rsp),%edx
260         xorl    %ecx,%ebx
261         movl    %ebp,%esi
262         roll    $5,%ebp
263         pslld   $2,%xmm8
264         pxor    %xmm9,%xmm6
265         andl    %ebx,%edi
266         xorl    %ecx,%ebx
267         movdqa  16(%r11),%xmm9
268         xorl    %ecx,%edi
269 .byte   102,69,15,56,220,223
270         movups  144(%r15),%xmm14
271         addl    %ebp,%edx
272         pxor    %xmm8,%xmm6
273         rorl    $7,%eax
274         addl    %edi,%edx
275         movdqa  %xmm4,%xmm7
276         addl    48(%rsp),%ecx
277         xorl    %ebx,%eax
278         movdqa  %xmm6,%xmm8
279 .byte   102,15,58,15,251,8
280         movl    %edx,%edi
281         roll    $5,%edx
282         paddd   %xmm6,%xmm9
283         andl    %eax,%esi
284         xorl    %ebx,%eax
285         psrldq  $4,%xmm8
286         xorl    %ebx,%esi
287         addl    %edx,%ecx
288         pxor    %xmm3,%xmm7
289         rorl    $7,%ebp
290         addl    %esi,%ecx
291         pxor    %xmm5,%xmm8
292         addl    52(%rsp),%ebx
293         xorl    %eax,%ebp
294         movl    %ecx,%esi
295         roll    $5,%ecx
296 .byte   102,69,15,56,220,222
297         movups  160(%r15),%xmm15
298         pxor    %xmm8,%xmm7
299         andl    %ebp,%edi
300         xorl    %eax,%ebp
301         movdqa  %xmm9,32(%rsp)
302         xorl    %eax,%edi
303         addl    %ecx,%ebx
304         movdqa  %xmm7,%xmm10
305         movdqa  %xmm7,%xmm8
306         rorl    $7,%edx
307         addl    %edi,%ebx
308         addl    56(%rsp),%eax
309         xorl    %ebp,%edx
310         pslldq  $12,%xmm10
311         paddd   %xmm7,%xmm7
312         movl    %ebx,%edi
313         roll    $5,%ebx
314         andl    %edx,%esi
315         xorl    %ebp,%edx
316         psrld   $31,%xmm8
317         xorl    %ebp,%esi
318         addl    %ebx,%eax
319         movdqa  %xmm10,%xmm9
320         rorl    $7,%ecx
321         addl    %esi,%eax
322         psrld   $30,%xmm10
323         por     %xmm8,%xmm7
324         addl    60(%rsp),%ebp
325         cmpl    $11,%r8d
326         jb      .Laesenclast1
327         movups  176(%r15),%xmm14
328 .byte   102,69,15,56,220,223
329         movups  192(%r15),%xmm15
330 .byte   102,69,15,56,220,222
331         je      .Laesenclast1
332         movups  208(%r15),%xmm14
333 .byte   102,69,15,56,220,223
334         movups  224(%r15),%xmm15
335 .byte   102,69,15,56,220,222
336 .Laesenclast1:
337 .byte   102,69,15,56,221,223
338         movups  16(%r15),%xmm14
339         xorl    %edx,%ecx
340         movl    %eax,%esi
341         roll    $5,%eax
342         pslld   $2,%xmm9
343         pxor    %xmm10,%xmm7
344         andl    %ecx,%edi
345         xorl    %edx,%ecx
346         movdqa  16(%r11),%xmm10
347         xorl    %edx,%edi
348         addl    %eax,%ebp
349         pxor    %xmm9,%xmm7
350         rorl    $7,%ebx
351         addl    %edi,%ebp
352         movdqa  %xmm7,%xmm9
353         addl    0(%rsp),%edx
354         pxor    %xmm4,%xmm0
355 .byte   102,68,15,58,15,206,8
356         xorl    %ecx,%ebx
357         movl    %ebp,%edi
358         roll    $5,%ebp
359         pxor    %xmm1,%xmm0
360         andl    %ebx,%esi
361         xorl    %ecx,%ebx
362         movdqa  %xmm10,%xmm8
363         paddd   %xmm7,%xmm10
364         xorl    %ecx,%esi
365         movups  16(%r12),%xmm12
366         xorps   %xmm13,%xmm12
367         movups  %xmm11,0(%r13,%r12,1)
368         xorps   %xmm12,%xmm11
369 .byte   102,69,15,56,220,222
370         movups  32(%r15),%xmm15
371         addl    %ebp,%edx
372         pxor    %xmm9,%xmm0
373         rorl    $7,%eax
374         addl    %esi,%edx
375         addl    4(%rsp),%ecx
376         xorl    %ebx,%eax
377         movdqa  %xmm0,%xmm9
378         movdqa  %xmm10,48(%rsp)
379         movl    %edx,%esi
380         roll    $5,%edx
381         andl    %eax,%edi
382         xorl    %ebx,%eax
383         pslld   $2,%xmm0
384         xorl    %ebx,%edi
385         addl    %edx,%ecx
386         psrld   $30,%xmm9
387         rorl    $7,%ebp
388         addl    %edi,%ecx
389         addl    8(%rsp),%ebx
390         xorl    %eax,%ebp
391         movl    %ecx,%edi
392         roll    $5,%ecx
393 .byte   102,69,15,56,220,223
394         movups  48(%r15),%xmm14
395         por     %xmm9,%xmm0
396         andl    %ebp,%esi
397         xorl    %eax,%ebp
398         movdqa  %xmm0,%xmm10
399         xorl    %eax,%esi
400         addl    %ecx,%ebx
401         rorl    $7,%edx
402         addl    %esi,%ebx
403         addl    12(%rsp),%eax
404         xorl    %ebp,%edx
405         movl    %ebx,%esi
406         roll    $5,%ebx
407         andl    %edx,%edi
408         xorl    %ebp,%edx
409         xorl    %ebp,%edi
410         addl    %ebx,%eax
411         rorl    $7,%ecx
412         addl    %edi,%eax
413         addl    16(%rsp),%ebp
414 .byte   102,69,15,56,220,222
415         movups  64(%r15),%xmm15
416         pxor    %xmm5,%xmm1
417 .byte   102,68,15,58,15,215,8
418         xorl    %edx,%esi
419         movl    %eax,%edi
420         roll    $5,%eax
421         pxor    %xmm2,%xmm1
422         xorl    %ecx,%esi
423         addl    %eax,%ebp
424         movdqa  %xmm8,%xmm9
425         paddd   %xmm0,%xmm8
426         rorl    $7,%ebx
427         addl    %esi,%ebp
428         pxor    %xmm10,%xmm1
429         addl    20(%rsp),%edx
430         xorl    %ecx,%edi
431         movl    %ebp,%esi
432         roll    $5,%ebp
433         movdqa  %xmm1,%xmm10
434         movdqa  %xmm8,0(%rsp)
435         xorl    %ebx,%edi
436         addl    %ebp,%edx
437         rorl    $7,%eax
438         addl    %edi,%edx
439         pslld   $2,%xmm1
440         addl    24(%rsp),%ecx
441         xorl    %ebx,%esi
442         psrld   $30,%xmm10
443         movl    %edx,%edi
444         roll    $5,%edx
445         xorl    %eax,%esi
446 .byte   102,69,15,56,220,223
447         movups  80(%r15),%xmm14
448         addl    %edx,%ecx
449         rorl    $7,%ebp
450         addl    %esi,%ecx
451         por     %xmm10,%xmm1
452         addl    28(%rsp),%ebx
453         xorl    %eax,%edi
454         movdqa  %xmm1,%xmm8
455         movl    %ecx,%esi
456         roll    $5,%ecx
457         xorl    %ebp,%edi
458         addl    %ecx,%ebx
459         rorl    $7,%edx
460         addl    %edi,%ebx
461         addl    32(%rsp),%eax
462         pxor    %xmm6,%xmm2
463 .byte   102,68,15,58,15,192,8
464         xorl    %ebp,%esi
465         movl    %ebx,%edi
466         roll    $5,%ebx
467         pxor    %xmm3,%xmm2
468         xorl    %edx,%esi
469         addl    %ebx,%eax
470         movdqa  32(%r11),%xmm10
471         paddd   %xmm1,%xmm9
472         rorl    $7,%ecx
473         addl    %esi,%eax
474         pxor    %xmm8,%xmm2
475         addl    36(%rsp),%ebp
476 .byte   102,69,15,56,220,222
477         movups  96(%r15),%xmm15
478         xorl    %edx,%edi
479         movl    %eax,%esi
480         roll    $5,%eax
481         movdqa  %xmm2,%xmm8
482         movdqa  %xmm9,16(%rsp)
483         xorl    %ecx,%edi
484         addl    %eax,%ebp
485         rorl    $7,%ebx
486         addl    %edi,%ebp
487         pslld   $2,%xmm2
488         addl    40(%rsp),%edx
489         xorl    %ecx,%esi
490         psrld   $30,%xmm8
491         movl    %ebp,%edi
492         roll    $5,%ebp
493         xorl    %ebx,%esi
494         addl    %ebp,%edx
495         rorl    $7,%eax
496         addl    %esi,%edx
497         por     %xmm8,%xmm2
498         addl    44(%rsp),%ecx
499         xorl    %ebx,%edi
500         movdqa  %xmm2,%xmm9
501         movl    %edx,%esi
502         roll    $5,%edx
503         xorl    %eax,%edi
504 .byte   102,69,15,56,220,223
505         movups  112(%r15),%xmm14
506         addl    %edx,%ecx
507         rorl    $7,%ebp
508         addl    %edi,%ecx
509         addl    48(%rsp),%ebx
510         pxor    %xmm7,%xmm3
511 .byte   102,68,15,58,15,201,8
512         xorl    %eax,%esi
513         movl    %ecx,%edi
514         roll    $5,%ecx
515         pxor    %xmm4,%xmm3
516         xorl    %ebp,%esi
517         addl    %ecx,%ebx
518         movdqa  %xmm10,%xmm8
519         paddd   %xmm2,%xmm10
520         rorl    $7,%edx
521         addl    %esi,%ebx
522         pxor    %xmm9,%xmm3
523         addl    52(%rsp),%eax
524         xorl    %ebp,%edi
525         movl    %ebx,%esi
526         roll    $5,%ebx
527         movdqa  %xmm3,%xmm9
528         movdqa  %xmm10,32(%rsp)
529         xorl    %edx,%edi
530         addl    %ebx,%eax
531         rorl    $7,%ecx
532         addl    %edi,%eax
533         pslld   $2,%xmm3
534         addl    56(%rsp),%ebp
535 .byte   102,69,15,56,220,222
536         movups  128(%r15),%xmm15
537         xorl    %edx,%esi
538         psrld   $30,%xmm9
539         movl    %eax,%edi
540         roll    $5,%eax
541         xorl    %ecx,%esi
542         addl    %eax,%ebp
543         rorl    $7,%ebx
544         addl    %esi,%ebp
545         por     %xmm9,%xmm3
546         addl    60(%rsp),%edx
547         xorl    %ecx,%edi
548         movdqa  %xmm3,%xmm10
549         movl    %ebp,%esi
550         roll    $5,%ebp
551         xorl    %ebx,%edi
552         addl    %ebp,%edx
553         rorl    $7,%eax
554         addl    %edi,%edx
555         addl    0(%rsp),%ecx
556         pxor    %xmm0,%xmm4
557 .byte   102,68,15,58,15,210,8
558         xorl    %ebx,%esi
559         movl    %edx,%edi
560         roll    $5,%edx
561         pxor    %xmm5,%xmm4
562         xorl    %eax,%esi
563 .byte   102,69,15,56,220,223
564         movups  144(%r15),%xmm14
565         addl    %edx,%ecx
566         movdqa  %xmm8,%xmm9
567         paddd   %xmm3,%xmm8
568         rorl    $7,%ebp
569         addl    %esi,%ecx
570         pxor    %xmm10,%xmm4
571         addl    4(%rsp),%ebx
572         xorl    %eax,%edi
573         movl    %ecx,%esi
574         roll    $5,%ecx
575         movdqa  %xmm4,%xmm10
576         movdqa  %xmm8,48(%rsp)
577         xorl    %ebp,%edi
578         addl    %ecx,%ebx
579         rorl    $7,%edx
580         addl    %edi,%ebx
581         pslld   $2,%xmm4
582         addl    8(%rsp),%eax
583         xorl    %ebp,%esi
584         psrld   $30,%xmm10
585         movl    %ebx,%edi
586         roll    $5,%ebx
587         xorl    %edx,%esi
588         addl    %ebx,%eax
589         rorl    $7,%ecx
590         addl    %esi,%eax
591         por     %xmm10,%xmm4
592         addl    12(%rsp),%ebp
593 .byte   102,69,15,56,220,222
594         movups  160(%r15),%xmm15
595         xorl    %edx,%edi
596         movdqa  %xmm4,%xmm8
597         movl    %eax,%esi
598         roll    $5,%eax
599         xorl    %ecx,%edi
600         addl    %eax,%ebp
601         rorl    $7,%ebx
602         addl    %edi,%ebp
603         addl    16(%rsp),%edx
604         pxor    %xmm1,%xmm5
605 .byte   102,68,15,58,15,195,8
606         xorl    %ecx,%esi
607         movl    %ebp,%edi
608         roll    $5,%ebp
609         pxor    %xmm6,%xmm5
610         xorl    %ebx,%esi
611         addl    %ebp,%edx
612         movdqa  %xmm9,%xmm10
613         paddd   %xmm4,%xmm9
614         rorl    $7,%eax
615         addl    %esi,%edx
616         pxor    %xmm8,%xmm5
617         addl    20(%rsp),%ecx
618         xorl    %ebx,%edi
619         movl    %edx,%esi
620         roll    $5,%edx
621         movdqa  %xmm5,%xmm8
622         movdqa  %xmm9,0(%rsp)
623         xorl    %eax,%edi
624         cmpl    $11,%r8d
625         jb      .Laesenclast2
626         movups  176(%r15),%xmm14
627 .byte   102,69,15,56,220,223
628         movups  192(%r15),%xmm15
629 .byte   102,69,15,56,220,222
630         je      .Laesenclast2
631         movups  208(%r15),%xmm14
632 .byte   102,69,15,56,220,223
633         movups  224(%r15),%xmm15
634 .byte   102,69,15,56,220,222
635 .Laesenclast2:
636 .byte   102,69,15,56,221,223
637         movups  16(%r15),%xmm14
638         addl    %edx,%ecx
639         rorl    $7,%ebp
640         addl    %edi,%ecx
641         pslld   $2,%xmm5
642         addl    24(%rsp),%ebx
643         xorl    %eax,%esi
644         psrld   $30,%xmm8
645         movl    %ecx,%edi
646         roll    $5,%ecx
647         xorl    %ebp,%esi
648         addl    %ecx,%ebx
649         rorl    $7,%edx
650         addl    %esi,%ebx
651         por     %xmm8,%xmm5
652         addl    28(%rsp),%eax
653         xorl    %ebp,%edi
654         movdqa  %xmm5,%xmm9
655         movl    %ebx,%esi
656         roll    $5,%ebx
657         xorl    %edx,%edi
658         addl    %ebx,%eax
659         rorl    $7,%ecx
660         addl    %edi,%eax
661         movl    %ecx,%edi
662         movups  32(%r12),%xmm12
663         xorps   %xmm13,%xmm12
664         movups  %xmm11,16(%r13,%r12,1)
665         xorps   %xmm12,%xmm11
666 .byte   102,69,15,56,220,222
667         movups  32(%r15),%xmm15
668         pxor    %xmm2,%xmm6
669 .byte   102,68,15,58,15,204,8
670         xorl    %edx,%ecx
671         addl    32(%rsp),%ebp
672         andl    %edx,%edi
673         pxor    %xmm7,%xmm6
674         andl    %ecx,%esi
675         rorl    $7,%ebx
676         movdqa  %xmm10,%xmm8
677         paddd   %xmm5,%xmm10
678         addl    %edi,%ebp
679         movl    %eax,%edi
680         pxor    %xmm9,%xmm6
681         roll    $5,%eax
682         addl    %esi,%ebp
683         xorl    %edx,%ecx
684         addl    %eax,%ebp
685         movdqa  %xmm6,%xmm9
686         movdqa  %xmm10,16(%rsp)
687         movl    %ebx,%esi
688         xorl    %ecx,%ebx
689         addl    36(%rsp),%edx
690         andl    %ecx,%esi
691         pslld   $2,%xmm6
692         andl    %ebx,%edi
693         rorl    $7,%eax
694         psrld   $30,%xmm9
695         addl    %esi,%edx
696         movl    %ebp,%esi
697         roll    $5,%ebp
698 .byte   102,69,15,56,220,223
699         movups  48(%r15),%xmm14
700         addl    %edi,%edx
701         xorl    %ecx,%ebx
702         addl    %ebp,%edx
703         por     %xmm9,%xmm6
704         movl    %eax,%edi
705         xorl    %ebx,%eax
706         movdqa  %xmm6,%xmm10
707         addl    40(%rsp),%ecx
708         andl    %ebx,%edi
709         andl    %eax,%esi
710         rorl    $7,%ebp
711         addl    %edi,%ecx
712         movl    %edx,%edi
713         roll    $5,%edx
714         addl    %esi,%ecx
715         xorl    %ebx,%eax
716         addl    %edx,%ecx
717         movl    %ebp,%esi
718         xorl    %eax,%ebp
719         addl    44(%rsp),%ebx
720         andl    %eax,%esi
721         andl    %ebp,%edi
722 .byte   102,69,15,56,220,222
723         movups  64(%r15),%xmm15
724         rorl    $7,%edx
725         addl    %esi,%ebx
726         movl    %ecx,%esi
727         roll    $5,%ecx
728         addl    %edi,%ebx
729         xorl    %eax,%ebp
730         addl    %ecx,%ebx
731         movl    %edx,%edi
732         pxor    %xmm3,%xmm7
733 .byte   102,68,15,58,15,213,8
734         xorl    %ebp,%edx
735         addl    48(%rsp),%eax
736         andl    %ebp,%edi
737         pxor    %xmm0,%xmm7
738         andl    %edx,%esi
739         rorl    $7,%ecx
740         movdqa  48(%r11),%xmm9
741         paddd   %xmm6,%xmm8
742         addl    %edi,%eax
743         movl    %ebx,%edi
744         pxor    %xmm10,%xmm7
745         roll    $5,%ebx
746         addl    %esi,%eax
747         xorl    %ebp,%edx
748         addl    %ebx,%eax
749         movdqa  %xmm7,%xmm10
750         movdqa  %xmm8,32(%rsp)
751         movl    %ecx,%esi
752 .byte   102,69,15,56,220,223
753         movups  80(%r15),%xmm14
754         xorl    %edx,%ecx
755         addl    52(%rsp),%ebp
756         andl    %edx,%esi
757         pslld   $2,%xmm7
758         andl    %ecx,%edi
759         rorl    $7,%ebx
760         psrld   $30,%xmm10
761         addl    %esi,%ebp
762         movl    %eax,%esi
763         roll    $5,%eax
764         addl    %edi,%ebp
765         xorl    %edx,%ecx
766         addl    %eax,%ebp
767         por     %xmm10,%xmm7
768         movl    %ebx,%edi
769         xorl    %ecx,%ebx
770         movdqa  %xmm7,%xmm8
771         addl    56(%rsp),%edx
772         andl    %ecx,%edi
773         andl    %ebx,%esi
774         rorl    $7,%eax
775         addl    %edi,%edx
776         movl    %ebp,%edi
777         roll    $5,%ebp
778 .byte   102,69,15,56,220,222
779         movups  96(%r15),%xmm15
780         addl    %esi,%edx
781         xorl    %ecx,%ebx
782         addl    %ebp,%edx
783         movl    %eax,%esi
784         xorl    %ebx,%eax
785         addl    60(%rsp),%ecx
786         andl    %ebx,%esi
787         andl    %eax,%edi
788         rorl    $7,%ebp
789         addl    %esi,%ecx
790         movl    %edx,%esi
791         roll    $5,%edx
792         addl    %edi,%ecx
793         xorl    %ebx,%eax
794         addl    %edx,%ecx
795         movl    %ebp,%edi
796         pxor    %xmm4,%xmm0
797 .byte   102,68,15,58,15,198,8
798         xorl    %eax,%ebp
799         addl    0(%rsp),%ebx
800         andl    %eax,%edi
801         pxor    %xmm1,%xmm0
802         andl    %ebp,%esi
803 .byte   102,69,15,56,220,223
804         movups  112(%r15),%xmm14
805         rorl    $7,%edx
806         movdqa  %xmm9,%xmm10
807         paddd   %xmm7,%xmm9
808         addl    %edi,%ebx
809         movl    %ecx,%edi
810         pxor    %xmm8,%xmm0
811         roll    $5,%ecx
812         addl    %esi,%ebx
813         xorl    %eax,%ebp
814         addl    %ecx,%ebx
815         movdqa  %xmm0,%xmm8
816         movdqa  %xmm9,48(%rsp)
817         movl    %edx,%esi
818         xorl    %ebp,%edx
819         addl    4(%rsp),%eax
820         andl    %ebp,%esi
821         pslld   $2,%xmm0
822         andl    %edx,%edi
823         rorl    $7,%ecx
824         psrld   $30,%xmm8
825         addl    %esi,%eax
826         movl    %ebx,%esi
827         roll    $5,%ebx
828         addl    %edi,%eax
829         xorl    %ebp,%edx
830         addl    %ebx,%eax
831         por     %xmm8,%xmm0
832         movl    %ecx,%edi
833 .byte   102,69,15,56,220,222
834         movups  128(%r15),%xmm15
835         xorl    %edx,%ecx
836         movdqa  %xmm0,%xmm9
837         addl    8(%rsp),%ebp
838         andl    %edx,%edi
839         andl    %ecx,%esi
840         rorl    $7,%ebx
841         addl    %edi,%ebp
842         movl    %eax,%edi
843         roll    $5,%eax
844         addl    %esi,%ebp
845         xorl    %edx,%ecx
846         addl    %eax,%ebp
847         movl    %ebx,%esi
848         xorl    %ecx,%ebx
849         addl    12(%rsp),%edx
850         andl    %ecx,%esi
851         andl    %ebx,%edi
852         rorl    $7,%eax
853         addl    %esi,%edx
854         movl    %ebp,%esi
855         roll    $5,%ebp
856 .byte   102,69,15,56,220,223
857         movups  144(%r15),%xmm14
858         addl    %edi,%edx
859         xorl    %ecx,%ebx
860         addl    %ebp,%edx
861         movl    %eax,%edi
862         pxor    %xmm5,%xmm1
863 .byte   102,68,15,58,15,207,8
864         xorl    %ebx,%eax
865         addl    16(%rsp),%ecx
866         andl    %ebx,%edi
867         pxor    %xmm2,%xmm1
868         andl    %eax,%esi
869         rorl    $7,%ebp
870         movdqa  %xmm10,%xmm8
871         paddd   %xmm0,%xmm10
872         addl    %edi,%ecx
873         movl    %edx,%edi
874         pxor    %xmm9,%xmm1
875         roll    $5,%edx
876         addl    %esi,%ecx
877         xorl    %ebx,%eax
878         addl    %edx,%ecx
879         movdqa  %xmm1,%xmm9
880         movdqa  %xmm10,0(%rsp)
881         movl    %ebp,%esi
882         xorl    %eax,%ebp
883         addl    20(%rsp),%ebx
884         andl    %eax,%esi
885         pslld   $2,%xmm1
886         andl    %ebp,%edi
887 .byte   102,69,15,56,220,222
888         movups  160(%r15),%xmm15
889         rorl    $7,%edx
890         psrld   $30,%xmm9
891         addl    %esi,%ebx
892         movl    %ecx,%esi
893         roll    $5,%ecx
894         addl    %edi,%ebx
895         xorl    %eax,%ebp
896         addl    %ecx,%ebx
897         por     %xmm9,%xmm1
898         movl    %edx,%edi
899         xorl    %ebp,%edx
900         movdqa  %xmm1,%xmm10
901         addl    24(%rsp),%eax
902         andl    %ebp,%edi
903         andl    %edx,%esi
904         rorl    $7,%ecx
905         addl    %edi,%eax
906         movl    %ebx,%edi
907         roll    $5,%ebx
908         addl    %esi,%eax
909         xorl    %ebp,%edx
910         addl    %ebx,%eax
911         movl    %ecx,%esi
912         cmpl    $11,%r8d
913         jb      .Laesenclast3
914         movups  176(%r15),%xmm14
915 .byte   102,69,15,56,220,223
916         movups  192(%r15),%xmm15
917 .byte   102,69,15,56,220,222
918         je      .Laesenclast3
919         movups  208(%r15),%xmm14
920 .byte   102,69,15,56,220,223
921         movups  224(%r15),%xmm15
922 .byte   102,69,15,56,220,222
923 .Laesenclast3:
924 .byte   102,69,15,56,221,223
925         movups  16(%r15),%xmm14
926         xorl    %edx,%ecx
927         addl    28(%rsp),%ebp
928         andl    %edx,%esi
929         andl    %ecx,%edi
930         rorl    $7,%ebx
931         addl    %esi,%ebp
932         movl    %eax,%esi
933         roll    $5,%eax
934         addl    %edi,%ebp
935         xorl    %edx,%ecx
936         addl    %eax,%ebp
937         movl    %ebx,%edi
938         pxor    %xmm6,%xmm2
939 .byte   102,68,15,58,15,208,8
940         xorl    %ecx,%ebx
941         addl    32(%rsp),%edx
942         andl    %ecx,%edi
943         pxor    %xmm3,%xmm2
944         andl    %ebx,%esi
945         rorl    $7,%eax
946         movdqa  %xmm8,%xmm9
947         paddd   %xmm1,%xmm8
948         addl    %edi,%edx
949         movl    %ebp,%edi
950         pxor    %xmm10,%xmm2
951         roll    $5,%ebp
952         movups  48(%r12),%xmm12
953         xorps   %xmm13,%xmm12
954         movups  %xmm11,32(%r13,%r12,1)
955         xorps   %xmm12,%xmm11
956 .byte   102,69,15,56,220,222
957         movups  32(%r15),%xmm15
958         addl    %esi,%edx
959         xorl    %ecx,%ebx
960         addl    %ebp,%edx
961         movdqa  %xmm2,%xmm10
962         movdqa  %xmm8,16(%rsp)
963         movl    %eax,%esi
964         xorl    %ebx,%eax
965         addl    36(%rsp),%ecx
966         andl    %ebx,%esi
967         pslld   $2,%xmm2
968         andl    %eax,%edi
969         rorl    $7,%ebp
970         psrld   $30,%xmm10
971         addl    %esi,%ecx
972         movl    %edx,%esi
973         roll    $5,%edx
974         addl    %edi,%ecx
975         xorl    %ebx,%eax
976         addl    %edx,%ecx
977         por     %xmm10,%xmm2
978         movl    %ebp,%edi
979         xorl    %eax,%ebp
980         movdqa  %xmm2,%xmm8
981         addl    40(%rsp),%ebx
982         andl    %eax,%edi
983         andl    %ebp,%esi
984 .byte   102,69,15,56,220,223
985         movups  48(%r15),%xmm14
986         rorl    $7,%edx
987         addl    %edi,%ebx
988         movl    %ecx,%edi
989         roll    $5,%ecx
990         addl    %esi,%ebx
991         xorl    %eax,%ebp
992         addl    %ecx,%ebx
993         movl    %edx,%esi
994         xorl    %ebp,%edx
995         addl    44(%rsp),%eax
996         andl    %ebp,%esi
997         andl    %edx,%edi
998         rorl    $7,%ecx
999         addl    %esi,%eax
1000         movl    %ebx,%esi
1001         roll    $5,%ebx
1002         addl    %edi,%eax
1003         xorl    %ebp,%edx
1004         addl    %ebx,%eax
1005         addl    48(%rsp),%ebp
1006 .byte   102,69,15,56,220,222
1007         movups  64(%r15),%xmm15
1008         pxor    %xmm7,%xmm3
1009 .byte   102,68,15,58,15,193,8
1010         xorl    %edx,%esi
1011         movl    %eax,%edi
1012         roll    $5,%eax
1013         pxor    %xmm4,%xmm3
1014         xorl    %ecx,%esi
1015         addl    %eax,%ebp
1016         movdqa  %xmm9,%xmm10
1017         paddd   %xmm2,%xmm9
1018         rorl    $7,%ebx
1019         addl    %esi,%ebp
1020         pxor    %xmm8,%xmm3
1021         addl    52(%rsp),%edx
1022         xorl    %ecx,%edi
1023         movl    %ebp,%esi
1024         roll    $5,%ebp
1025         movdqa  %xmm3,%xmm8
1026         movdqa  %xmm9,32(%rsp)
1027         xorl    %ebx,%edi
1028         addl    %ebp,%edx
1029         rorl    $7,%eax
1030         addl    %edi,%edx
1031         pslld   $2,%xmm3
1032         addl    56(%rsp),%ecx
1033         xorl    %ebx,%esi
1034         psrld   $30,%xmm8
1035         movl    %edx,%edi
1036         roll    $5,%edx
1037         xorl    %eax,%esi
1038 .byte   102,69,15,56,220,223
1039         movups  80(%r15),%xmm14
1040         addl    %edx,%ecx
1041         rorl    $7,%ebp
1042         addl    %esi,%ecx
1043         por     %xmm8,%xmm3
1044         addl    60(%rsp),%ebx
1045         xorl    %eax,%edi
1046         movl    %ecx,%esi
1047         roll    $5,%ecx
1048         xorl    %ebp,%edi
1049         addl    %ecx,%ebx
1050         rorl    $7,%edx
1051         addl    %edi,%ebx
1052         addl    0(%rsp),%eax
1053         paddd   %xmm3,%xmm10
1054         xorl    %ebp,%esi
1055         movl    %ebx,%edi
1056         roll    $5,%ebx
1057         xorl    %edx,%esi
1058         movdqa  %xmm10,48(%rsp)
1059         addl    %ebx,%eax
1060         rorl    $7,%ecx
1061         addl    %esi,%eax
1062         addl    4(%rsp),%ebp
1063 .byte   102,69,15,56,220,222
1064         movups  96(%r15),%xmm15
1065         xorl    %edx,%edi
1066         movl    %eax,%esi
1067         roll    $5,%eax
1068         xorl    %ecx,%edi
1069         addl    %eax,%ebp
1070         rorl    $7,%ebx
1071         addl    %edi,%ebp
1072         addl    8(%rsp),%edx
1073         xorl    %ecx,%esi
1074         movl    %ebp,%edi
1075         roll    $5,%ebp
1076         xorl    %ebx,%esi
1077         addl    %ebp,%edx
1078         rorl    $7,%eax
1079         addl    %esi,%edx
1080         addl    12(%rsp),%ecx
1081         xorl    %ebx,%edi
1082         movl    %edx,%esi
1083         roll    $5,%edx
1084         xorl    %eax,%edi
1085 .byte   102,69,15,56,220,223
1086         movups  112(%r15),%xmm14
1087         addl    %edx,%ecx
1088         rorl    $7,%ebp
1089         addl    %edi,%ecx
1090         cmpq    %r14,%r10
1091         je      .Ldone_ssse3
1092         movdqa  64(%r11),%xmm6
1093         movdqa  0(%r11),%xmm9
1094         movdqu  0(%r10),%xmm0
1095         movdqu  16(%r10),%xmm1
1096         movdqu  32(%r10),%xmm2
1097         movdqu  48(%r10),%xmm3
1098 .byte   102,15,56,0,198
1099         addq    $64,%r10
1100         addl    16(%rsp),%ebx
1101         xorl    %eax,%esi
1102 .byte   102,15,56,0,206
1103         movl    %ecx,%edi
1104         roll    $5,%ecx
1105         paddd   %xmm9,%xmm0
1106         xorl    %ebp,%esi
1107         addl    %ecx,%ebx
1108         rorl    $7,%edx
1109         addl    %esi,%ebx
1110         movdqa  %xmm0,0(%rsp)
1111         addl    20(%rsp),%eax
1112         xorl    %ebp,%edi
1113         psubd   %xmm9,%xmm0
1114         movl    %ebx,%esi
1115         roll    $5,%ebx
1116         xorl    %edx,%edi
1117         addl    %ebx,%eax
1118         rorl    $7,%ecx
1119         addl    %edi,%eax
1120         addl    24(%rsp),%ebp
1121 .byte   102,69,15,56,220,222
1122         movups  128(%r15),%xmm15
1123         xorl    %edx,%esi
1124         movl    %eax,%edi
1125         roll    $5,%eax
1126         xorl    %ecx,%esi
1127         addl    %eax,%ebp
1128         rorl    $7,%ebx
1129         addl    %esi,%ebp
1130         addl    28(%rsp),%edx
1131         xorl    %ecx,%edi
1132         movl    %ebp,%esi
1133         roll    $5,%ebp
1134         xorl    %ebx,%edi
1135         addl    %ebp,%edx
1136         rorl    $7,%eax
1137         addl    %edi,%edx
1138         addl    32(%rsp),%ecx
1139         xorl    %ebx,%esi
1140 .byte   102,15,56,0,214
1141         movl    %edx,%edi
1142         roll    $5,%edx
1143         paddd   %xmm9,%xmm1
1144         xorl    %eax,%esi
1145 .byte   102,69,15,56,220,223
1146         movups  144(%r15),%xmm14
1147         addl    %edx,%ecx
1148         rorl    $7,%ebp
1149         addl    %esi,%ecx
1150         movdqa  %xmm1,16(%rsp)
1151         addl    36(%rsp),%ebx
1152         xorl    %eax,%edi
1153         psubd   %xmm9,%xmm1
1154         movl    %ecx,%esi
1155         roll    $5,%ecx
1156         xorl    %ebp,%edi
1157         addl    %ecx,%ebx
1158         rorl    $7,%edx
1159         addl    %edi,%ebx
1160         addl    40(%rsp),%eax
1161         xorl    %ebp,%esi
1162         movl    %ebx,%edi
1163         roll    $5,%ebx
1164         xorl    %edx,%esi
1165         addl    %ebx,%eax
1166         rorl    $7,%ecx
1167         addl    %esi,%eax
1168         addl    44(%rsp),%ebp
1169 .byte   102,69,15,56,220,222
1170         movups  160(%r15),%xmm15
1171         xorl    %edx,%edi
1172         movl    %eax,%esi
1173         roll    $5,%eax
1174         xorl    %ecx,%edi
1175         addl    %eax,%ebp
1176         rorl    $7,%ebx
1177         addl    %edi,%ebp
1178         addl    48(%rsp),%edx
1179         xorl    %ecx,%esi
1180 .byte   102,15,56,0,222
1181         movl    %ebp,%edi
1182         roll    $5,%ebp
1183         paddd   %xmm9,%xmm2
1184         xorl    %ebx,%esi
1185         addl    %ebp,%edx
1186         rorl    $7,%eax
1187         addl    %esi,%edx
1188         movdqa  %xmm2,32(%rsp)
1189         addl    52(%rsp),%ecx
1190         xorl    %ebx,%edi
1191         psubd   %xmm9,%xmm2
1192         movl    %edx,%esi
1193         roll    $5,%edx
1194         xorl    %eax,%edi
1195         cmpl    $11,%r8d
1196         jb      .Laesenclast4
1197         movups  176(%r15),%xmm14
1198 .byte   102,69,15,56,220,223
1199         movups  192(%r15),%xmm15
1200 .byte   102,69,15,56,220,222
1201         je      .Laesenclast4
1202         movups  208(%r15),%xmm14
1203 .byte   102,69,15,56,220,223
1204         movups  224(%r15),%xmm15
1205 .byte   102,69,15,56,220,222
1206 .Laesenclast4:
1207 .byte   102,69,15,56,221,223
1208         movups  16(%r15),%xmm14
1209         addl    %edx,%ecx
1210         rorl    $7,%ebp
1211         addl    %edi,%ecx
1212         addl    56(%rsp),%ebx
1213         xorl    %eax,%esi
1214         movl    %ecx,%edi
1215         roll    $5,%ecx
1216         xorl    %ebp,%esi
1217         addl    %ecx,%ebx
1218         rorl    $7,%edx
1219         addl    %esi,%ebx
1220         addl    60(%rsp),%eax
1221         xorl    %ebp,%edi
1222         movl    %ebx,%esi
1223         roll    $5,%ebx
1224         xorl    %edx,%edi
1225         addl    %ebx,%eax
1226         rorl    $7,%ecx
1227         addl    %edi,%eax
1228         movups  %xmm11,48(%r13,%r12,1)
1229         leaq    64(%r12),%r12
1230
1231         addl    0(%r9),%eax
1232         addl    4(%r9),%esi
1233         addl    8(%r9),%ecx
1234         addl    12(%r9),%edx
1235         movl    %eax,0(%r9)
1236         addl    16(%r9),%ebp
1237         movl    %esi,4(%r9)
1238         movl    %esi,%ebx
1239         movl    %ecx,8(%r9)
1240         movl    %edx,12(%r9)
1241         movl    %ebp,16(%r9)
1242         jmp     .Loop_ssse3
1243
1244 .align  16
1245 .Ldone_ssse3:
1246         addl    16(%rsp),%ebx
1247         xorl    %eax,%esi
1248         movl    %ecx,%edi
1249         roll    $5,%ecx
1250         xorl    %ebp,%esi
1251         addl    %ecx,%ebx
1252         rorl    $7,%edx
1253         addl    %esi,%ebx
1254         addl    20(%rsp),%eax
1255         xorl    %ebp,%edi
1256         movl    %ebx,%esi
1257         roll    $5,%ebx
1258         xorl    %edx,%edi
1259         addl    %ebx,%eax
1260         rorl    $7,%ecx
1261         addl    %edi,%eax
1262         addl    24(%rsp),%ebp
1263 .byte   102,69,15,56,220,222
1264         movups  128(%r15),%xmm15
1265         xorl    %edx,%esi
1266         movl    %eax,%edi
1267         roll    $5,%eax
1268         xorl    %ecx,%esi
1269         addl    %eax,%ebp
1270         rorl    $7,%ebx
1271         addl    %esi,%ebp
1272         addl    28(%rsp),%edx
1273         xorl    %ecx,%edi
1274         movl    %ebp,%esi
1275         roll    $5,%ebp
1276         xorl    %ebx,%edi
1277         addl    %ebp,%edx
1278         rorl    $7,%eax
1279         addl    %edi,%edx
1280         addl    32(%rsp),%ecx
1281         xorl    %ebx,%esi
1282         movl    %edx,%edi
1283         roll    $5,%edx
1284         xorl    %eax,%esi
1285 .byte   102,69,15,56,220,223
1286         movups  144(%r15),%xmm14
1287         addl    %edx,%ecx
1288         rorl    $7,%ebp
1289         addl    %esi,%ecx
1290         addl    36(%rsp),%ebx
1291         xorl    %eax,%edi
1292         movl    %ecx,%esi
1293         roll    $5,%ecx
1294         xorl    %ebp,%edi
1295         addl    %ecx,%ebx
1296         rorl    $7,%edx
1297         addl    %edi,%ebx
1298         addl    40(%rsp),%eax
1299         xorl    %ebp,%esi
1300         movl    %ebx,%edi
1301         roll    $5,%ebx
1302         xorl    %edx,%esi
1303         addl    %ebx,%eax
1304         rorl    $7,%ecx
1305         addl    %esi,%eax
1306         addl    44(%rsp),%ebp
1307 .byte   102,69,15,56,220,222
1308         movups  160(%r15),%xmm15
1309         xorl    %edx,%edi
1310         movl    %eax,%esi
1311         roll    $5,%eax
1312         xorl    %ecx,%edi
1313         addl    %eax,%ebp
1314         rorl    $7,%ebx
1315         addl    %edi,%ebp
1316         addl    48(%rsp),%edx
1317         xorl    %ecx,%esi
1318         movl    %ebp,%edi
1319         roll    $5,%ebp
1320         xorl    %ebx,%esi
1321         addl    %ebp,%edx
1322         rorl    $7,%eax
1323         addl    %esi,%edx
1324         addl    52(%rsp),%ecx
1325         xorl    %ebx,%edi
1326         movl    %edx,%esi
1327         roll    $5,%edx
1328         xorl    %eax,%edi
1329         cmpl    $11,%r8d
1330         jb      .Laesenclast5
1331         movups  176(%r15),%xmm14
1332 .byte   102,69,15,56,220,223
1333         movups  192(%r15),%xmm15
1334 .byte   102,69,15,56,220,222
1335         je      .Laesenclast5
1336         movups  208(%r15),%xmm14
1337 .byte   102,69,15,56,220,223
1338         movups  224(%r15),%xmm15
1339 .byte   102,69,15,56,220,222
1340 .Laesenclast5:
1341 .byte   102,69,15,56,221,223
1342         movups  16(%r15),%xmm14
1343         addl    %edx,%ecx
1344         rorl    $7,%ebp
1345         addl    %edi,%ecx
1346         addl    56(%rsp),%ebx
1347         xorl    %eax,%esi
1348         movl    %ecx,%edi
1349         roll    $5,%ecx
1350         xorl    %ebp,%esi
1351         addl    %ecx,%ebx
1352         rorl    $7,%edx
1353         addl    %esi,%ebx
1354         addl    60(%rsp),%eax
1355         xorl    %ebp,%edi
1356         movl    %ebx,%esi
1357         roll    $5,%ebx
1358         xorl    %edx,%edi
1359         addl    %ebx,%eax
1360         rorl    $7,%ecx
1361         addl    %edi,%eax
1362         movups  %xmm11,48(%r13,%r12,1)
1363         movq    88(%rsp),%r8
1364
1365         addl    0(%r9),%eax
1366         addl    4(%r9),%esi
1367         addl    8(%r9),%ecx
1368         movl    %eax,0(%r9)
1369         addl    12(%r9),%edx
1370         movl    %esi,4(%r9)
1371         addl    16(%r9),%ebp
1372         movl    %ecx,8(%r9)
1373         movl    %edx,12(%r9)
1374         movl    %ebp,16(%r9)
1375         movups  %xmm11,(%r8)
1376         leaq    104(%rsp),%rsi
1377         movq    0(%rsi),%r15
1378         movq    8(%rsi),%r14
1379         movq    16(%rsi),%r13
1380         movq    24(%rsi),%r12
1381         movq    32(%rsi),%rbp
1382         movq    40(%rsi),%rbx
1383         leaq    48(%rsi),%rsp
1384 .Lepilogue_ssse3:
1385         .byte   0xf3,0xc3
1386 .size   aesni_cbc_sha1_enc_ssse3,.-aesni_cbc_sha1_enc_ssse3
1387 .align  64
1388 K_XX_XX:
1389 .long   0x5a827999,0x5a827999,0x5a827999,0x5a827999     
1390 .long   0x6ed9eba1,0x6ed9eba1,0x6ed9eba1,0x6ed9eba1     
1391 .long   0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc,0x8f1bbcdc     
1392 .long   0xca62c1d6,0xca62c1d6,0xca62c1d6,0xca62c1d6     
1393 .long   0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f     
1394
1395 .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
1396 .align  64