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