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