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