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