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