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