1305153Sjkim/* $FreeBSD: stable/11/secure/lib/libcrypto/amd64/aesni-sha256-x86_64.S 325335 2017-11-02 18:22:53Z jkim $ */
2305153Sjkim/* Do not modify. This file is auto-generated from aesni-sha256-x86_64.pl. */
3290207Sjkim.text
4290207Sjkim
5290207Sjkim
6290207Sjkim.globl	aesni_cbc_sha256_enc
7290207Sjkim.type	aesni_cbc_sha256_enc,@function
8290207Sjkim.align	16
9290207Sjkimaesni_cbc_sha256_enc:
10299481Sjkim	leaq	OPENSSL_ia32cap_P(%rip),%r11
11299481Sjkim	movl	$1,%eax
12299481Sjkim	cmpq	$0,%rdi
13299481Sjkim	je	.Lprobe
14299481Sjkim	movl	0(%r11),%eax
15299481Sjkim	movq	4(%r11),%r10
16299481Sjkim	btq	$61,%r10
17299481Sjkim	jc	aesni_cbc_sha256_enc_shaext
18299481Sjkim	movq	%r10,%r11
19299481Sjkim	shrq	$32,%r11
20299481Sjkim
21299481Sjkim	testl	$2048,%r10d
22299481Sjkim	jnz	aesni_cbc_sha256_enc_xop
23299481Sjkim	andl	$296,%r11d
24299481Sjkim	cmpl	$296,%r11d
25299481Sjkim	je	aesni_cbc_sha256_enc_avx2
26299481Sjkim	andl	$268435456,%r10d
27299481Sjkim	jnz	aesni_cbc_sha256_enc_avx
28299481Sjkim	ud2
29290207Sjkim	xorl	%eax,%eax
30290207Sjkim	cmpq	$0,%rdi
31290207Sjkim	je	.Lprobe
32290207Sjkim	ud2
33290207Sjkim.Lprobe:
34290207Sjkim	.byte	0xf3,0xc3
35290207Sjkim.size	aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc
36290207Sjkim
37290207Sjkim.align	64
38290207Sjkim.type	K256,@object
39290207SjkimK256:
40290207Sjkim.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
41290207Sjkim.long	0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
42290207Sjkim.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
43290207Sjkim.long	0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
44290207Sjkim.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
45290207Sjkim.long	0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
46290207Sjkim.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
47290207Sjkim.long	0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
48290207Sjkim.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
49290207Sjkim.long	0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
50290207Sjkim.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
51290207Sjkim.long	0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
52290207Sjkim.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
53290207Sjkim.long	0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
54290207Sjkim.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
55290207Sjkim.long	0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
56290207Sjkim.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
57290207Sjkim.long	0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
58290207Sjkim.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
59290207Sjkim.long	0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
60290207Sjkim.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
61290207Sjkim.long	0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
62290207Sjkim.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
63290207Sjkim.long	0xd192e819,0xd6990624,0xf40e3585,0x106aa070
64290207Sjkim.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
65290207Sjkim.long	0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
66290207Sjkim.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
67290207Sjkim.long	0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
68290207Sjkim.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
69290207Sjkim.long	0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
70290207Sjkim.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
71290207Sjkim.long	0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
72290207Sjkim
73290207Sjkim.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
74290207Sjkim.long	0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
75290207Sjkim.long	0,0,0,0,   0,0,0,0,   -1,-1,-1,-1
76290207Sjkim.long	0,0,0,0,   0,0,0,0
77290207Sjkim.byte	65,69,83,78,73,45,67,66,67,43,83,72,65,50,53,54,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
78290207Sjkim.align	64
79299481Sjkim.type	aesni_cbc_sha256_enc_xop,@function
80299481Sjkim.align	64
81299481Sjkimaesni_cbc_sha256_enc_xop:
82299481Sjkim.Lxop_shortcut:
83299481Sjkim	movq	8(%rsp),%r10
84299481Sjkim	pushq	%rbx
85299481Sjkim	pushq	%rbp
86299481Sjkim	pushq	%r12
87299481Sjkim	pushq	%r13
88299481Sjkim	pushq	%r14
89299481Sjkim	pushq	%r15
90299481Sjkim	movq	%rsp,%r11
91299481Sjkim	subq	$128,%rsp
92299481Sjkim	andq	$-64,%rsp
93299481Sjkim
94299481Sjkim	shlq	$6,%rdx
95299481Sjkim	subq	%rdi,%rsi
96299481Sjkim	subq	%rdi,%r10
97299481Sjkim	addq	%rdi,%rdx
98299481Sjkim
99299481Sjkim
100299481Sjkim	movq	%rsi,64+8(%rsp)
101299481Sjkim	movq	%rdx,64+16(%rsp)
102299481Sjkim
103299481Sjkim	movq	%r8,64+32(%rsp)
104299481Sjkim	movq	%r9,64+40(%rsp)
105299481Sjkim	movq	%r10,64+48(%rsp)
106299481Sjkim	movq	%r11,64+56(%rsp)
107299481Sjkim.Lprologue_xop:
108299481Sjkim	vzeroall
109299481Sjkim
110299481Sjkim	movq	%rdi,%r12
111299481Sjkim	leaq	128(%rcx),%rdi
112299481Sjkim	leaq	K256+544(%rip),%r13
113299481Sjkim	movl	240-128(%rdi),%r14d
114299481Sjkim	movq	%r9,%r15
115299481Sjkim	movq	%r10,%rsi
116299481Sjkim	vmovdqu	(%r8),%xmm8
117299481Sjkim	subq	$9,%r14
118299481Sjkim
119299481Sjkim	movl	0(%r15),%eax
120299481Sjkim	movl	4(%r15),%ebx
121299481Sjkim	movl	8(%r15),%ecx
122299481Sjkim	movl	12(%r15),%edx
123299481Sjkim	movl	16(%r15),%r8d
124299481Sjkim	movl	20(%r15),%r9d
125299481Sjkim	movl	24(%r15),%r10d
126299481Sjkim	movl	28(%r15),%r11d
127299481Sjkim
128299481Sjkim	vmovdqa	0(%r13,%r14,8),%xmm14
129299481Sjkim	vmovdqa	16(%r13,%r14,8),%xmm13
130299481Sjkim	vmovdqa	32(%r13,%r14,8),%xmm12
131299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
132299481Sjkim	jmp	.Lloop_xop
133299481Sjkim.align	16
134299481Sjkim.Lloop_xop:
135299481Sjkim	vmovdqa	K256+512(%rip),%xmm7
136299481Sjkim	vmovdqu	0(%rsi,%r12,1),%xmm0
137299481Sjkim	vmovdqu	16(%rsi,%r12,1),%xmm1
138299481Sjkim	vmovdqu	32(%rsi,%r12,1),%xmm2
139299481Sjkim	vmovdqu	48(%rsi,%r12,1),%xmm3
140299481Sjkim	vpshufb	%xmm7,%xmm0,%xmm0
141299481Sjkim	leaq	K256(%rip),%rbp
142299481Sjkim	vpshufb	%xmm7,%xmm1,%xmm1
143299481Sjkim	vpshufb	%xmm7,%xmm2,%xmm2
144299481Sjkim	vpaddd	0(%rbp),%xmm0,%xmm4
145299481Sjkim	vpshufb	%xmm7,%xmm3,%xmm3
146299481Sjkim	vpaddd	32(%rbp),%xmm1,%xmm5
147299481Sjkim	vpaddd	64(%rbp),%xmm2,%xmm6
148299481Sjkim	vpaddd	96(%rbp),%xmm3,%xmm7
149299481Sjkim	vmovdqa	%xmm4,0(%rsp)
150299481Sjkim	movl	%eax,%r14d
151299481Sjkim	vmovdqa	%xmm5,16(%rsp)
152299481Sjkim	movl	%ebx,%esi
153299481Sjkim	vmovdqa	%xmm6,32(%rsp)
154299481Sjkim	xorl	%ecx,%esi
155299481Sjkim	vmovdqa	%xmm7,48(%rsp)
156299481Sjkim	movl	%r8d,%r13d
157299481Sjkim	jmp	.Lxop_00_47
158299481Sjkim
159299481Sjkim.align	16
160299481Sjkim.Lxop_00_47:
161299481Sjkim	subq	$-32*4,%rbp
162299481Sjkim	vmovdqu	(%r12),%xmm9
163299481Sjkim	movq	%r12,64+0(%rsp)
164299481Sjkim	vpalignr	$4,%xmm0,%xmm1,%xmm4
165299481Sjkim	rorl	$14,%r13d
166299481Sjkim	movl	%r14d,%eax
167299481Sjkim	vpalignr	$4,%xmm2,%xmm3,%xmm7
168299481Sjkim	movl	%r9d,%r12d
169299481Sjkim	xorl	%r8d,%r13d
170299481Sjkim.byte	143,232,120,194,236,14
171299481Sjkim	rorl	$9,%r14d
172299481Sjkim	xorl	%r10d,%r12d
173299481Sjkim	vpsrld	$3,%xmm4,%xmm4
174299481Sjkim	rorl	$5,%r13d
175299481Sjkim	xorl	%eax,%r14d
176299481Sjkim	vpaddd	%xmm7,%xmm0,%xmm0
177299481Sjkim	andl	%r8d,%r12d
178299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
179299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
180299481Sjkim	xorl	%r8d,%r13d
181299481Sjkim	addl	0(%rsp),%r11d
182299481Sjkim	movl	%eax,%r15d
183299481Sjkim.byte	143,232,120,194,245,11
184299481Sjkim	rorl	$11,%r14d
185299481Sjkim	xorl	%r10d,%r12d
186299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
187299481Sjkim	xorl	%ebx,%r15d
188299481Sjkim	rorl	$6,%r13d
189299481Sjkim	addl	%r12d,%r11d
190299481Sjkim	andl	%r15d,%esi
191299481Sjkim.byte	143,232,120,194,251,13
192299481Sjkim	xorl	%eax,%r14d
193299481Sjkim	addl	%r13d,%r11d
194299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
195299481Sjkim	xorl	%ebx,%esi
196299481Sjkim	addl	%r11d,%edx
197299481Sjkim	vpsrld	$10,%xmm3,%xmm6
198299481Sjkim	rorl	$2,%r14d
199299481Sjkim	addl	%esi,%r11d
200299481Sjkim	vpaddd	%xmm4,%xmm0,%xmm0
201299481Sjkim	movl	%edx,%r13d
202299481Sjkim	addl	%r11d,%r14d
203299481Sjkim.byte	143,232,120,194,239,2
204299481Sjkim	rorl	$14,%r13d
205299481Sjkim	movl	%r14d,%r11d
206299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
207299481Sjkim	movl	%r8d,%r12d
208299481Sjkim	xorl	%edx,%r13d
209299481Sjkim	rorl	$9,%r14d
210299481Sjkim	xorl	%r9d,%r12d
211299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
212299481Sjkim	rorl	$5,%r13d
213299481Sjkim	xorl	%r11d,%r14d
214299481Sjkim	andl	%edx,%r12d
215299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
216299481Sjkim	xorl	%edx,%r13d
217299481Sjkim	vpsrldq	$8,%xmm7,%xmm7
218299481Sjkim	addl	4(%rsp),%r10d
219299481Sjkim	movl	%r11d,%esi
220299481Sjkim	rorl	$11,%r14d
221299481Sjkim	xorl	%r9d,%r12d
222299481Sjkim	vpaddd	%xmm7,%xmm0,%xmm0
223299481Sjkim	xorl	%eax,%esi
224299481Sjkim	rorl	$6,%r13d
225299481Sjkim	addl	%r12d,%r10d
226299481Sjkim	andl	%esi,%r15d
227299481Sjkim.byte	143,232,120,194,248,13
228299481Sjkim	xorl	%r11d,%r14d
229299481Sjkim	addl	%r13d,%r10d
230299481Sjkim	vpsrld	$10,%xmm0,%xmm6
231299481Sjkim	xorl	%eax,%r15d
232299481Sjkim	addl	%r10d,%ecx
233299481Sjkim.byte	143,232,120,194,239,2
234299481Sjkim	rorl	$2,%r14d
235299481Sjkim	addl	%r15d,%r10d
236299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
237299481Sjkim	movl	%ecx,%r13d
238299481Sjkim	addl	%r10d,%r14d
239299481Sjkim	rorl	$14,%r13d
240299481Sjkim	movl	%r14d,%r10d
241299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
242299481Sjkim	movl	%edx,%r12d
243299481Sjkim	xorl	%ecx,%r13d
244299481Sjkim	rorl	$9,%r14d
245299481Sjkim	xorl	%r8d,%r12d
246299481Sjkim	vpslldq	$8,%xmm7,%xmm7
247299481Sjkim	rorl	$5,%r13d
248299481Sjkim	xorl	%r10d,%r14d
249299481Sjkim	andl	%ecx,%r12d
250299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
251299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
252299481Sjkim	xorl	%ecx,%r13d
253299481Sjkim	vpaddd	%xmm7,%xmm0,%xmm0
254299481Sjkim	addl	8(%rsp),%r9d
255299481Sjkim	movl	%r10d,%r15d
256299481Sjkim	rorl	$11,%r14d
257299481Sjkim	xorl	%r8d,%r12d
258299481Sjkim	vpaddd	0(%rbp),%xmm0,%xmm6
259299481Sjkim	xorl	%r11d,%r15d
260299481Sjkim	rorl	$6,%r13d
261299481Sjkim	addl	%r12d,%r9d
262299481Sjkim	andl	%r15d,%esi
263299481Sjkim	xorl	%r10d,%r14d
264299481Sjkim	addl	%r13d,%r9d
265299481Sjkim	xorl	%r11d,%esi
266299481Sjkim	addl	%r9d,%ebx
267299481Sjkim	rorl	$2,%r14d
268299481Sjkim	addl	%esi,%r9d
269299481Sjkim	movl	%ebx,%r13d
270299481Sjkim	addl	%r9d,%r14d
271299481Sjkim	rorl	$14,%r13d
272299481Sjkim	movl	%r14d,%r9d
273299481Sjkim	movl	%ecx,%r12d
274299481Sjkim	xorl	%ebx,%r13d
275299481Sjkim	rorl	$9,%r14d
276299481Sjkim	xorl	%edx,%r12d
277299481Sjkim	rorl	$5,%r13d
278299481Sjkim	xorl	%r9d,%r14d
279299481Sjkim	andl	%ebx,%r12d
280299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
281299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
282299481Sjkim	xorl	%ebx,%r13d
283299481Sjkim	addl	12(%rsp),%r8d
284299481Sjkim	movl	%r9d,%esi
285299481Sjkim	rorl	$11,%r14d
286299481Sjkim	xorl	%edx,%r12d
287299481Sjkim	xorl	%r10d,%esi
288299481Sjkim	rorl	$6,%r13d
289299481Sjkim	addl	%r12d,%r8d
290299481Sjkim	andl	%esi,%r15d
291299481Sjkim	xorl	%r9d,%r14d
292299481Sjkim	addl	%r13d,%r8d
293299481Sjkim	xorl	%r10d,%r15d
294299481Sjkim	addl	%r8d,%eax
295299481Sjkim	rorl	$2,%r14d
296299481Sjkim	addl	%r15d,%r8d
297299481Sjkim	movl	%eax,%r13d
298299481Sjkim	addl	%r8d,%r14d
299299481Sjkim	vmovdqa	%xmm6,0(%rsp)
300299481Sjkim	vpalignr	$4,%xmm1,%xmm2,%xmm4
301299481Sjkim	rorl	$14,%r13d
302299481Sjkim	movl	%r14d,%r8d
303299481Sjkim	vpalignr	$4,%xmm3,%xmm0,%xmm7
304299481Sjkim	movl	%ebx,%r12d
305299481Sjkim	xorl	%eax,%r13d
306299481Sjkim.byte	143,232,120,194,236,14
307299481Sjkim	rorl	$9,%r14d
308299481Sjkim	xorl	%ecx,%r12d
309299481Sjkim	vpsrld	$3,%xmm4,%xmm4
310299481Sjkim	rorl	$5,%r13d
311299481Sjkim	xorl	%r8d,%r14d
312299481Sjkim	vpaddd	%xmm7,%xmm1,%xmm1
313299481Sjkim	andl	%eax,%r12d
314299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
315299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
316299481Sjkim	xorl	%eax,%r13d
317299481Sjkim	addl	16(%rsp),%edx
318299481Sjkim	movl	%r8d,%r15d
319299481Sjkim.byte	143,232,120,194,245,11
320299481Sjkim	rorl	$11,%r14d
321299481Sjkim	xorl	%ecx,%r12d
322299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
323299481Sjkim	xorl	%r9d,%r15d
324299481Sjkim	rorl	$6,%r13d
325299481Sjkim	addl	%r12d,%edx
326299481Sjkim	andl	%r15d,%esi
327299481Sjkim.byte	143,232,120,194,248,13
328299481Sjkim	xorl	%r8d,%r14d
329299481Sjkim	addl	%r13d,%edx
330299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
331299481Sjkim	xorl	%r9d,%esi
332299481Sjkim	addl	%edx,%r11d
333299481Sjkim	vpsrld	$10,%xmm0,%xmm6
334299481Sjkim	rorl	$2,%r14d
335299481Sjkim	addl	%esi,%edx
336299481Sjkim	vpaddd	%xmm4,%xmm1,%xmm1
337299481Sjkim	movl	%r11d,%r13d
338299481Sjkim	addl	%edx,%r14d
339299481Sjkim.byte	143,232,120,194,239,2
340299481Sjkim	rorl	$14,%r13d
341299481Sjkim	movl	%r14d,%edx
342299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
343299481Sjkim	movl	%eax,%r12d
344299481Sjkim	xorl	%r11d,%r13d
345299481Sjkim	rorl	$9,%r14d
346299481Sjkim	xorl	%ebx,%r12d
347299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
348299481Sjkim	rorl	$5,%r13d
349299481Sjkim	xorl	%edx,%r14d
350299481Sjkim	andl	%r11d,%r12d
351299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
352299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
353299481Sjkim	xorl	%r11d,%r13d
354299481Sjkim	vpsrldq	$8,%xmm7,%xmm7
355299481Sjkim	addl	20(%rsp),%ecx
356299481Sjkim	movl	%edx,%esi
357299481Sjkim	rorl	$11,%r14d
358299481Sjkim	xorl	%ebx,%r12d
359299481Sjkim	vpaddd	%xmm7,%xmm1,%xmm1
360299481Sjkim	xorl	%r8d,%esi
361299481Sjkim	rorl	$6,%r13d
362299481Sjkim	addl	%r12d,%ecx
363299481Sjkim	andl	%esi,%r15d
364299481Sjkim.byte	143,232,120,194,249,13
365299481Sjkim	xorl	%edx,%r14d
366299481Sjkim	addl	%r13d,%ecx
367299481Sjkim	vpsrld	$10,%xmm1,%xmm6
368299481Sjkim	xorl	%r8d,%r15d
369299481Sjkim	addl	%ecx,%r10d
370299481Sjkim.byte	143,232,120,194,239,2
371299481Sjkim	rorl	$2,%r14d
372299481Sjkim	addl	%r15d,%ecx
373299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
374299481Sjkim	movl	%r10d,%r13d
375299481Sjkim	addl	%ecx,%r14d
376299481Sjkim	rorl	$14,%r13d
377299481Sjkim	movl	%r14d,%ecx
378299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
379299481Sjkim	movl	%r11d,%r12d
380299481Sjkim	xorl	%r10d,%r13d
381299481Sjkim	rorl	$9,%r14d
382299481Sjkim	xorl	%eax,%r12d
383299481Sjkim	vpslldq	$8,%xmm7,%xmm7
384299481Sjkim	rorl	$5,%r13d
385299481Sjkim	xorl	%ecx,%r14d
386299481Sjkim	andl	%r10d,%r12d
387299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
388299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
389299481Sjkim	xorl	%r10d,%r13d
390299481Sjkim	vpaddd	%xmm7,%xmm1,%xmm1
391299481Sjkim	addl	24(%rsp),%ebx
392299481Sjkim	movl	%ecx,%r15d
393299481Sjkim	rorl	$11,%r14d
394299481Sjkim	xorl	%eax,%r12d
395299481Sjkim	vpaddd	32(%rbp),%xmm1,%xmm6
396299481Sjkim	xorl	%edx,%r15d
397299481Sjkim	rorl	$6,%r13d
398299481Sjkim	addl	%r12d,%ebx
399299481Sjkim	andl	%r15d,%esi
400299481Sjkim	xorl	%ecx,%r14d
401299481Sjkim	addl	%r13d,%ebx
402299481Sjkim	xorl	%edx,%esi
403299481Sjkim	addl	%ebx,%r9d
404299481Sjkim	rorl	$2,%r14d
405299481Sjkim	addl	%esi,%ebx
406299481Sjkim	movl	%r9d,%r13d
407299481Sjkim	addl	%ebx,%r14d
408299481Sjkim	rorl	$14,%r13d
409299481Sjkim	movl	%r14d,%ebx
410299481Sjkim	movl	%r10d,%r12d
411299481Sjkim	xorl	%r9d,%r13d
412299481Sjkim	rorl	$9,%r14d
413299481Sjkim	xorl	%r11d,%r12d
414299481Sjkim	rorl	$5,%r13d
415299481Sjkim	xorl	%ebx,%r14d
416299481Sjkim	andl	%r9d,%r12d
417299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
418299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
419299481Sjkim	xorl	%r9d,%r13d
420299481Sjkim	addl	28(%rsp),%eax
421299481Sjkim	movl	%ebx,%esi
422299481Sjkim	rorl	$11,%r14d
423299481Sjkim	xorl	%r11d,%r12d
424299481Sjkim	xorl	%ecx,%esi
425299481Sjkim	rorl	$6,%r13d
426299481Sjkim	addl	%r12d,%eax
427299481Sjkim	andl	%esi,%r15d
428299481Sjkim	xorl	%ebx,%r14d
429299481Sjkim	addl	%r13d,%eax
430299481Sjkim	xorl	%ecx,%r15d
431299481Sjkim	addl	%eax,%r8d
432299481Sjkim	rorl	$2,%r14d
433299481Sjkim	addl	%r15d,%eax
434299481Sjkim	movl	%r8d,%r13d
435299481Sjkim	addl	%eax,%r14d
436299481Sjkim	vmovdqa	%xmm6,16(%rsp)
437299481Sjkim	vpalignr	$4,%xmm2,%xmm3,%xmm4
438299481Sjkim	rorl	$14,%r13d
439299481Sjkim	movl	%r14d,%eax
440299481Sjkim	vpalignr	$4,%xmm0,%xmm1,%xmm7
441299481Sjkim	movl	%r9d,%r12d
442299481Sjkim	xorl	%r8d,%r13d
443299481Sjkim.byte	143,232,120,194,236,14
444299481Sjkim	rorl	$9,%r14d
445299481Sjkim	xorl	%r10d,%r12d
446299481Sjkim	vpsrld	$3,%xmm4,%xmm4
447299481Sjkim	rorl	$5,%r13d
448299481Sjkim	xorl	%eax,%r14d
449299481Sjkim	vpaddd	%xmm7,%xmm2,%xmm2
450299481Sjkim	andl	%r8d,%r12d
451299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
452299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
453299481Sjkim	xorl	%r8d,%r13d
454299481Sjkim	addl	32(%rsp),%r11d
455299481Sjkim	movl	%eax,%r15d
456299481Sjkim.byte	143,232,120,194,245,11
457299481Sjkim	rorl	$11,%r14d
458299481Sjkim	xorl	%r10d,%r12d
459299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
460299481Sjkim	xorl	%ebx,%r15d
461299481Sjkim	rorl	$6,%r13d
462299481Sjkim	addl	%r12d,%r11d
463299481Sjkim	andl	%r15d,%esi
464299481Sjkim.byte	143,232,120,194,249,13
465299481Sjkim	xorl	%eax,%r14d
466299481Sjkim	addl	%r13d,%r11d
467299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
468299481Sjkim	xorl	%ebx,%esi
469299481Sjkim	addl	%r11d,%edx
470299481Sjkim	vpsrld	$10,%xmm1,%xmm6
471299481Sjkim	rorl	$2,%r14d
472299481Sjkim	addl	%esi,%r11d
473299481Sjkim	vpaddd	%xmm4,%xmm2,%xmm2
474299481Sjkim	movl	%edx,%r13d
475299481Sjkim	addl	%r11d,%r14d
476299481Sjkim.byte	143,232,120,194,239,2
477299481Sjkim	rorl	$14,%r13d
478299481Sjkim	movl	%r14d,%r11d
479299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
480299481Sjkim	movl	%r8d,%r12d
481299481Sjkim	xorl	%edx,%r13d
482299481Sjkim	rorl	$9,%r14d
483299481Sjkim	xorl	%r9d,%r12d
484299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
485299481Sjkim	rorl	$5,%r13d
486299481Sjkim	xorl	%r11d,%r14d
487299481Sjkim	andl	%edx,%r12d
488299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
489299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
490299481Sjkim	xorl	%edx,%r13d
491299481Sjkim	vpsrldq	$8,%xmm7,%xmm7
492299481Sjkim	addl	36(%rsp),%r10d
493299481Sjkim	movl	%r11d,%esi
494299481Sjkim	rorl	$11,%r14d
495299481Sjkim	xorl	%r9d,%r12d
496299481Sjkim	vpaddd	%xmm7,%xmm2,%xmm2
497299481Sjkim	xorl	%eax,%esi
498299481Sjkim	rorl	$6,%r13d
499299481Sjkim	addl	%r12d,%r10d
500299481Sjkim	andl	%esi,%r15d
501299481Sjkim.byte	143,232,120,194,250,13
502299481Sjkim	xorl	%r11d,%r14d
503299481Sjkim	addl	%r13d,%r10d
504299481Sjkim	vpsrld	$10,%xmm2,%xmm6
505299481Sjkim	xorl	%eax,%r15d
506299481Sjkim	addl	%r10d,%ecx
507299481Sjkim.byte	143,232,120,194,239,2
508299481Sjkim	rorl	$2,%r14d
509299481Sjkim	addl	%r15d,%r10d
510299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
511299481Sjkim	movl	%ecx,%r13d
512299481Sjkim	addl	%r10d,%r14d
513299481Sjkim	rorl	$14,%r13d
514299481Sjkim	movl	%r14d,%r10d
515299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
516299481Sjkim	movl	%edx,%r12d
517299481Sjkim	xorl	%ecx,%r13d
518299481Sjkim	rorl	$9,%r14d
519299481Sjkim	xorl	%r8d,%r12d
520299481Sjkim	vpslldq	$8,%xmm7,%xmm7
521299481Sjkim	rorl	$5,%r13d
522299481Sjkim	xorl	%r10d,%r14d
523299481Sjkim	andl	%ecx,%r12d
524299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
525299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
526299481Sjkim	xorl	%ecx,%r13d
527299481Sjkim	vpaddd	%xmm7,%xmm2,%xmm2
528299481Sjkim	addl	40(%rsp),%r9d
529299481Sjkim	movl	%r10d,%r15d
530299481Sjkim	rorl	$11,%r14d
531299481Sjkim	xorl	%r8d,%r12d
532299481Sjkim	vpaddd	64(%rbp),%xmm2,%xmm6
533299481Sjkim	xorl	%r11d,%r15d
534299481Sjkim	rorl	$6,%r13d
535299481Sjkim	addl	%r12d,%r9d
536299481Sjkim	andl	%r15d,%esi
537299481Sjkim	xorl	%r10d,%r14d
538299481Sjkim	addl	%r13d,%r9d
539299481Sjkim	xorl	%r11d,%esi
540299481Sjkim	addl	%r9d,%ebx
541299481Sjkim	rorl	$2,%r14d
542299481Sjkim	addl	%esi,%r9d
543299481Sjkim	movl	%ebx,%r13d
544299481Sjkim	addl	%r9d,%r14d
545299481Sjkim	rorl	$14,%r13d
546299481Sjkim	movl	%r14d,%r9d
547299481Sjkim	movl	%ecx,%r12d
548299481Sjkim	xorl	%ebx,%r13d
549299481Sjkim	rorl	$9,%r14d
550299481Sjkim	xorl	%edx,%r12d
551299481Sjkim	rorl	$5,%r13d
552299481Sjkim	xorl	%r9d,%r14d
553299481Sjkim	andl	%ebx,%r12d
554299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
555299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
556299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
557299481Sjkim	xorl	%ebx,%r13d
558299481Sjkim	addl	44(%rsp),%r8d
559299481Sjkim	movl	%r9d,%esi
560299481Sjkim	rorl	$11,%r14d
561299481Sjkim	xorl	%edx,%r12d
562299481Sjkim	xorl	%r10d,%esi
563299481Sjkim	rorl	$6,%r13d
564299481Sjkim	addl	%r12d,%r8d
565299481Sjkim	andl	%esi,%r15d
566299481Sjkim	xorl	%r9d,%r14d
567299481Sjkim	addl	%r13d,%r8d
568299481Sjkim	xorl	%r10d,%r15d
569299481Sjkim	addl	%r8d,%eax
570299481Sjkim	rorl	$2,%r14d
571299481Sjkim	addl	%r15d,%r8d
572299481Sjkim	movl	%eax,%r13d
573299481Sjkim	addl	%r8d,%r14d
574299481Sjkim	vmovdqa	%xmm6,32(%rsp)
575299481Sjkim	vpalignr	$4,%xmm3,%xmm0,%xmm4
576299481Sjkim	rorl	$14,%r13d
577299481Sjkim	movl	%r14d,%r8d
578299481Sjkim	vpalignr	$4,%xmm1,%xmm2,%xmm7
579299481Sjkim	movl	%ebx,%r12d
580299481Sjkim	xorl	%eax,%r13d
581299481Sjkim.byte	143,232,120,194,236,14
582299481Sjkim	rorl	$9,%r14d
583299481Sjkim	xorl	%ecx,%r12d
584299481Sjkim	vpsrld	$3,%xmm4,%xmm4
585299481Sjkim	rorl	$5,%r13d
586299481Sjkim	xorl	%r8d,%r14d
587299481Sjkim	vpaddd	%xmm7,%xmm3,%xmm3
588299481Sjkim	andl	%eax,%r12d
589299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
590299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
591299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
592299481Sjkim	xorl	%eax,%r13d
593299481Sjkim	addl	48(%rsp),%edx
594299481Sjkim	movl	%r8d,%r15d
595299481Sjkim.byte	143,232,120,194,245,11
596299481Sjkim	rorl	$11,%r14d
597299481Sjkim	xorl	%ecx,%r12d
598299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
599299481Sjkim	xorl	%r9d,%r15d
600299481Sjkim	rorl	$6,%r13d
601299481Sjkim	addl	%r12d,%edx
602299481Sjkim	andl	%r15d,%esi
603299481Sjkim.byte	143,232,120,194,250,13
604299481Sjkim	xorl	%r8d,%r14d
605299481Sjkim	addl	%r13d,%edx
606299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
607299481Sjkim	xorl	%r9d,%esi
608299481Sjkim	addl	%edx,%r11d
609299481Sjkim	vpsrld	$10,%xmm2,%xmm6
610299481Sjkim	rorl	$2,%r14d
611299481Sjkim	addl	%esi,%edx
612299481Sjkim	vpaddd	%xmm4,%xmm3,%xmm3
613299481Sjkim	movl	%r11d,%r13d
614299481Sjkim	addl	%edx,%r14d
615299481Sjkim.byte	143,232,120,194,239,2
616299481Sjkim	rorl	$14,%r13d
617299481Sjkim	movl	%r14d,%edx
618299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
619299481Sjkim	movl	%eax,%r12d
620299481Sjkim	xorl	%r11d,%r13d
621299481Sjkim	rorl	$9,%r14d
622299481Sjkim	xorl	%ebx,%r12d
623299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
624299481Sjkim	rorl	$5,%r13d
625299481Sjkim	xorl	%edx,%r14d
626299481Sjkim	andl	%r11d,%r12d
627299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
628299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
629299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
630299481Sjkim	xorl	%r11d,%r13d
631299481Sjkim	vpsrldq	$8,%xmm7,%xmm7
632299481Sjkim	addl	52(%rsp),%ecx
633299481Sjkim	movl	%edx,%esi
634299481Sjkim	rorl	$11,%r14d
635299481Sjkim	xorl	%ebx,%r12d
636299481Sjkim	vpaddd	%xmm7,%xmm3,%xmm3
637299481Sjkim	xorl	%r8d,%esi
638299481Sjkim	rorl	$6,%r13d
639299481Sjkim	addl	%r12d,%ecx
640299481Sjkim	andl	%esi,%r15d
641299481Sjkim.byte	143,232,120,194,251,13
642299481Sjkim	xorl	%edx,%r14d
643299481Sjkim	addl	%r13d,%ecx
644299481Sjkim	vpsrld	$10,%xmm3,%xmm6
645299481Sjkim	xorl	%r8d,%r15d
646299481Sjkim	addl	%ecx,%r10d
647299481Sjkim.byte	143,232,120,194,239,2
648299481Sjkim	rorl	$2,%r14d
649299481Sjkim	addl	%r15d,%ecx
650299481Sjkim	vpxor	%xmm6,%xmm7,%xmm7
651299481Sjkim	movl	%r10d,%r13d
652299481Sjkim	addl	%ecx,%r14d
653299481Sjkim	rorl	$14,%r13d
654299481Sjkim	movl	%r14d,%ecx
655299481Sjkim	vpxor	%xmm5,%xmm7,%xmm7
656299481Sjkim	movl	%r11d,%r12d
657299481Sjkim	xorl	%r10d,%r13d
658299481Sjkim	rorl	$9,%r14d
659299481Sjkim	xorl	%eax,%r12d
660299481Sjkim	vpslldq	$8,%xmm7,%xmm7
661299481Sjkim	rorl	$5,%r13d
662299481Sjkim	xorl	%ecx,%r14d
663299481Sjkim	andl	%r10d,%r12d
664299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
665299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
666299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
667299481Sjkim	xorl	%r10d,%r13d
668299481Sjkim	vpaddd	%xmm7,%xmm3,%xmm3
669299481Sjkim	addl	56(%rsp),%ebx
670299481Sjkim	movl	%ecx,%r15d
671299481Sjkim	rorl	$11,%r14d
672299481Sjkim	xorl	%eax,%r12d
673299481Sjkim	vpaddd	96(%rbp),%xmm3,%xmm6
674299481Sjkim	xorl	%edx,%r15d
675299481Sjkim	rorl	$6,%r13d
676299481Sjkim	addl	%r12d,%ebx
677299481Sjkim	andl	%r15d,%esi
678299481Sjkim	xorl	%ecx,%r14d
679299481Sjkim	addl	%r13d,%ebx
680299481Sjkim	xorl	%edx,%esi
681299481Sjkim	addl	%ebx,%r9d
682299481Sjkim	rorl	$2,%r14d
683299481Sjkim	addl	%esi,%ebx
684299481Sjkim	movl	%r9d,%r13d
685299481Sjkim	addl	%ebx,%r14d
686299481Sjkim	rorl	$14,%r13d
687299481Sjkim	movl	%r14d,%ebx
688299481Sjkim	movl	%r10d,%r12d
689299481Sjkim	xorl	%r9d,%r13d
690299481Sjkim	rorl	$9,%r14d
691299481Sjkim	xorl	%r11d,%r12d
692299481Sjkim	rorl	$5,%r13d
693299481Sjkim	xorl	%ebx,%r14d
694299481Sjkim	andl	%r9d,%r12d
695299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
696299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
697299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
698299481Sjkim	xorl	%r9d,%r13d
699299481Sjkim	addl	60(%rsp),%eax
700299481Sjkim	movl	%ebx,%esi
701299481Sjkim	rorl	$11,%r14d
702299481Sjkim	xorl	%r11d,%r12d
703299481Sjkim	xorl	%ecx,%esi
704299481Sjkim	rorl	$6,%r13d
705299481Sjkim	addl	%r12d,%eax
706299481Sjkim	andl	%esi,%r15d
707299481Sjkim	xorl	%ebx,%r14d
708299481Sjkim	addl	%r13d,%eax
709299481Sjkim	xorl	%ecx,%r15d
710299481Sjkim	addl	%eax,%r8d
711299481Sjkim	rorl	$2,%r14d
712299481Sjkim	addl	%r15d,%eax
713299481Sjkim	movl	%r8d,%r13d
714299481Sjkim	addl	%eax,%r14d
715299481Sjkim	vmovdqa	%xmm6,48(%rsp)
716299481Sjkim	movq	64+0(%rsp),%r12
717299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
718299481Sjkim	movq	64+8(%rsp),%r15
719299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
720299481Sjkim	vmovdqu	%xmm8,(%r15,%r12,1)
721299481Sjkim	leaq	16(%r12),%r12
722299481Sjkim	cmpb	$0,131(%rbp)
723299481Sjkim	jne	.Lxop_00_47
724299481Sjkim	vmovdqu	(%r12),%xmm9
725299481Sjkim	movq	%r12,64+0(%rsp)
726299481Sjkim	rorl	$14,%r13d
727299481Sjkim	movl	%r14d,%eax
728299481Sjkim	movl	%r9d,%r12d
729299481Sjkim	xorl	%r8d,%r13d
730299481Sjkim	rorl	$9,%r14d
731299481Sjkim	xorl	%r10d,%r12d
732299481Sjkim	rorl	$5,%r13d
733299481Sjkim	xorl	%eax,%r14d
734299481Sjkim	andl	%r8d,%r12d
735299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
736299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
737299481Sjkim	xorl	%r8d,%r13d
738299481Sjkim	addl	0(%rsp),%r11d
739299481Sjkim	movl	%eax,%r15d
740299481Sjkim	rorl	$11,%r14d
741299481Sjkim	xorl	%r10d,%r12d
742299481Sjkim	xorl	%ebx,%r15d
743299481Sjkim	rorl	$6,%r13d
744299481Sjkim	addl	%r12d,%r11d
745299481Sjkim	andl	%r15d,%esi
746299481Sjkim	xorl	%eax,%r14d
747299481Sjkim	addl	%r13d,%r11d
748299481Sjkim	xorl	%ebx,%esi
749299481Sjkim	addl	%r11d,%edx
750299481Sjkim	rorl	$2,%r14d
751299481Sjkim	addl	%esi,%r11d
752299481Sjkim	movl	%edx,%r13d
753299481Sjkim	addl	%r11d,%r14d
754299481Sjkim	rorl	$14,%r13d
755299481Sjkim	movl	%r14d,%r11d
756299481Sjkim	movl	%r8d,%r12d
757299481Sjkim	xorl	%edx,%r13d
758299481Sjkim	rorl	$9,%r14d
759299481Sjkim	xorl	%r9d,%r12d
760299481Sjkim	rorl	$5,%r13d
761299481Sjkim	xorl	%r11d,%r14d
762299481Sjkim	andl	%edx,%r12d
763299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
764299481Sjkim	xorl	%edx,%r13d
765299481Sjkim	addl	4(%rsp),%r10d
766299481Sjkim	movl	%r11d,%esi
767299481Sjkim	rorl	$11,%r14d
768299481Sjkim	xorl	%r9d,%r12d
769299481Sjkim	xorl	%eax,%esi
770299481Sjkim	rorl	$6,%r13d
771299481Sjkim	addl	%r12d,%r10d
772299481Sjkim	andl	%esi,%r15d
773299481Sjkim	xorl	%r11d,%r14d
774299481Sjkim	addl	%r13d,%r10d
775299481Sjkim	xorl	%eax,%r15d
776299481Sjkim	addl	%r10d,%ecx
777299481Sjkim	rorl	$2,%r14d
778299481Sjkim	addl	%r15d,%r10d
779299481Sjkim	movl	%ecx,%r13d
780299481Sjkim	addl	%r10d,%r14d
781299481Sjkim	rorl	$14,%r13d
782299481Sjkim	movl	%r14d,%r10d
783299481Sjkim	movl	%edx,%r12d
784299481Sjkim	xorl	%ecx,%r13d
785299481Sjkim	rorl	$9,%r14d
786299481Sjkim	xorl	%r8d,%r12d
787299481Sjkim	rorl	$5,%r13d
788299481Sjkim	xorl	%r10d,%r14d
789299481Sjkim	andl	%ecx,%r12d
790299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
791299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
792299481Sjkim	xorl	%ecx,%r13d
793299481Sjkim	addl	8(%rsp),%r9d
794299481Sjkim	movl	%r10d,%r15d
795299481Sjkim	rorl	$11,%r14d
796299481Sjkim	xorl	%r8d,%r12d
797299481Sjkim	xorl	%r11d,%r15d
798299481Sjkim	rorl	$6,%r13d
799299481Sjkim	addl	%r12d,%r9d
800299481Sjkim	andl	%r15d,%esi
801299481Sjkim	xorl	%r10d,%r14d
802299481Sjkim	addl	%r13d,%r9d
803299481Sjkim	xorl	%r11d,%esi
804299481Sjkim	addl	%r9d,%ebx
805299481Sjkim	rorl	$2,%r14d
806299481Sjkim	addl	%esi,%r9d
807299481Sjkim	movl	%ebx,%r13d
808299481Sjkim	addl	%r9d,%r14d
809299481Sjkim	rorl	$14,%r13d
810299481Sjkim	movl	%r14d,%r9d
811299481Sjkim	movl	%ecx,%r12d
812299481Sjkim	xorl	%ebx,%r13d
813299481Sjkim	rorl	$9,%r14d
814299481Sjkim	xorl	%edx,%r12d
815299481Sjkim	rorl	$5,%r13d
816299481Sjkim	xorl	%r9d,%r14d
817299481Sjkim	andl	%ebx,%r12d
818299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
819299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
820299481Sjkim	xorl	%ebx,%r13d
821299481Sjkim	addl	12(%rsp),%r8d
822299481Sjkim	movl	%r9d,%esi
823299481Sjkim	rorl	$11,%r14d
824299481Sjkim	xorl	%edx,%r12d
825299481Sjkim	xorl	%r10d,%esi
826299481Sjkim	rorl	$6,%r13d
827299481Sjkim	addl	%r12d,%r8d
828299481Sjkim	andl	%esi,%r15d
829299481Sjkim	xorl	%r9d,%r14d
830299481Sjkim	addl	%r13d,%r8d
831299481Sjkim	xorl	%r10d,%r15d
832299481Sjkim	addl	%r8d,%eax
833299481Sjkim	rorl	$2,%r14d
834299481Sjkim	addl	%r15d,%r8d
835299481Sjkim	movl	%eax,%r13d
836299481Sjkim	addl	%r8d,%r14d
837299481Sjkim	rorl	$14,%r13d
838299481Sjkim	movl	%r14d,%r8d
839299481Sjkim	movl	%ebx,%r12d
840299481Sjkim	xorl	%eax,%r13d
841299481Sjkim	rorl	$9,%r14d
842299481Sjkim	xorl	%ecx,%r12d
843299481Sjkim	rorl	$5,%r13d
844299481Sjkim	xorl	%r8d,%r14d
845299481Sjkim	andl	%eax,%r12d
846299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
847299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
848299481Sjkim	xorl	%eax,%r13d
849299481Sjkim	addl	16(%rsp),%edx
850299481Sjkim	movl	%r8d,%r15d
851299481Sjkim	rorl	$11,%r14d
852299481Sjkim	xorl	%ecx,%r12d
853299481Sjkim	xorl	%r9d,%r15d
854299481Sjkim	rorl	$6,%r13d
855299481Sjkim	addl	%r12d,%edx
856299481Sjkim	andl	%r15d,%esi
857299481Sjkim	xorl	%r8d,%r14d
858299481Sjkim	addl	%r13d,%edx
859299481Sjkim	xorl	%r9d,%esi
860299481Sjkim	addl	%edx,%r11d
861299481Sjkim	rorl	$2,%r14d
862299481Sjkim	addl	%esi,%edx
863299481Sjkim	movl	%r11d,%r13d
864299481Sjkim	addl	%edx,%r14d
865299481Sjkim	rorl	$14,%r13d
866299481Sjkim	movl	%r14d,%edx
867299481Sjkim	movl	%eax,%r12d
868299481Sjkim	xorl	%r11d,%r13d
869299481Sjkim	rorl	$9,%r14d
870299481Sjkim	xorl	%ebx,%r12d
871299481Sjkim	rorl	$5,%r13d
872299481Sjkim	xorl	%edx,%r14d
873299481Sjkim	andl	%r11d,%r12d
874299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
875299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
876299481Sjkim	xorl	%r11d,%r13d
877299481Sjkim	addl	20(%rsp),%ecx
878299481Sjkim	movl	%edx,%esi
879299481Sjkim	rorl	$11,%r14d
880299481Sjkim	xorl	%ebx,%r12d
881299481Sjkim	xorl	%r8d,%esi
882299481Sjkim	rorl	$6,%r13d
883299481Sjkim	addl	%r12d,%ecx
884299481Sjkim	andl	%esi,%r15d
885299481Sjkim	xorl	%edx,%r14d
886299481Sjkim	addl	%r13d,%ecx
887299481Sjkim	xorl	%r8d,%r15d
888299481Sjkim	addl	%ecx,%r10d
889299481Sjkim	rorl	$2,%r14d
890299481Sjkim	addl	%r15d,%ecx
891299481Sjkim	movl	%r10d,%r13d
892299481Sjkim	addl	%ecx,%r14d
893299481Sjkim	rorl	$14,%r13d
894299481Sjkim	movl	%r14d,%ecx
895299481Sjkim	movl	%r11d,%r12d
896299481Sjkim	xorl	%r10d,%r13d
897299481Sjkim	rorl	$9,%r14d
898299481Sjkim	xorl	%eax,%r12d
899299481Sjkim	rorl	$5,%r13d
900299481Sjkim	xorl	%ecx,%r14d
901299481Sjkim	andl	%r10d,%r12d
902299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
903299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
904299481Sjkim	xorl	%r10d,%r13d
905299481Sjkim	addl	24(%rsp),%ebx
906299481Sjkim	movl	%ecx,%r15d
907299481Sjkim	rorl	$11,%r14d
908299481Sjkim	xorl	%eax,%r12d
909299481Sjkim	xorl	%edx,%r15d
910299481Sjkim	rorl	$6,%r13d
911299481Sjkim	addl	%r12d,%ebx
912299481Sjkim	andl	%r15d,%esi
913299481Sjkim	xorl	%ecx,%r14d
914299481Sjkim	addl	%r13d,%ebx
915299481Sjkim	xorl	%edx,%esi
916299481Sjkim	addl	%ebx,%r9d
917299481Sjkim	rorl	$2,%r14d
918299481Sjkim	addl	%esi,%ebx
919299481Sjkim	movl	%r9d,%r13d
920299481Sjkim	addl	%ebx,%r14d
921299481Sjkim	rorl	$14,%r13d
922299481Sjkim	movl	%r14d,%ebx
923299481Sjkim	movl	%r10d,%r12d
924299481Sjkim	xorl	%r9d,%r13d
925299481Sjkim	rorl	$9,%r14d
926299481Sjkim	xorl	%r11d,%r12d
927299481Sjkim	rorl	$5,%r13d
928299481Sjkim	xorl	%ebx,%r14d
929299481Sjkim	andl	%r9d,%r12d
930299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
931299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
932299481Sjkim	xorl	%r9d,%r13d
933299481Sjkim	addl	28(%rsp),%eax
934299481Sjkim	movl	%ebx,%esi
935299481Sjkim	rorl	$11,%r14d
936299481Sjkim	xorl	%r11d,%r12d
937299481Sjkim	xorl	%ecx,%esi
938299481Sjkim	rorl	$6,%r13d
939299481Sjkim	addl	%r12d,%eax
940299481Sjkim	andl	%esi,%r15d
941299481Sjkim	xorl	%ebx,%r14d
942299481Sjkim	addl	%r13d,%eax
943299481Sjkim	xorl	%ecx,%r15d
944299481Sjkim	addl	%eax,%r8d
945299481Sjkim	rorl	$2,%r14d
946299481Sjkim	addl	%r15d,%eax
947299481Sjkim	movl	%r8d,%r13d
948299481Sjkim	addl	%eax,%r14d
949299481Sjkim	rorl	$14,%r13d
950299481Sjkim	movl	%r14d,%eax
951299481Sjkim	movl	%r9d,%r12d
952299481Sjkim	xorl	%r8d,%r13d
953299481Sjkim	rorl	$9,%r14d
954299481Sjkim	xorl	%r10d,%r12d
955299481Sjkim	rorl	$5,%r13d
956299481Sjkim	xorl	%eax,%r14d
957299481Sjkim	andl	%r8d,%r12d
958299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
959299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
960299481Sjkim	xorl	%r8d,%r13d
961299481Sjkim	addl	32(%rsp),%r11d
962299481Sjkim	movl	%eax,%r15d
963299481Sjkim	rorl	$11,%r14d
964299481Sjkim	xorl	%r10d,%r12d
965299481Sjkim	xorl	%ebx,%r15d
966299481Sjkim	rorl	$6,%r13d
967299481Sjkim	addl	%r12d,%r11d
968299481Sjkim	andl	%r15d,%esi
969299481Sjkim	xorl	%eax,%r14d
970299481Sjkim	addl	%r13d,%r11d
971299481Sjkim	xorl	%ebx,%esi
972299481Sjkim	addl	%r11d,%edx
973299481Sjkim	rorl	$2,%r14d
974299481Sjkim	addl	%esi,%r11d
975299481Sjkim	movl	%edx,%r13d
976299481Sjkim	addl	%r11d,%r14d
977299481Sjkim	rorl	$14,%r13d
978299481Sjkim	movl	%r14d,%r11d
979299481Sjkim	movl	%r8d,%r12d
980299481Sjkim	xorl	%edx,%r13d
981299481Sjkim	rorl	$9,%r14d
982299481Sjkim	xorl	%r9d,%r12d
983299481Sjkim	rorl	$5,%r13d
984299481Sjkim	xorl	%r11d,%r14d
985299481Sjkim	andl	%edx,%r12d
986299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
987299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
988299481Sjkim	xorl	%edx,%r13d
989299481Sjkim	addl	36(%rsp),%r10d
990299481Sjkim	movl	%r11d,%esi
991299481Sjkim	rorl	$11,%r14d
992299481Sjkim	xorl	%r9d,%r12d
993299481Sjkim	xorl	%eax,%esi
994299481Sjkim	rorl	$6,%r13d
995299481Sjkim	addl	%r12d,%r10d
996299481Sjkim	andl	%esi,%r15d
997299481Sjkim	xorl	%r11d,%r14d
998299481Sjkim	addl	%r13d,%r10d
999299481Sjkim	xorl	%eax,%r15d
1000299481Sjkim	addl	%r10d,%ecx
1001299481Sjkim	rorl	$2,%r14d
1002299481Sjkim	addl	%r15d,%r10d
1003299481Sjkim	movl	%ecx,%r13d
1004299481Sjkim	addl	%r10d,%r14d
1005299481Sjkim	rorl	$14,%r13d
1006299481Sjkim	movl	%r14d,%r10d
1007299481Sjkim	movl	%edx,%r12d
1008299481Sjkim	xorl	%ecx,%r13d
1009299481Sjkim	rorl	$9,%r14d
1010299481Sjkim	xorl	%r8d,%r12d
1011299481Sjkim	rorl	$5,%r13d
1012299481Sjkim	xorl	%r10d,%r14d
1013299481Sjkim	andl	%ecx,%r12d
1014299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1015299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
1016299481Sjkim	xorl	%ecx,%r13d
1017299481Sjkim	addl	40(%rsp),%r9d
1018299481Sjkim	movl	%r10d,%r15d
1019299481Sjkim	rorl	$11,%r14d
1020299481Sjkim	xorl	%r8d,%r12d
1021299481Sjkim	xorl	%r11d,%r15d
1022299481Sjkim	rorl	$6,%r13d
1023299481Sjkim	addl	%r12d,%r9d
1024299481Sjkim	andl	%r15d,%esi
1025299481Sjkim	xorl	%r10d,%r14d
1026299481Sjkim	addl	%r13d,%r9d
1027299481Sjkim	xorl	%r11d,%esi
1028299481Sjkim	addl	%r9d,%ebx
1029299481Sjkim	rorl	$2,%r14d
1030299481Sjkim	addl	%esi,%r9d
1031299481Sjkim	movl	%ebx,%r13d
1032299481Sjkim	addl	%r9d,%r14d
1033299481Sjkim	rorl	$14,%r13d
1034299481Sjkim	movl	%r14d,%r9d
1035299481Sjkim	movl	%ecx,%r12d
1036299481Sjkim	xorl	%ebx,%r13d
1037299481Sjkim	rorl	$9,%r14d
1038299481Sjkim	xorl	%edx,%r12d
1039299481Sjkim	rorl	$5,%r13d
1040299481Sjkim	xorl	%r9d,%r14d
1041299481Sjkim	andl	%ebx,%r12d
1042299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
1043299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1044299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
1045299481Sjkim	xorl	%ebx,%r13d
1046299481Sjkim	addl	44(%rsp),%r8d
1047299481Sjkim	movl	%r9d,%esi
1048299481Sjkim	rorl	$11,%r14d
1049299481Sjkim	xorl	%edx,%r12d
1050299481Sjkim	xorl	%r10d,%esi
1051299481Sjkim	rorl	$6,%r13d
1052299481Sjkim	addl	%r12d,%r8d
1053299481Sjkim	andl	%esi,%r15d
1054299481Sjkim	xorl	%r9d,%r14d
1055299481Sjkim	addl	%r13d,%r8d
1056299481Sjkim	xorl	%r10d,%r15d
1057299481Sjkim	addl	%r8d,%eax
1058299481Sjkim	rorl	$2,%r14d
1059299481Sjkim	addl	%r15d,%r8d
1060299481Sjkim	movl	%eax,%r13d
1061299481Sjkim	addl	%r8d,%r14d
1062299481Sjkim	rorl	$14,%r13d
1063299481Sjkim	movl	%r14d,%r8d
1064299481Sjkim	movl	%ebx,%r12d
1065299481Sjkim	xorl	%eax,%r13d
1066299481Sjkim	rorl	$9,%r14d
1067299481Sjkim	xorl	%ecx,%r12d
1068299481Sjkim	rorl	$5,%r13d
1069299481Sjkim	xorl	%r8d,%r14d
1070299481Sjkim	andl	%eax,%r12d
1071299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
1072299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1073299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
1074299481Sjkim	xorl	%eax,%r13d
1075299481Sjkim	addl	48(%rsp),%edx
1076299481Sjkim	movl	%r8d,%r15d
1077299481Sjkim	rorl	$11,%r14d
1078299481Sjkim	xorl	%ecx,%r12d
1079299481Sjkim	xorl	%r9d,%r15d
1080299481Sjkim	rorl	$6,%r13d
1081299481Sjkim	addl	%r12d,%edx
1082299481Sjkim	andl	%r15d,%esi
1083299481Sjkim	xorl	%r8d,%r14d
1084299481Sjkim	addl	%r13d,%edx
1085299481Sjkim	xorl	%r9d,%esi
1086299481Sjkim	addl	%edx,%r11d
1087299481Sjkim	rorl	$2,%r14d
1088299481Sjkim	addl	%esi,%edx
1089299481Sjkim	movl	%r11d,%r13d
1090299481Sjkim	addl	%edx,%r14d
1091299481Sjkim	rorl	$14,%r13d
1092299481Sjkim	movl	%r14d,%edx
1093299481Sjkim	movl	%eax,%r12d
1094299481Sjkim	xorl	%r11d,%r13d
1095299481Sjkim	rorl	$9,%r14d
1096299481Sjkim	xorl	%ebx,%r12d
1097299481Sjkim	rorl	$5,%r13d
1098299481Sjkim	xorl	%edx,%r14d
1099299481Sjkim	andl	%r11d,%r12d
1100299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
1101299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1102299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
1103299481Sjkim	xorl	%r11d,%r13d
1104299481Sjkim	addl	52(%rsp),%ecx
1105299481Sjkim	movl	%edx,%esi
1106299481Sjkim	rorl	$11,%r14d
1107299481Sjkim	xorl	%ebx,%r12d
1108299481Sjkim	xorl	%r8d,%esi
1109299481Sjkim	rorl	$6,%r13d
1110299481Sjkim	addl	%r12d,%ecx
1111299481Sjkim	andl	%esi,%r15d
1112299481Sjkim	xorl	%edx,%r14d
1113299481Sjkim	addl	%r13d,%ecx
1114299481Sjkim	xorl	%r8d,%r15d
1115299481Sjkim	addl	%ecx,%r10d
1116299481Sjkim	rorl	$2,%r14d
1117299481Sjkim	addl	%r15d,%ecx
1118299481Sjkim	movl	%r10d,%r13d
1119299481Sjkim	addl	%ecx,%r14d
1120299481Sjkim	rorl	$14,%r13d
1121299481Sjkim	movl	%r14d,%ecx
1122299481Sjkim	movl	%r11d,%r12d
1123299481Sjkim	xorl	%r10d,%r13d
1124299481Sjkim	rorl	$9,%r14d
1125299481Sjkim	xorl	%eax,%r12d
1126299481Sjkim	rorl	$5,%r13d
1127299481Sjkim	xorl	%ecx,%r14d
1128299481Sjkim	andl	%r10d,%r12d
1129299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
1130299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1131299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
1132299481Sjkim	xorl	%r10d,%r13d
1133299481Sjkim	addl	56(%rsp),%ebx
1134299481Sjkim	movl	%ecx,%r15d
1135299481Sjkim	rorl	$11,%r14d
1136299481Sjkim	xorl	%eax,%r12d
1137299481Sjkim	xorl	%edx,%r15d
1138299481Sjkim	rorl	$6,%r13d
1139299481Sjkim	addl	%r12d,%ebx
1140299481Sjkim	andl	%r15d,%esi
1141299481Sjkim	xorl	%ecx,%r14d
1142299481Sjkim	addl	%r13d,%ebx
1143299481Sjkim	xorl	%edx,%esi
1144299481Sjkim	addl	%ebx,%r9d
1145299481Sjkim	rorl	$2,%r14d
1146299481Sjkim	addl	%esi,%ebx
1147299481Sjkim	movl	%r9d,%r13d
1148299481Sjkim	addl	%ebx,%r14d
1149299481Sjkim	rorl	$14,%r13d
1150299481Sjkim	movl	%r14d,%ebx
1151299481Sjkim	movl	%r10d,%r12d
1152299481Sjkim	xorl	%r9d,%r13d
1153299481Sjkim	rorl	$9,%r14d
1154299481Sjkim	xorl	%r11d,%r12d
1155299481Sjkim	rorl	$5,%r13d
1156299481Sjkim	xorl	%ebx,%r14d
1157299481Sjkim	andl	%r9d,%r12d
1158299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
1159299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
1160299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
1161299481Sjkim	xorl	%r9d,%r13d
1162299481Sjkim	addl	60(%rsp),%eax
1163299481Sjkim	movl	%ebx,%esi
1164299481Sjkim	rorl	$11,%r14d
1165299481Sjkim	xorl	%r11d,%r12d
1166299481Sjkim	xorl	%ecx,%esi
1167299481Sjkim	rorl	$6,%r13d
1168299481Sjkim	addl	%r12d,%eax
1169299481Sjkim	andl	%esi,%r15d
1170299481Sjkim	xorl	%ebx,%r14d
1171299481Sjkim	addl	%r13d,%eax
1172299481Sjkim	xorl	%ecx,%r15d
1173299481Sjkim	addl	%eax,%r8d
1174299481Sjkim	rorl	$2,%r14d
1175299481Sjkim	addl	%r15d,%eax
1176299481Sjkim	movl	%r8d,%r13d
1177299481Sjkim	addl	%eax,%r14d
1178299481Sjkim	movq	64+0(%rsp),%r12
1179299481Sjkim	movq	64+8(%rsp),%r13
1180299481Sjkim	movq	64+40(%rsp),%r15
1181299481Sjkim	movq	64+48(%rsp),%rsi
1182299481Sjkim
1183299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
1184299481Sjkim	movl	%r14d,%eax
1185299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
1186299481Sjkim	vmovdqu	%xmm8,(%r12,%r13,1)
1187299481Sjkim	leaq	16(%r12),%r12
1188299481Sjkim
1189299481Sjkim	addl	0(%r15),%eax
1190299481Sjkim	addl	4(%r15),%ebx
1191299481Sjkim	addl	8(%r15),%ecx
1192299481Sjkim	addl	12(%r15),%edx
1193299481Sjkim	addl	16(%r15),%r8d
1194299481Sjkim	addl	20(%r15),%r9d
1195299481Sjkim	addl	24(%r15),%r10d
1196299481Sjkim	addl	28(%r15),%r11d
1197299481Sjkim
1198299481Sjkim	cmpq	64+16(%rsp),%r12
1199299481Sjkim
1200299481Sjkim	movl	%eax,0(%r15)
1201299481Sjkim	movl	%ebx,4(%r15)
1202299481Sjkim	movl	%ecx,8(%r15)
1203299481Sjkim	movl	%edx,12(%r15)
1204299481Sjkim	movl	%r8d,16(%r15)
1205299481Sjkim	movl	%r9d,20(%r15)
1206299481Sjkim	movl	%r10d,24(%r15)
1207299481Sjkim	movl	%r11d,28(%r15)
1208299481Sjkim
1209299481Sjkim	jb	.Lloop_xop
1210299481Sjkim
1211299481Sjkim	movq	64+32(%rsp),%r8
1212299481Sjkim	movq	64+56(%rsp),%rsi
1213299481Sjkim	vmovdqu	%xmm8,(%r8)
1214299481Sjkim	vzeroall
1215299481Sjkim	movq	(%rsi),%r15
1216299481Sjkim	movq	8(%rsi),%r14
1217299481Sjkim	movq	16(%rsi),%r13
1218299481Sjkim	movq	24(%rsi),%r12
1219299481Sjkim	movq	32(%rsi),%rbp
1220299481Sjkim	movq	40(%rsi),%rbx
1221299481Sjkim	leaq	48(%rsi),%rsp
1222299481Sjkim.Lepilogue_xop:
1223299481Sjkim	.byte	0xf3,0xc3
1224299481Sjkim.size	aesni_cbc_sha256_enc_xop,.-aesni_cbc_sha256_enc_xop
1225299481Sjkim.type	aesni_cbc_sha256_enc_avx,@function
1226299481Sjkim.align	64
1227299481Sjkimaesni_cbc_sha256_enc_avx:
1228299481Sjkim.Lavx_shortcut:
1229299481Sjkim	movq	8(%rsp),%r10
1230299481Sjkim	pushq	%rbx
1231299481Sjkim	pushq	%rbp
1232299481Sjkim	pushq	%r12
1233299481Sjkim	pushq	%r13
1234299481Sjkim	pushq	%r14
1235299481Sjkim	pushq	%r15
1236299481Sjkim	movq	%rsp,%r11
1237299481Sjkim	subq	$128,%rsp
1238299481Sjkim	andq	$-64,%rsp
1239299481Sjkim
1240299481Sjkim	shlq	$6,%rdx
1241299481Sjkim	subq	%rdi,%rsi
1242299481Sjkim	subq	%rdi,%r10
1243299481Sjkim	addq	%rdi,%rdx
1244299481Sjkim
1245299481Sjkim
1246299481Sjkim	movq	%rsi,64+8(%rsp)
1247299481Sjkim	movq	%rdx,64+16(%rsp)
1248299481Sjkim
1249299481Sjkim	movq	%r8,64+32(%rsp)
1250299481Sjkim	movq	%r9,64+40(%rsp)
1251299481Sjkim	movq	%r10,64+48(%rsp)
1252299481Sjkim	movq	%r11,64+56(%rsp)
1253299481Sjkim.Lprologue_avx:
1254299481Sjkim	vzeroall
1255299481Sjkim
1256299481Sjkim	movq	%rdi,%r12
1257299481Sjkim	leaq	128(%rcx),%rdi
1258299481Sjkim	leaq	K256+544(%rip),%r13
1259299481Sjkim	movl	240-128(%rdi),%r14d
1260299481Sjkim	movq	%r9,%r15
1261299481Sjkim	movq	%r10,%rsi
1262299481Sjkim	vmovdqu	(%r8),%xmm8
1263299481Sjkim	subq	$9,%r14
1264299481Sjkim
1265299481Sjkim	movl	0(%r15),%eax
1266299481Sjkim	movl	4(%r15),%ebx
1267299481Sjkim	movl	8(%r15),%ecx
1268299481Sjkim	movl	12(%r15),%edx
1269299481Sjkim	movl	16(%r15),%r8d
1270299481Sjkim	movl	20(%r15),%r9d
1271299481Sjkim	movl	24(%r15),%r10d
1272299481Sjkim	movl	28(%r15),%r11d
1273299481Sjkim
1274299481Sjkim	vmovdqa	0(%r13,%r14,8),%xmm14
1275299481Sjkim	vmovdqa	16(%r13,%r14,8),%xmm13
1276299481Sjkim	vmovdqa	32(%r13,%r14,8),%xmm12
1277299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
1278299481Sjkim	jmp	.Lloop_avx
1279299481Sjkim.align	16
1280299481Sjkim.Lloop_avx:
1281299481Sjkim	vmovdqa	K256+512(%rip),%xmm7
1282299481Sjkim	vmovdqu	0(%rsi,%r12,1),%xmm0
1283299481Sjkim	vmovdqu	16(%rsi,%r12,1),%xmm1
1284299481Sjkim	vmovdqu	32(%rsi,%r12,1),%xmm2
1285299481Sjkim	vmovdqu	48(%rsi,%r12,1),%xmm3
1286299481Sjkim	vpshufb	%xmm7,%xmm0,%xmm0
1287299481Sjkim	leaq	K256(%rip),%rbp
1288299481Sjkim	vpshufb	%xmm7,%xmm1,%xmm1
1289299481Sjkim	vpshufb	%xmm7,%xmm2,%xmm2
1290299481Sjkim	vpaddd	0(%rbp),%xmm0,%xmm4
1291299481Sjkim	vpshufb	%xmm7,%xmm3,%xmm3
1292299481Sjkim	vpaddd	32(%rbp),%xmm1,%xmm5
1293299481Sjkim	vpaddd	64(%rbp),%xmm2,%xmm6
1294299481Sjkim	vpaddd	96(%rbp),%xmm3,%xmm7
1295299481Sjkim	vmovdqa	%xmm4,0(%rsp)
1296299481Sjkim	movl	%eax,%r14d
1297299481Sjkim	vmovdqa	%xmm5,16(%rsp)
1298299481Sjkim	movl	%ebx,%esi
1299299481Sjkim	vmovdqa	%xmm6,32(%rsp)
1300299481Sjkim	xorl	%ecx,%esi
1301299481Sjkim	vmovdqa	%xmm7,48(%rsp)
1302299481Sjkim	movl	%r8d,%r13d
1303299481Sjkim	jmp	.Lavx_00_47
1304299481Sjkim
1305299481Sjkim.align	16
1306299481Sjkim.Lavx_00_47:
1307299481Sjkim	subq	$-32*4,%rbp
1308299481Sjkim	vmovdqu	(%r12),%xmm9
1309299481Sjkim	movq	%r12,64+0(%rsp)
1310299481Sjkim	vpalignr	$4,%xmm0,%xmm1,%xmm4
1311299481Sjkim	shrdl	$14,%r13d,%r13d
1312299481Sjkim	movl	%r14d,%eax
1313299481Sjkim	movl	%r9d,%r12d
1314299481Sjkim	vpalignr	$4,%xmm2,%xmm3,%xmm7
1315299481Sjkim	xorl	%r8d,%r13d
1316299481Sjkim	shrdl	$9,%r14d,%r14d
1317299481Sjkim	xorl	%r10d,%r12d
1318299481Sjkim	vpsrld	$7,%xmm4,%xmm6
1319299481Sjkim	shrdl	$5,%r13d,%r13d
1320299481Sjkim	xorl	%eax,%r14d
1321299481Sjkim	andl	%r8d,%r12d
1322299481Sjkim	vpaddd	%xmm7,%xmm0,%xmm0
1323299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
1324299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
1325299481Sjkim	xorl	%r8d,%r13d
1326299481Sjkim	addl	0(%rsp),%r11d
1327299481Sjkim	movl	%eax,%r15d
1328299481Sjkim	vpsrld	$3,%xmm4,%xmm7
1329299481Sjkim	shrdl	$11,%r14d,%r14d
1330299481Sjkim	xorl	%r10d,%r12d
1331299481Sjkim	xorl	%ebx,%r15d
1332299481Sjkim	vpslld	$14,%xmm4,%xmm5
1333299481Sjkim	shrdl	$6,%r13d,%r13d
1334299481Sjkim	addl	%r12d,%r11d
1335299481Sjkim	andl	%r15d,%esi
1336299481Sjkim	vpxor	%xmm6,%xmm7,%xmm4
1337299481Sjkim	xorl	%eax,%r14d
1338299481Sjkim	addl	%r13d,%r11d
1339299481Sjkim	xorl	%ebx,%esi
1340299481Sjkim	vpshufd	$250,%xmm3,%xmm7
1341299481Sjkim	addl	%r11d,%edx
1342299481Sjkim	shrdl	$2,%r14d,%r14d
1343299481Sjkim	addl	%esi,%r11d
1344299481Sjkim	vpsrld	$11,%xmm6,%xmm6
1345299481Sjkim	movl	%edx,%r13d
1346299481Sjkim	addl	%r11d,%r14d
1347299481Sjkim	shrdl	$14,%r13d,%r13d
1348299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1349299481Sjkim	movl	%r14d,%r11d
1350299481Sjkim	movl	%r8d,%r12d
1351299481Sjkim	xorl	%edx,%r13d
1352299481Sjkim	vpslld	$11,%xmm5,%xmm5
1353299481Sjkim	shrdl	$9,%r14d,%r14d
1354299481Sjkim	xorl	%r9d,%r12d
1355299481Sjkim	shrdl	$5,%r13d,%r13d
1356299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
1357299481Sjkim	xorl	%r11d,%r14d
1358299481Sjkim	andl	%edx,%r12d
1359299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
1360299481Sjkim	xorl	%edx,%r13d
1361299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1362299481Sjkim	addl	4(%rsp),%r10d
1363299481Sjkim	movl	%r11d,%esi
1364299481Sjkim	shrdl	$11,%r14d,%r14d
1365299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1366299481Sjkim	xorl	%r9d,%r12d
1367299481Sjkim	xorl	%eax,%esi
1368299481Sjkim	shrdl	$6,%r13d,%r13d
1369299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1370299481Sjkim	addl	%r12d,%r10d
1371299481Sjkim	andl	%esi,%r15d
1372299481Sjkim	xorl	%r11d,%r14d
1373299481Sjkim	vpaddd	%xmm4,%xmm0,%xmm0
1374299481Sjkim	addl	%r13d,%r10d
1375299481Sjkim	xorl	%eax,%r15d
1376299481Sjkim	addl	%r10d,%ecx
1377299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1378299481Sjkim	shrdl	$2,%r14d,%r14d
1379299481Sjkim	addl	%r15d,%r10d
1380299481Sjkim	movl	%ecx,%r13d
1381299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1382299481Sjkim	addl	%r10d,%r14d
1383299481Sjkim	shrdl	$14,%r13d,%r13d
1384299481Sjkim	movl	%r14d,%r10d
1385299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1386299481Sjkim	movl	%edx,%r12d
1387299481Sjkim	xorl	%ecx,%r13d
1388299481Sjkim	shrdl	$9,%r14d,%r14d
1389299481Sjkim	vpshufd	$132,%xmm6,%xmm6
1390299481Sjkim	xorl	%r8d,%r12d
1391299481Sjkim	shrdl	$5,%r13d,%r13d
1392299481Sjkim	xorl	%r10d,%r14d
1393299481Sjkim	vpsrldq	$8,%xmm6,%xmm6
1394299481Sjkim	andl	%ecx,%r12d
1395299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1396299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
1397299481Sjkim	xorl	%ecx,%r13d
1398299481Sjkim	addl	8(%rsp),%r9d
1399299481Sjkim	vpaddd	%xmm6,%xmm0,%xmm0
1400299481Sjkim	movl	%r10d,%r15d
1401299481Sjkim	shrdl	$11,%r14d,%r14d
1402299481Sjkim	xorl	%r8d,%r12d
1403299481Sjkim	vpshufd	$80,%xmm0,%xmm7
1404299481Sjkim	xorl	%r11d,%r15d
1405299481Sjkim	shrdl	$6,%r13d,%r13d
1406299481Sjkim	addl	%r12d,%r9d
1407299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1408299481Sjkim	andl	%r15d,%esi
1409299481Sjkim	xorl	%r10d,%r14d
1410299481Sjkim	addl	%r13d,%r9d
1411299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1412299481Sjkim	xorl	%r11d,%esi
1413299481Sjkim	addl	%r9d,%ebx
1414299481Sjkim	shrdl	$2,%r14d,%r14d
1415299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1416299481Sjkim	addl	%esi,%r9d
1417299481Sjkim	movl	%ebx,%r13d
1418299481Sjkim	addl	%r9d,%r14d
1419299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1420299481Sjkim	shrdl	$14,%r13d,%r13d
1421299481Sjkim	movl	%r14d,%r9d
1422299481Sjkim	movl	%ecx,%r12d
1423299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1424299481Sjkim	xorl	%ebx,%r13d
1425299481Sjkim	shrdl	$9,%r14d,%r14d
1426299481Sjkim	xorl	%edx,%r12d
1427299481Sjkim	vpshufd	$232,%xmm6,%xmm6
1428299481Sjkim	shrdl	$5,%r13d,%r13d
1429299481Sjkim	xorl	%r9d,%r14d
1430299481Sjkim	andl	%ebx,%r12d
1431299481Sjkim	vpslldq	$8,%xmm6,%xmm6
1432299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1433299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
1434299481Sjkim	xorl	%ebx,%r13d
1435299481Sjkim	addl	12(%rsp),%r8d
1436299481Sjkim	movl	%r9d,%esi
1437299481Sjkim	vpaddd	%xmm6,%xmm0,%xmm0
1438299481Sjkim	shrdl	$11,%r14d,%r14d
1439299481Sjkim	xorl	%edx,%r12d
1440299481Sjkim	xorl	%r10d,%esi
1441299481Sjkim	vpaddd	0(%rbp),%xmm0,%xmm6
1442299481Sjkim	shrdl	$6,%r13d,%r13d
1443299481Sjkim	addl	%r12d,%r8d
1444299481Sjkim	andl	%esi,%r15d
1445299481Sjkim	xorl	%r9d,%r14d
1446299481Sjkim	addl	%r13d,%r8d
1447299481Sjkim	xorl	%r10d,%r15d
1448299481Sjkim	addl	%r8d,%eax
1449299481Sjkim	shrdl	$2,%r14d,%r14d
1450299481Sjkim	addl	%r15d,%r8d
1451299481Sjkim	movl	%eax,%r13d
1452299481Sjkim	addl	%r8d,%r14d
1453299481Sjkim	vmovdqa	%xmm6,0(%rsp)
1454299481Sjkim	vpalignr	$4,%xmm1,%xmm2,%xmm4
1455299481Sjkim	shrdl	$14,%r13d,%r13d
1456299481Sjkim	movl	%r14d,%r8d
1457299481Sjkim	movl	%ebx,%r12d
1458299481Sjkim	vpalignr	$4,%xmm3,%xmm0,%xmm7
1459299481Sjkim	xorl	%eax,%r13d
1460299481Sjkim	shrdl	$9,%r14d,%r14d
1461299481Sjkim	xorl	%ecx,%r12d
1462299481Sjkim	vpsrld	$7,%xmm4,%xmm6
1463299481Sjkim	shrdl	$5,%r13d,%r13d
1464299481Sjkim	xorl	%r8d,%r14d
1465299481Sjkim	andl	%eax,%r12d
1466299481Sjkim	vpaddd	%xmm7,%xmm1,%xmm1
1467299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1468299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
1469299481Sjkim	xorl	%eax,%r13d
1470299481Sjkim	addl	16(%rsp),%edx
1471299481Sjkim	movl	%r8d,%r15d
1472299481Sjkim	vpsrld	$3,%xmm4,%xmm7
1473299481Sjkim	shrdl	$11,%r14d,%r14d
1474299481Sjkim	xorl	%ecx,%r12d
1475299481Sjkim	xorl	%r9d,%r15d
1476299481Sjkim	vpslld	$14,%xmm4,%xmm5
1477299481Sjkim	shrdl	$6,%r13d,%r13d
1478299481Sjkim	addl	%r12d,%edx
1479299481Sjkim	andl	%r15d,%esi
1480299481Sjkim	vpxor	%xmm6,%xmm7,%xmm4
1481299481Sjkim	xorl	%r8d,%r14d
1482299481Sjkim	addl	%r13d,%edx
1483299481Sjkim	xorl	%r9d,%esi
1484299481Sjkim	vpshufd	$250,%xmm0,%xmm7
1485299481Sjkim	addl	%edx,%r11d
1486299481Sjkim	shrdl	$2,%r14d,%r14d
1487299481Sjkim	addl	%esi,%edx
1488299481Sjkim	vpsrld	$11,%xmm6,%xmm6
1489299481Sjkim	movl	%r11d,%r13d
1490299481Sjkim	addl	%edx,%r14d
1491299481Sjkim	shrdl	$14,%r13d,%r13d
1492299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1493299481Sjkim	movl	%r14d,%edx
1494299481Sjkim	movl	%eax,%r12d
1495299481Sjkim	xorl	%r11d,%r13d
1496299481Sjkim	vpslld	$11,%xmm5,%xmm5
1497299481Sjkim	shrdl	$9,%r14d,%r14d
1498299481Sjkim	xorl	%ebx,%r12d
1499299481Sjkim	shrdl	$5,%r13d,%r13d
1500299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
1501299481Sjkim	xorl	%edx,%r14d
1502299481Sjkim	andl	%r11d,%r12d
1503299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1504299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
1505299481Sjkim	xorl	%r11d,%r13d
1506299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1507299481Sjkim	addl	20(%rsp),%ecx
1508299481Sjkim	movl	%edx,%esi
1509299481Sjkim	shrdl	$11,%r14d,%r14d
1510299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1511299481Sjkim	xorl	%ebx,%r12d
1512299481Sjkim	xorl	%r8d,%esi
1513299481Sjkim	shrdl	$6,%r13d,%r13d
1514299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1515299481Sjkim	addl	%r12d,%ecx
1516299481Sjkim	andl	%esi,%r15d
1517299481Sjkim	xorl	%edx,%r14d
1518299481Sjkim	vpaddd	%xmm4,%xmm1,%xmm1
1519299481Sjkim	addl	%r13d,%ecx
1520299481Sjkim	xorl	%r8d,%r15d
1521299481Sjkim	addl	%ecx,%r10d
1522299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1523299481Sjkim	shrdl	$2,%r14d,%r14d
1524299481Sjkim	addl	%r15d,%ecx
1525299481Sjkim	movl	%r10d,%r13d
1526299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1527299481Sjkim	addl	%ecx,%r14d
1528299481Sjkim	shrdl	$14,%r13d,%r13d
1529299481Sjkim	movl	%r14d,%ecx
1530299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1531299481Sjkim	movl	%r11d,%r12d
1532299481Sjkim	xorl	%r10d,%r13d
1533299481Sjkim	shrdl	$9,%r14d,%r14d
1534299481Sjkim	vpshufd	$132,%xmm6,%xmm6
1535299481Sjkim	xorl	%eax,%r12d
1536299481Sjkim	shrdl	$5,%r13d,%r13d
1537299481Sjkim	xorl	%ecx,%r14d
1538299481Sjkim	vpsrldq	$8,%xmm6,%xmm6
1539299481Sjkim	andl	%r10d,%r12d
1540299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1541299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
1542299481Sjkim	xorl	%r10d,%r13d
1543299481Sjkim	addl	24(%rsp),%ebx
1544299481Sjkim	vpaddd	%xmm6,%xmm1,%xmm1
1545299481Sjkim	movl	%ecx,%r15d
1546299481Sjkim	shrdl	$11,%r14d,%r14d
1547299481Sjkim	xorl	%eax,%r12d
1548299481Sjkim	vpshufd	$80,%xmm1,%xmm7
1549299481Sjkim	xorl	%edx,%r15d
1550299481Sjkim	shrdl	$6,%r13d,%r13d
1551299481Sjkim	addl	%r12d,%ebx
1552299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1553299481Sjkim	andl	%r15d,%esi
1554299481Sjkim	xorl	%ecx,%r14d
1555299481Sjkim	addl	%r13d,%ebx
1556299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1557299481Sjkim	xorl	%edx,%esi
1558299481Sjkim	addl	%ebx,%r9d
1559299481Sjkim	shrdl	$2,%r14d,%r14d
1560299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1561299481Sjkim	addl	%esi,%ebx
1562299481Sjkim	movl	%r9d,%r13d
1563299481Sjkim	addl	%ebx,%r14d
1564299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1565299481Sjkim	shrdl	$14,%r13d,%r13d
1566299481Sjkim	movl	%r14d,%ebx
1567299481Sjkim	movl	%r10d,%r12d
1568299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1569299481Sjkim	xorl	%r9d,%r13d
1570299481Sjkim	shrdl	$9,%r14d,%r14d
1571299481Sjkim	xorl	%r11d,%r12d
1572299481Sjkim	vpshufd	$232,%xmm6,%xmm6
1573299481Sjkim	shrdl	$5,%r13d,%r13d
1574299481Sjkim	xorl	%ebx,%r14d
1575299481Sjkim	andl	%r9d,%r12d
1576299481Sjkim	vpslldq	$8,%xmm6,%xmm6
1577299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1578299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
1579299481Sjkim	xorl	%r9d,%r13d
1580299481Sjkim	addl	28(%rsp),%eax
1581299481Sjkim	movl	%ebx,%esi
1582299481Sjkim	vpaddd	%xmm6,%xmm1,%xmm1
1583299481Sjkim	shrdl	$11,%r14d,%r14d
1584299481Sjkim	xorl	%r11d,%r12d
1585299481Sjkim	xorl	%ecx,%esi
1586299481Sjkim	vpaddd	32(%rbp),%xmm1,%xmm6
1587299481Sjkim	shrdl	$6,%r13d,%r13d
1588299481Sjkim	addl	%r12d,%eax
1589299481Sjkim	andl	%esi,%r15d
1590299481Sjkim	xorl	%ebx,%r14d
1591299481Sjkim	addl	%r13d,%eax
1592299481Sjkim	xorl	%ecx,%r15d
1593299481Sjkim	addl	%eax,%r8d
1594299481Sjkim	shrdl	$2,%r14d,%r14d
1595299481Sjkim	addl	%r15d,%eax
1596299481Sjkim	movl	%r8d,%r13d
1597299481Sjkim	addl	%eax,%r14d
1598299481Sjkim	vmovdqa	%xmm6,16(%rsp)
1599299481Sjkim	vpalignr	$4,%xmm2,%xmm3,%xmm4
1600299481Sjkim	shrdl	$14,%r13d,%r13d
1601299481Sjkim	movl	%r14d,%eax
1602299481Sjkim	movl	%r9d,%r12d
1603299481Sjkim	vpalignr	$4,%xmm0,%xmm1,%xmm7
1604299481Sjkim	xorl	%r8d,%r13d
1605299481Sjkim	shrdl	$9,%r14d,%r14d
1606299481Sjkim	xorl	%r10d,%r12d
1607299481Sjkim	vpsrld	$7,%xmm4,%xmm6
1608299481Sjkim	shrdl	$5,%r13d,%r13d
1609299481Sjkim	xorl	%eax,%r14d
1610299481Sjkim	andl	%r8d,%r12d
1611299481Sjkim	vpaddd	%xmm7,%xmm2,%xmm2
1612299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1613299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
1614299481Sjkim	xorl	%r8d,%r13d
1615299481Sjkim	addl	32(%rsp),%r11d
1616299481Sjkim	movl	%eax,%r15d
1617299481Sjkim	vpsrld	$3,%xmm4,%xmm7
1618299481Sjkim	shrdl	$11,%r14d,%r14d
1619299481Sjkim	xorl	%r10d,%r12d
1620299481Sjkim	xorl	%ebx,%r15d
1621299481Sjkim	vpslld	$14,%xmm4,%xmm5
1622299481Sjkim	shrdl	$6,%r13d,%r13d
1623299481Sjkim	addl	%r12d,%r11d
1624299481Sjkim	andl	%r15d,%esi
1625299481Sjkim	vpxor	%xmm6,%xmm7,%xmm4
1626299481Sjkim	xorl	%eax,%r14d
1627299481Sjkim	addl	%r13d,%r11d
1628299481Sjkim	xorl	%ebx,%esi
1629299481Sjkim	vpshufd	$250,%xmm1,%xmm7
1630299481Sjkim	addl	%r11d,%edx
1631299481Sjkim	shrdl	$2,%r14d,%r14d
1632299481Sjkim	addl	%esi,%r11d
1633299481Sjkim	vpsrld	$11,%xmm6,%xmm6
1634299481Sjkim	movl	%edx,%r13d
1635299481Sjkim	addl	%r11d,%r14d
1636299481Sjkim	shrdl	$14,%r13d,%r13d
1637299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1638299481Sjkim	movl	%r14d,%r11d
1639299481Sjkim	movl	%r8d,%r12d
1640299481Sjkim	xorl	%edx,%r13d
1641299481Sjkim	vpslld	$11,%xmm5,%xmm5
1642299481Sjkim	shrdl	$9,%r14d,%r14d
1643299481Sjkim	xorl	%r9d,%r12d
1644299481Sjkim	shrdl	$5,%r13d,%r13d
1645299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
1646299481Sjkim	xorl	%r11d,%r14d
1647299481Sjkim	andl	%edx,%r12d
1648299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1649299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
1650299481Sjkim	xorl	%edx,%r13d
1651299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1652299481Sjkim	addl	36(%rsp),%r10d
1653299481Sjkim	movl	%r11d,%esi
1654299481Sjkim	shrdl	$11,%r14d,%r14d
1655299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1656299481Sjkim	xorl	%r9d,%r12d
1657299481Sjkim	xorl	%eax,%esi
1658299481Sjkim	shrdl	$6,%r13d,%r13d
1659299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1660299481Sjkim	addl	%r12d,%r10d
1661299481Sjkim	andl	%esi,%r15d
1662299481Sjkim	xorl	%r11d,%r14d
1663299481Sjkim	vpaddd	%xmm4,%xmm2,%xmm2
1664299481Sjkim	addl	%r13d,%r10d
1665299481Sjkim	xorl	%eax,%r15d
1666299481Sjkim	addl	%r10d,%ecx
1667299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1668299481Sjkim	shrdl	$2,%r14d,%r14d
1669299481Sjkim	addl	%r15d,%r10d
1670299481Sjkim	movl	%ecx,%r13d
1671299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1672299481Sjkim	addl	%r10d,%r14d
1673299481Sjkim	shrdl	$14,%r13d,%r13d
1674299481Sjkim	movl	%r14d,%r10d
1675299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1676299481Sjkim	movl	%edx,%r12d
1677299481Sjkim	xorl	%ecx,%r13d
1678299481Sjkim	shrdl	$9,%r14d,%r14d
1679299481Sjkim	vpshufd	$132,%xmm6,%xmm6
1680299481Sjkim	xorl	%r8d,%r12d
1681299481Sjkim	shrdl	$5,%r13d,%r13d
1682299481Sjkim	xorl	%r10d,%r14d
1683299481Sjkim	vpsrldq	$8,%xmm6,%xmm6
1684299481Sjkim	andl	%ecx,%r12d
1685299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1686299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
1687299481Sjkim	xorl	%ecx,%r13d
1688299481Sjkim	addl	40(%rsp),%r9d
1689299481Sjkim	vpaddd	%xmm6,%xmm2,%xmm2
1690299481Sjkim	movl	%r10d,%r15d
1691299481Sjkim	shrdl	$11,%r14d,%r14d
1692299481Sjkim	xorl	%r8d,%r12d
1693299481Sjkim	vpshufd	$80,%xmm2,%xmm7
1694299481Sjkim	xorl	%r11d,%r15d
1695299481Sjkim	shrdl	$6,%r13d,%r13d
1696299481Sjkim	addl	%r12d,%r9d
1697299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1698299481Sjkim	andl	%r15d,%esi
1699299481Sjkim	xorl	%r10d,%r14d
1700299481Sjkim	addl	%r13d,%r9d
1701299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1702299481Sjkim	xorl	%r11d,%esi
1703299481Sjkim	addl	%r9d,%ebx
1704299481Sjkim	shrdl	$2,%r14d,%r14d
1705299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1706299481Sjkim	addl	%esi,%r9d
1707299481Sjkim	movl	%ebx,%r13d
1708299481Sjkim	addl	%r9d,%r14d
1709299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1710299481Sjkim	shrdl	$14,%r13d,%r13d
1711299481Sjkim	movl	%r14d,%r9d
1712299481Sjkim	movl	%ecx,%r12d
1713299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1714299481Sjkim	xorl	%ebx,%r13d
1715299481Sjkim	shrdl	$9,%r14d,%r14d
1716299481Sjkim	xorl	%edx,%r12d
1717299481Sjkim	vpshufd	$232,%xmm6,%xmm6
1718299481Sjkim	shrdl	$5,%r13d,%r13d
1719299481Sjkim	xorl	%r9d,%r14d
1720299481Sjkim	andl	%ebx,%r12d
1721299481Sjkim	vpslldq	$8,%xmm6,%xmm6
1722299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
1723299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1724299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
1725299481Sjkim	xorl	%ebx,%r13d
1726299481Sjkim	addl	44(%rsp),%r8d
1727299481Sjkim	movl	%r9d,%esi
1728299481Sjkim	vpaddd	%xmm6,%xmm2,%xmm2
1729299481Sjkim	shrdl	$11,%r14d,%r14d
1730299481Sjkim	xorl	%edx,%r12d
1731299481Sjkim	xorl	%r10d,%esi
1732299481Sjkim	vpaddd	64(%rbp),%xmm2,%xmm6
1733299481Sjkim	shrdl	$6,%r13d,%r13d
1734299481Sjkim	addl	%r12d,%r8d
1735299481Sjkim	andl	%esi,%r15d
1736299481Sjkim	xorl	%r9d,%r14d
1737299481Sjkim	addl	%r13d,%r8d
1738299481Sjkim	xorl	%r10d,%r15d
1739299481Sjkim	addl	%r8d,%eax
1740299481Sjkim	shrdl	$2,%r14d,%r14d
1741299481Sjkim	addl	%r15d,%r8d
1742299481Sjkim	movl	%eax,%r13d
1743299481Sjkim	addl	%r8d,%r14d
1744299481Sjkim	vmovdqa	%xmm6,32(%rsp)
1745299481Sjkim	vpalignr	$4,%xmm3,%xmm0,%xmm4
1746299481Sjkim	shrdl	$14,%r13d,%r13d
1747299481Sjkim	movl	%r14d,%r8d
1748299481Sjkim	movl	%ebx,%r12d
1749299481Sjkim	vpalignr	$4,%xmm1,%xmm2,%xmm7
1750299481Sjkim	xorl	%eax,%r13d
1751299481Sjkim	shrdl	$9,%r14d,%r14d
1752299481Sjkim	xorl	%ecx,%r12d
1753299481Sjkim	vpsrld	$7,%xmm4,%xmm6
1754299481Sjkim	shrdl	$5,%r13d,%r13d
1755299481Sjkim	xorl	%r8d,%r14d
1756299481Sjkim	andl	%eax,%r12d
1757299481Sjkim	vpaddd	%xmm7,%xmm3,%xmm3
1758299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
1759299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1760299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
1761299481Sjkim	xorl	%eax,%r13d
1762299481Sjkim	addl	48(%rsp),%edx
1763299481Sjkim	movl	%r8d,%r15d
1764299481Sjkim	vpsrld	$3,%xmm4,%xmm7
1765299481Sjkim	shrdl	$11,%r14d,%r14d
1766299481Sjkim	xorl	%ecx,%r12d
1767299481Sjkim	xorl	%r9d,%r15d
1768299481Sjkim	vpslld	$14,%xmm4,%xmm5
1769299481Sjkim	shrdl	$6,%r13d,%r13d
1770299481Sjkim	addl	%r12d,%edx
1771299481Sjkim	andl	%r15d,%esi
1772299481Sjkim	vpxor	%xmm6,%xmm7,%xmm4
1773299481Sjkim	xorl	%r8d,%r14d
1774299481Sjkim	addl	%r13d,%edx
1775299481Sjkim	xorl	%r9d,%esi
1776299481Sjkim	vpshufd	$250,%xmm2,%xmm7
1777299481Sjkim	addl	%edx,%r11d
1778299481Sjkim	shrdl	$2,%r14d,%r14d
1779299481Sjkim	addl	%esi,%edx
1780299481Sjkim	vpsrld	$11,%xmm6,%xmm6
1781299481Sjkim	movl	%r11d,%r13d
1782299481Sjkim	addl	%edx,%r14d
1783299481Sjkim	shrdl	$14,%r13d,%r13d
1784299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1785299481Sjkim	movl	%r14d,%edx
1786299481Sjkim	movl	%eax,%r12d
1787299481Sjkim	xorl	%r11d,%r13d
1788299481Sjkim	vpslld	$11,%xmm5,%xmm5
1789299481Sjkim	shrdl	$9,%r14d,%r14d
1790299481Sjkim	xorl	%ebx,%r12d
1791299481Sjkim	shrdl	$5,%r13d,%r13d
1792299481Sjkim	vpxor	%xmm6,%xmm4,%xmm4
1793299481Sjkim	xorl	%edx,%r14d
1794299481Sjkim	andl	%r11d,%r12d
1795299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
1796299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1797299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
1798299481Sjkim	xorl	%r11d,%r13d
1799299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1800299481Sjkim	addl	52(%rsp),%ecx
1801299481Sjkim	movl	%edx,%esi
1802299481Sjkim	shrdl	$11,%r14d,%r14d
1803299481Sjkim	vpxor	%xmm5,%xmm4,%xmm4
1804299481Sjkim	xorl	%ebx,%r12d
1805299481Sjkim	xorl	%r8d,%esi
1806299481Sjkim	shrdl	$6,%r13d,%r13d
1807299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1808299481Sjkim	addl	%r12d,%ecx
1809299481Sjkim	andl	%esi,%r15d
1810299481Sjkim	xorl	%edx,%r14d
1811299481Sjkim	vpaddd	%xmm4,%xmm3,%xmm3
1812299481Sjkim	addl	%r13d,%ecx
1813299481Sjkim	xorl	%r8d,%r15d
1814299481Sjkim	addl	%ecx,%r10d
1815299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1816299481Sjkim	shrdl	$2,%r14d,%r14d
1817299481Sjkim	addl	%r15d,%ecx
1818299481Sjkim	movl	%r10d,%r13d
1819299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1820299481Sjkim	addl	%ecx,%r14d
1821299481Sjkim	shrdl	$14,%r13d,%r13d
1822299481Sjkim	movl	%r14d,%ecx
1823299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1824299481Sjkim	movl	%r11d,%r12d
1825299481Sjkim	xorl	%r10d,%r13d
1826299481Sjkim	shrdl	$9,%r14d,%r14d
1827299481Sjkim	vpshufd	$132,%xmm6,%xmm6
1828299481Sjkim	xorl	%eax,%r12d
1829299481Sjkim	shrdl	$5,%r13d,%r13d
1830299481Sjkim	xorl	%ecx,%r14d
1831299481Sjkim	vpsrldq	$8,%xmm6,%xmm6
1832299481Sjkim	andl	%r10d,%r12d
1833299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
1834299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1835299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
1836299481Sjkim	xorl	%r10d,%r13d
1837299481Sjkim	addl	56(%rsp),%ebx
1838299481Sjkim	vpaddd	%xmm6,%xmm3,%xmm3
1839299481Sjkim	movl	%ecx,%r15d
1840299481Sjkim	shrdl	$11,%r14d,%r14d
1841299481Sjkim	xorl	%eax,%r12d
1842299481Sjkim	vpshufd	$80,%xmm3,%xmm7
1843299481Sjkim	xorl	%edx,%r15d
1844299481Sjkim	shrdl	$6,%r13d,%r13d
1845299481Sjkim	addl	%r12d,%ebx
1846299481Sjkim	vpsrld	$10,%xmm7,%xmm6
1847299481Sjkim	andl	%r15d,%esi
1848299481Sjkim	xorl	%ecx,%r14d
1849299481Sjkim	addl	%r13d,%ebx
1850299481Sjkim	vpsrlq	$17,%xmm7,%xmm7
1851299481Sjkim	xorl	%edx,%esi
1852299481Sjkim	addl	%ebx,%r9d
1853299481Sjkim	shrdl	$2,%r14d,%r14d
1854299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1855299481Sjkim	addl	%esi,%ebx
1856299481Sjkim	movl	%r9d,%r13d
1857299481Sjkim	addl	%ebx,%r14d
1858299481Sjkim	vpsrlq	$2,%xmm7,%xmm7
1859299481Sjkim	shrdl	$14,%r13d,%r13d
1860299481Sjkim	movl	%r14d,%ebx
1861299481Sjkim	movl	%r10d,%r12d
1862299481Sjkim	vpxor	%xmm7,%xmm6,%xmm6
1863299481Sjkim	xorl	%r9d,%r13d
1864299481Sjkim	shrdl	$9,%r14d,%r14d
1865299481Sjkim	xorl	%r11d,%r12d
1866299481Sjkim	vpshufd	$232,%xmm6,%xmm6
1867299481Sjkim	shrdl	$5,%r13d,%r13d
1868299481Sjkim	xorl	%ebx,%r14d
1869299481Sjkim	andl	%r9d,%r12d
1870299481Sjkim	vpslldq	$8,%xmm6,%xmm6
1871299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
1872299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
1873299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
1874299481Sjkim	xorl	%r9d,%r13d
1875299481Sjkim	addl	60(%rsp),%eax
1876299481Sjkim	movl	%ebx,%esi
1877299481Sjkim	vpaddd	%xmm6,%xmm3,%xmm3
1878299481Sjkim	shrdl	$11,%r14d,%r14d
1879299481Sjkim	xorl	%r11d,%r12d
1880299481Sjkim	xorl	%ecx,%esi
1881299481Sjkim	vpaddd	96(%rbp),%xmm3,%xmm6
1882299481Sjkim	shrdl	$6,%r13d,%r13d
1883299481Sjkim	addl	%r12d,%eax
1884299481Sjkim	andl	%esi,%r15d
1885299481Sjkim	xorl	%ebx,%r14d
1886299481Sjkim	addl	%r13d,%eax
1887299481Sjkim	xorl	%ecx,%r15d
1888299481Sjkim	addl	%eax,%r8d
1889299481Sjkim	shrdl	$2,%r14d,%r14d
1890299481Sjkim	addl	%r15d,%eax
1891299481Sjkim	movl	%r8d,%r13d
1892299481Sjkim	addl	%eax,%r14d
1893299481Sjkim	vmovdqa	%xmm6,48(%rsp)
1894299481Sjkim	movq	64+0(%rsp),%r12
1895299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
1896299481Sjkim	movq	64+8(%rsp),%r15
1897299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
1898299481Sjkim	vmovdqu	%xmm8,(%r15,%r12,1)
1899299481Sjkim	leaq	16(%r12),%r12
1900299481Sjkim	cmpb	$0,131(%rbp)
1901299481Sjkim	jne	.Lavx_00_47
1902299481Sjkim	vmovdqu	(%r12),%xmm9
1903299481Sjkim	movq	%r12,64+0(%rsp)
1904299481Sjkim	shrdl	$14,%r13d,%r13d
1905299481Sjkim	movl	%r14d,%eax
1906299481Sjkim	movl	%r9d,%r12d
1907299481Sjkim	xorl	%r8d,%r13d
1908299481Sjkim	shrdl	$9,%r14d,%r14d
1909299481Sjkim	xorl	%r10d,%r12d
1910299481Sjkim	shrdl	$5,%r13d,%r13d
1911299481Sjkim	xorl	%eax,%r14d
1912299481Sjkim	andl	%r8d,%r12d
1913299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
1914299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
1915299481Sjkim	xorl	%r8d,%r13d
1916299481Sjkim	addl	0(%rsp),%r11d
1917299481Sjkim	movl	%eax,%r15d
1918299481Sjkim	shrdl	$11,%r14d,%r14d
1919299481Sjkim	xorl	%r10d,%r12d
1920299481Sjkim	xorl	%ebx,%r15d
1921299481Sjkim	shrdl	$6,%r13d,%r13d
1922299481Sjkim	addl	%r12d,%r11d
1923299481Sjkim	andl	%r15d,%esi
1924299481Sjkim	xorl	%eax,%r14d
1925299481Sjkim	addl	%r13d,%r11d
1926299481Sjkim	xorl	%ebx,%esi
1927299481Sjkim	addl	%r11d,%edx
1928299481Sjkim	shrdl	$2,%r14d,%r14d
1929299481Sjkim	addl	%esi,%r11d
1930299481Sjkim	movl	%edx,%r13d
1931299481Sjkim	addl	%r11d,%r14d
1932299481Sjkim	shrdl	$14,%r13d,%r13d
1933299481Sjkim	movl	%r14d,%r11d
1934299481Sjkim	movl	%r8d,%r12d
1935299481Sjkim	xorl	%edx,%r13d
1936299481Sjkim	shrdl	$9,%r14d,%r14d
1937299481Sjkim	xorl	%r9d,%r12d
1938299481Sjkim	shrdl	$5,%r13d,%r13d
1939299481Sjkim	xorl	%r11d,%r14d
1940299481Sjkim	andl	%edx,%r12d
1941299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
1942299481Sjkim	xorl	%edx,%r13d
1943299481Sjkim	addl	4(%rsp),%r10d
1944299481Sjkim	movl	%r11d,%esi
1945299481Sjkim	shrdl	$11,%r14d,%r14d
1946299481Sjkim	xorl	%r9d,%r12d
1947299481Sjkim	xorl	%eax,%esi
1948299481Sjkim	shrdl	$6,%r13d,%r13d
1949299481Sjkim	addl	%r12d,%r10d
1950299481Sjkim	andl	%esi,%r15d
1951299481Sjkim	xorl	%r11d,%r14d
1952299481Sjkim	addl	%r13d,%r10d
1953299481Sjkim	xorl	%eax,%r15d
1954299481Sjkim	addl	%r10d,%ecx
1955299481Sjkim	shrdl	$2,%r14d,%r14d
1956299481Sjkim	addl	%r15d,%r10d
1957299481Sjkim	movl	%ecx,%r13d
1958299481Sjkim	addl	%r10d,%r14d
1959299481Sjkim	shrdl	$14,%r13d,%r13d
1960299481Sjkim	movl	%r14d,%r10d
1961299481Sjkim	movl	%edx,%r12d
1962299481Sjkim	xorl	%ecx,%r13d
1963299481Sjkim	shrdl	$9,%r14d,%r14d
1964299481Sjkim	xorl	%r8d,%r12d
1965299481Sjkim	shrdl	$5,%r13d,%r13d
1966299481Sjkim	xorl	%r10d,%r14d
1967299481Sjkim	andl	%ecx,%r12d
1968299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1969299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
1970299481Sjkim	xorl	%ecx,%r13d
1971299481Sjkim	addl	8(%rsp),%r9d
1972299481Sjkim	movl	%r10d,%r15d
1973299481Sjkim	shrdl	$11,%r14d,%r14d
1974299481Sjkim	xorl	%r8d,%r12d
1975299481Sjkim	xorl	%r11d,%r15d
1976299481Sjkim	shrdl	$6,%r13d,%r13d
1977299481Sjkim	addl	%r12d,%r9d
1978299481Sjkim	andl	%r15d,%esi
1979299481Sjkim	xorl	%r10d,%r14d
1980299481Sjkim	addl	%r13d,%r9d
1981299481Sjkim	xorl	%r11d,%esi
1982299481Sjkim	addl	%r9d,%ebx
1983299481Sjkim	shrdl	$2,%r14d,%r14d
1984299481Sjkim	addl	%esi,%r9d
1985299481Sjkim	movl	%ebx,%r13d
1986299481Sjkim	addl	%r9d,%r14d
1987299481Sjkim	shrdl	$14,%r13d,%r13d
1988299481Sjkim	movl	%r14d,%r9d
1989299481Sjkim	movl	%ecx,%r12d
1990299481Sjkim	xorl	%ebx,%r13d
1991299481Sjkim	shrdl	$9,%r14d,%r14d
1992299481Sjkim	xorl	%edx,%r12d
1993299481Sjkim	shrdl	$5,%r13d,%r13d
1994299481Sjkim	xorl	%r9d,%r14d
1995299481Sjkim	andl	%ebx,%r12d
1996299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
1997299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
1998299481Sjkim	xorl	%ebx,%r13d
1999299481Sjkim	addl	12(%rsp),%r8d
2000299481Sjkim	movl	%r9d,%esi
2001299481Sjkim	shrdl	$11,%r14d,%r14d
2002299481Sjkim	xorl	%edx,%r12d
2003299481Sjkim	xorl	%r10d,%esi
2004299481Sjkim	shrdl	$6,%r13d,%r13d
2005299481Sjkim	addl	%r12d,%r8d
2006299481Sjkim	andl	%esi,%r15d
2007299481Sjkim	xorl	%r9d,%r14d
2008299481Sjkim	addl	%r13d,%r8d
2009299481Sjkim	xorl	%r10d,%r15d
2010299481Sjkim	addl	%r8d,%eax
2011299481Sjkim	shrdl	$2,%r14d,%r14d
2012299481Sjkim	addl	%r15d,%r8d
2013299481Sjkim	movl	%eax,%r13d
2014299481Sjkim	addl	%r8d,%r14d
2015299481Sjkim	shrdl	$14,%r13d,%r13d
2016299481Sjkim	movl	%r14d,%r8d
2017299481Sjkim	movl	%ebx,%r12d
2018299481Sjkim	xorl	%eax,%r13d
2019299481Sjkim	shrdl	$9,%r14d,%r14d
2020299481Sjkim	xorl	%ecx,%r12d
2021299481Sjkim	shrdl	$5,%r13d,%r13d
2022299481Sjkim	xorl	%r8d,%r14d
2023299481Sjkim	andl	%eax,%r12d
2024299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2025299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
2026299481Sjkim	xorl	%eax,%r13d
2027299481Sjkim	addl	16(%rsp),%edx
2028299481Sjkim	movl	%r8d,%r15d
2029299481Sjkim	shrdl	$11,%r14d,%r14d
2030299481Sjkim	xorl	%ecx,%r12d
2031299481Sjkim	xorl	%r9d,%r15d
2032299481Sjkim	shrdl	$6,%r13d,%r13d
2033299481Sjkim	addl	%r12d,%edx
2034299481Sjkim	andl	%r15d,%esi
2035299481Sjkim	xorl	%r8d,%r14d
2036299481Sjkim	addl	%r13d,%edx
2037299481Sjkim	xorl	%r9d,%esi
2038299481Sjkim	addl	%edx,%r11d
2039299481Sjkim	shrdl	$2,%r14d,%r14d
2040299481Sjkim	addl	%esi,%edx
2041299481Sjkim	movl	%r11d,%r13d
2042299481Sjkim	addl	%edx,%r14d
2043299481Sjkim	shrdl	$14,%r13d,%r13d
2044299481Sjkim	movl	%r14d,%edx
2045299481Sjkim	movl	%eax,%r12d
2046299481Sjkim	xorl	%r11d,%r13d
2047299481Sjkim	shrdl	$9,%r14d,%r14d
2048299481Sjkim	xorl	%ebx,%r12d
2049299481Sjkim	shrdl	$5,%r13d,%r13d
2050299481Sjkim	xorl	%edx,%r14d
2051299481Sjkim	andl	%r11d,%r12d
2052299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2053299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
2054299481Sjkim	xorl	%r11d,%r13d
2055299481Sjkim	addl	20(%rsp),%ecx
2056299481Sjkim	movl	%edx,%esi
2057299481Sjkim	shrdl	$11,%r14d,%r14d
2058299481Sjkim	xorl	%ebx,%r12d
2059299481Sjkim	xorl	%r8d,%esi
2060299481Sjkim	shrdl	$6,%r13d,%r13d
2061299481Sjkim	addl	%r12d,%ecx
2062299481Sjkim	andl	%esi,%r15d
2063299481Sjkim	xorl	%edx,%r14d
2064299481Sjkim	addl	%r13d,%ecx
2065299481Sjkim	xorl	%r8d,%r15d
2066299481Sjkim	addl	%ecx,%r10d
2067299481Sjkim	shrdl	$2,%r14d,%r14d
2068299481Sjkim	addl	%r15d,%ecx
2069299481Sjkim	movl	%r10d,%r13d
2070299481Sjkim	addl	%ecx,%r14d
2071299481Sjkim	shrdl	$14,%r13d,%r13d
2072299481Sjkim	movl	%r14d,%ecx
2073299481Sjkim	movl	%r11d,%r12d
2074299481Sjkim	xorl	%r10d,%r13d
2075299481Sjkim	shrdl	$9,%r14d,%r14d
2076299481Sjkim	xorl	%eax,%r12d
2077299481Sjkim	shrdl	$5,%r13d,%r13d
2078299481Sjkim	xorl	%ecx,%r14d
2079299481Sjkim	andl	%r10d,%r12d
2080299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2081299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
2082299481Sjkim	xorl	%r10d,%r13d
2083299481Sjkim	addl	24(%rsp),%ebx
2084299481Sjkim	movl	%ecx,%r15d
2085299481Sjkim	shrdl	$11,%r14d,%r14d
2086299481Sjkim	xorl	%eax,%r12d
2087299481Sjkim	xorl	%edx,%r15d
2088299481Sjkim	shrdl	$6,%r13d,%r13d
2089299481Sjkim	addl	%r12d,%ebx
2090299481Sjkim	andl	%r15d,%esi
2091299481Sjkim	xorl	%ecx,%r14d
2092299481Sjkim	addl	%r13d,%ebx
2093299481Sjkim	xorl	%edx,%esi
2094299481Sjkim	addl	%ebx,%r9d
2095299481Sjkim	shrdl	$2,%r14d,%r14d
2096299481Sjkim	addl	%esi,%ebx
2097299481Sjkim	movl	%r9d,%r13d
2098299481Sjkim	addl	%ebx,%r14d
2099299481Sjkim	shrdl	$14,%r13d,%r13d
2100299481Sjkim	movl	%r14d,%ebx
2101299481Sjkim	movl	%r10d,%r12d
2102299481Sjkim	xorl	%r9d,%r13d
2103299481Sjkim	shrdl	$9,%r14d,%r14d
2104299481Sjkim	xorl	%r11d,%r12d
2105299481Sjkim	shrdl	$5,%r13d,%r13d
2106299481Sjkim	xorl	%ebx,%r14d
2107299481Sjkim	andl	%r9d,%r12d
2108299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2109299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
2110299481Sjkim	xorl	%r9d,%r13d
2111299481Sjkim	addl	28(%rsp),%eax
2112299481Sjkim	movl	%ebx,%esi
2113299481Sjkim	shrdl	$11,%r14d,%r14d
2114299481Sjkim	xorl	%r11d,%r12d
2115299481Sjkim	xorl	%ecx,%esi
2116299481Sjkim	shrdl	$6,%r13d,%r13d
2117299481Sjkim	addl	%r12d,%eax
2118299481Sjkim	andl	%esi,%r15d
2119299481Sjkim	xorl	%ebx,%r14d
2120299481Sjkim	addl	%r13d,%eax
2121299481Sjkim	xorl	%ecx,%r15d
2122299481Sjkim	addl	%eax,%r8d
2123299481Sjkim	shrdl	$2,%r14d,%r14d
2124299481Sjkim	addl	%r15d,%eax
2125299481Sjkim	movl	%r8d,%r13d
2126299481Sjkim	addl	%eax,%r14d
2127299481Sjkim	shrdl	$14,%r13d,%r13d
2128299481Sjkim	movl	%r14d,%eax
2129299481Sjkim	movl	%r9d,%r12d
2130299481Sjkim	xorl	%r8d,%r13d
2131299481Sjkim	shrdl	$9,%r14d,%r14d
2132299481Sjkim	xorl	%r10d,%r12d
2133299481Sjkim	shrdl	$5,%r13d,%r13d
2134299481Sjkim	xorl	%eax,%r14d
2135299481Sjkim	andl	%r8d,%r12d
2136299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2137299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
2138299481Sjkim	xorl	%r8d,%r13d
2139299481Sjkim	addl	32(%rsp),%r11d
2140299481Sjkim	movl	%eax,%r15d
2141299481Sjkim	shrdl	$11,%r14d,%r14d
2142299481Sjkim	xorl	%r10d,%r12d
2143299481Sjkim	xorl	%ebx,%r15d
2144299481Sjkim	shrdl	$6,%r13d,%r13d
2145299481Sjkim	addl	%r12d,%r11d
2146299481Sjkim	andl	%r15d,%esi
2147299481Sjkim	xorl	%eax,%r14d
2148299481Sjkim	addl	%r13d,%r11d
2149299481Sjkim	xorl	%ebx,%esi
2150299481Sjkim	addl	%r11d,%edx
2151299481Sjkim	shrdl	$2,%r14d,%r14d
2152299481Sjkim	addl	%esi,%r11d
2153299481Sjkim	movl	%edx,%r13d
2154299481Sjkim	addl	%r11d,%r14d
2155299481Sjkim	shrdl	$14,%r13d,%r13d
2156299481Sjkim	movl	%r14d,%r11d
2157299481Sjkim	movl	%r8d,%r12d
2158299481Sjkim	xorl	%edx,%r13d
2159299481Sjkim	shrdl	$9,%r14d,%r14d
2160299481Sjkim	xorl	%r9d,%r12d
2161299481Sjkim	shrdl	$5,%r13d,%r13d
2162299481Sjkim	xorl	%r11d,%r14d
2163299481Sjkim	andl	%edx,%r12d
2164299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2165299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
2166299481Sjkim	xorl	%edx,%r13d
2167299481Sjkim	addl	36(%rsp),%r10d
2168299481Sjkim	movl	%r11d,%esi
2169299481Sjkim	shrdl	$11,%r14d,%r14d
2170299481Sjkim	xorl	%r9d,%r12d
2171299481Sjkim	xorl	%eax,%esi
2172299481Sjkim	shrdl	$6,%r13d,%r13d
2173299481Sjkim	addl	%r12d,%r10d
2174299481Sjkim	andl	%esi,%r15d
2175299481Sjkim	xorl	%r11d,%r14d
2176299481Sjkim	addl	%r13d,%r10d
2177299481Sjkim	xorl	%eax,%r15d
2178299481Sjkim	addl	%r10d,%ecx
2179299481Sjkim	shrdl	$2,%r14d,%r14d
2180299481Sjkim	addl	%r15d,%r10d
2181299481Sjkim	movl	%ecx,%r13d
2182299481Sjkim	addl	%r10d,%r14d
2183299481Sjkim	shrdl	$14,%r13d,%r13d
2184299481Sjkim	movl	%r14d,%r10d
2185299481Sjkim	movl	%edx,%r12d
2186299481Sjkim	xorl	%ecx,%r13d
2187299481Sjkim	shrdl	$9,%r14d,%r14d
2188299481Sjkim	xorl	%r8d,%r12d
2189299481Sjkim	shrdl	$5,%r13d,%r13d
2190299481Sjkim	xorl	%r10d,%r14d
2191299481Sjkim	andl	%ecx,%r12d
2192299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2193299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
2194299481Sjkim	xorl	%ecx,%r13d
2195299481Sjkim	addl	40(%rsp),%r9d
2196299481Sjkim	movl	%r10d,%r15d
2197299481Sjkim	shrdl	$11,%r14d,%r14d
2198299481Sjkim	xorl	%r8d,%r12d
2199299481Sjkim	xorl	%r11d,%r15d
2200299481Sjkim	shrdl	$6,%r13d,%r13d
2201299481Sjkim	addl	%r12d,%r9d
2202299481Sjkim	andl	%r15d,%esi
2203299481Sjkim	xorl	%r10d,%r14d
2204299481Sjkim	addl	%r13d,%r9d
2205299481Sjkim	xorl	%r11d,%esi
2206299481Sjkim	addl	%r9d,%ebx
2207299481Sjkim	shrdl	$2,%r14d,%r14d
2208299481Sjkim	addl	%esi,%r9d
2209299481Sjkim	movl	%ebx,%r13d
2210299481Sjkim	addl	%r9d,%r14d
2211299481Sjkim	shrdl	$14,%r13d,%r13d
2212299481Sjkim	movl	%r14d,%r9d
2213299481Sjkim	movl	%ecx,%r12d
2214299481Sjkim	xorl	%ebx,%r13d
2215299481Sjkim	shrdl	$9,%r14d,%r14d
2216299481Sjkim	xorl	%edx,%r12d
2217299481Sjkim	shrdl	$5,%r13d,%r13d
2218299481Sjkim	xorl	%r9d,%r14d
2219299481Sjkim	andl	%ebx,%r12d
2220299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
2221299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2222299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
2223299481Sjkim	xorl	%ebx,%r13d
2224299481Sjkim	addl	44(%rsp),%r8d
2225299481Sjkim	movl	%r9d,%esi
2226299481Sjkim	shrdl	$11,%r14d,%r14d
2227299481Sjkim	xorl	%edx,%r12d
2228299481Sjkim	xorl	%r10d,%esi
2229299481Sjkim	shrdl	$6,%r13d,%r13d
2230299481Sjkim	addl	%r12d,%r8d
2231299481Sjkim	andl	%esi,%r15d
2232299481Sjkim	xorl	%r9d,%r14d
2233299481Sjkim	addl	%r13d,%r8d
2234299481Sjkim	xorl	%r10d,%r15d
2235299481Sjkim	addl	%r8d,%eax
2236299481Sjkim	shrdl	$2,%r14d,%r14d
2237299481Sjkim	addl	%r15d,%r8d
2238299481Sjkim	movl	%eax,%r13d
2239299481Sjkim	addl	%r8d,%r14d
2240299481Sjkim	shrdl	$14,%r13d,%r13d
2241299481Sjkim	movl	%r14d,%r8d
2242299481Sjkim	movl	%ebx,%r12d
2243299481Sjkim	xorl	%eax,%r13d
2244299481Sjkim	shrdl	$9,%r14d,%r14d
2245299481Sjkim	xorl	%ecx,%r12d
2246299481Sjkim	shrdl	$5,%r13d,%r13d
2247299481Sjkim	xorl	%r8d,%r14d
2248299481Sjkim	andl	%eax,%r12d
2249299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
2250299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2251299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
2252299481Sjkim	xorl	%eax,%r13d
2253299481Sjkim	addl	48(%rsp),%edx
2254299481Sjkim	movl	%r8d,%r15d
2255299481Sjkim	shrdl	$11,%r14d,%r14d
2256299481Sjkim	xorl	%ecx,%r12d
2257299481Sjkim	xorl	%r9d,%r15d
2258299481Sjkim	shrdl	$6,%r13d,%r13d
2259299481Sjkim	addl	%r12d,%edx
2260299481Sjkim	andl	%r15d,%esi
2261299481Sjkim	xorl	%r8d,%r14d
2262299481Sjkim	addl	%r13d,%edx
2263299481Sjkim	xorl	%r9d,%esi
2264299481Sjkim	addl	%edx,%r11d
2265299481Sjkim	shrdl	$2,%r14d,%r14d
2266299481Sjkim	addl	%esi,%edx
2267299481Sjkim	movl	%r11d,%r13d
2268299481Sjkim	addl	%edx,%r14d
2269299481Sjkim	shrdl	$14,%r13d,%r13d
2270299481Sjkim	movl	%r14d,%edx
2271299481Sjkim	movl	%eax,%r12d
2272299481Sjkim	xorl	%r11d,%r13d
2273299481Sjkim	shrdl	$9,%r14d,%r14d
2274299481Sjkim	xorl	%ebx,%r12d
2275299481Sjkim	shrdl	$5,%r13d,%r13d
2276299481Sjkim	xorl	%edx,%r14d
2277299481Sjkim	andl	%r11d,%r12d
2278299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
2279299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2280299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
2281299481Sjkim	xorl	%r11d,%r13d
2282299481Sjkim	addl	52(%rsp),%ecx
2283299481Sjkim	movl	%edx,%esi
2284299481Sjkim	shrdl	$11,%r14d,%r14d
2285299481Sjkim	xorl	%ebx,%r12d
2286299481Sjkim	xorl	%r8d,%esi
2287299481Sjkim	shrdl	$6,%r13d,%r13d
2288299481Sjkim	addl	%r12d,%ecx
2289299481Sjkim	andl	%esi,%r15d
2290299481Sjkim	xorl	%edx,%r14d
2291299481Sjkim	addl	%r13d,%ecx
2292299481Sjkim	xorl	%r8d,%r15d
2293299481Sjkim	addl	%ecx,%r10d
2294299481Sjkim	shrdl	$2,%r14d,%r14d
2295299481Sjkim	addl	%r15d,%ecx
2296299481Sjkim	movl	%r10d,%r13d
2297299481Sjkim	addl	%ecx,%r14d
2298299481Sjkim	shrdl	$14,%r13d,%r13d
2299299481Sjkim	movl	%r14d,%ecx
2300299481Sjkim	movl	%r11d,%r12d
2301299481Sjkim	xorl	%r10d,%r13d
2302299481Sjkim	shrdl	$9,%r14d,%r14d
2303299481Sjkim	xorl	%eax,%r12d
2304299481Sjkim	shrdl	$5,%r13d,%r13d
2305299481Sjkim	xorl	%ecx,%r14d
2306299481Sjkim	andl	%r10d,%r12d
2307299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
2308299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2309299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
2310299481Sjkim	xorl	%r10d,%r13d
2311299481Sjkim	addl	56(%rsp),%ebx
2312299481Sjkim	movl	%ecx,%r15d
2313299481Sjkim	shrdl	$11,%r14d,%r14d
2314299481Sjkim	xorl	%eax,%r12d
2315299481Sjkim	xorl	%edx,%r15d
2316299481Sjkim	shrdl	$6,%r13d,%r13d
2317299481Sjkim	addl	%r12d,%ebx
2318299481Sjkim	andl	%r15d,%esi
2319299481Sjkim	xorl	%ecx,%r14d
2320299481Sjkim	addl	%r13d,%ebx
2321299481Sjkim	xorl	%edx,%esi
2322299481Sjkim	addl	%ebx,%r9d
2323299481Sjkim	shrdl	$2,%r14d,%r14d
2324299481Sjkim	addl	%esi,%ebx
2325299481Sjkim	movl	%r9d,%r13d
2326299481Sjkim	addl	%ebx,%r14d
2327299481Sjkim	shrdl	$14,%r13d,%r13d
2328299481Sjkim	movl	%r14d,%ebx
2329299481Sjkim	movl	%r10d,%r12d
2330299481Sjkim	xorl	%r9d,%r13d
2331299481Sjkim	shrdl	$9,%r14d,%r14d
2332299481Sjkim	xorl	%r11d,%r12d
2333299481Sjkim	shrdl	$5,%r13d,%r13d
2334299481Sjkim	xorl	%ebx,%r14d
2335299481Sjkim	andl	%r9d,%r12d
2336299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
2337299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
2338299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
2339299481Sjkim	xorl	%r9d,%r13d
2340299481Sjkim	addl	60(%rsp),%eax
2341299481Sjkim	movl	%ebx,%esi
2342299481Sjkim	shrdl	$11,%r14d,%r14d
2343299481Sjkim	xorl	%r11d,%r12d
2344299481Sjkim	xorl	%ecx,%esi
2345299481Sjkim	shrdl	$6,%r13d,%r13d
2346299481Sjkim	addl	%r12d,%eax
2347299481Sjkim	andl	%esi,%r15d
2348299481Sjkim	xorl	%ebx,%r14d
2349299481Sjkim	addl	%r13d,%eax
2350299481Sjkim	xorl	%ecx,%r15d
2351299481Sjkim	addl	%eax,%r8d
2352299481Sjkim	shrdl	$2,%r14d,%r14d
2353299481Sjkim	addl	%r15d,%eax
2354299481Sjkim	movl	%r8d,%r13d
2355299481Sjkim	addl	%eax,%r14d
2356299481Sjkim	movq	64+0(%rsp),%r12
2357299481Sjkim	movq	64+8(%rsp),%r13
2358299481Sjkim	movq	64+40(%rsp),%r15
2359299481Sjkim	movq	64+48(%rsp),%rsi
2360299481Sjkim
2361299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
2362299481Sjkim	movl	%r14d,%eax
2363299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
2364299481Sjkim	vmovdqu	%xmm8,(%r12,%r13,1)
2365299481Sjkim	leaq	16(%r12),%r12
2366299481Sjkim
2367299481Sjkim	addl	0(%r15),%eax
2368299481Sjkim	addl	4(%r15),%ebx
2369299481Sjkim	addl	8(%r15),%ecx
2370299481Sjkim	addl	12(%r15),%edx
2371299481Sjkim	addl	16(%r15),%r8d
2372299481Sjkim	addl	20(%r15),%r9d
2373299481Sjkim	addl	24(%r15),%r10d
2374299481Sjkim	addl	28(%r15),%r11d
2375299481Sjkim
2376299481Sjkim	cmpq	64+16(%rsp),%r12
2377299481Sjkim
2378299481Sjkim	movl	%eax,0(%r15)
2379299481Sjkim	movl	%ebx,4(%r15)
2380299481Sjkim	movl	%ecx,8(%r15)
2381299481Sjkim	movl	%edx,12(%r15)
2382299481Sjkim	movl	%r8d,16(%r15)
2383299481Sjkim	movl	%r9d,20(%r15)
2384299481Sjkim	movl	%r10d,24(%r15)
2385299481Sjkim	movl	%r11d,28(%r15)
2386299481Sjkim	jb	.Lloop_avx
2387299481Sjkim
2388299481Sjkim	movq	64+32(%rsp),%r8
2389299481Sjkim	movq	64+56(%rsp),%rsi
2390299481Sjkim	vmovdqu	%xmm8,(%r8)
2391299481Sjkim	vzeroall
2392299481Sjkim	movq	(%rsi),%r15
2393299481Sjkim	movq	8(%rsi),%r14
2394299481Sjkim	movq	16(%rsi),%r13
2395299481Sjkim	movq	24(%rsi),%r12
2396299481Sjkim	movq	32(%rsi),%rbp
2397299481Sjkim	movq	40(%rsi),%rbx
2398299481Sjkim	leaq	48(%rsi),%rsp
2399299481Sjkim.Lepilogue_avx:
2400299481Sjkim	.byte	0xf3,0xc3
2401299481Sjkim.size	aesni_cbc_sha256_enc_avx,.-aesni_cbc_sha256_enc_avx
2402299481Sjkim.type	aesni_cbc_sha256_enc_avx2,@function
2403299481Sjkim.align	64
2404299481Sjkimaesni_cbc_sha256_enc_avx2:
2405299481Sjkim.Lavx2_shortcut:
2406299481Sjkim	movq	8(%rsp),%r10
2407299481Sjkim	pushq	%rbx
2408299481Sjkim	pushq	%rbp
2409299481Sjkim	pushq	%r12
2410299481Sjkim	pushq	%r13
2411299481Sjkim	pushq	%r14
2412299481Sjkim	pushq	%r15
2413299481Sjkim	movq	%rsp,%r11
2414299481Sjkim	subq	$576,%rsp
2415299481Sjkim	andq	$-1024,%rsp
2416299481Sjkim	addq	$448,%rsp
2417299481Sjkim
2418299481Sjkim	shlq	$6,%rdx
2419299481Sjkim	subq	%rdi,%rsi
2420299481Sjkim	subq	%rdi,%r10
2421299481Sjkim	addq	%rdi,%rdx
2422299481Sjkim
2423299481Sjkim
2424299481Sjkim
2425299481Sjkim	movq	%rdx,64+16(%rsp)
2426299481Sjkim
2427299481Sjkim	movq	%r8,64+32(%rsp)
2428299481Sjkim	movq	%r9,64+40(%rsp)
2429299481Sjkim	movq	%r10,64+48(%rsp)
2430299481Sjkim	movq	%r11,64+56(%rsp)
2431299481Sjkim.Lprologue_avx2:
2432299481Sjkim	vzeroall
2433299481Sjkim
2434299481Sjkim	movq	%rdi,%r13
2435299481Sjkim	vpinsrq	$1,%rsi,%xmm15,%xmm15
2436299481Sjkim	leaq	128(%rcx),%rdi
2437299481Sjkim	leaq	K256+544(%rip),%r12
2438299481Sjkim	movl	240-128(%rdi),%r14d
2439299481Sjkim	movq	%r9,%r15
2440299481Sjkim	movq	%r10,%rsi
2441299481Sjkim	vmovdqu	(%r8),%xmm8
2442299481Sjkim	leaq	-9(%r14),%r14
2443299481Sjkim
2444299481Sjkim	vmovdqa	0(%r12,%r14,8),%xmm14
2445299481Sjkim	vmovdqa	16(%r12,%r14,8),%xmm13
2446299481Sjkim	vmovdqa	32(%r12,%r14,8),%xmm12
2447299481Sjkim
2448299481Sjkim	subq	$-64,%r13
2449299481Sjkim	movl	0(%r15),%eax
2450299481Sjkim	leaq	(%rsi,%r13,1),%r12
2451299481Sjkim	movl	4(%r15),%ebx
2452299481Sjkim	cmpq	%rdx,%r13
2453299481Sjkim	movl	8(%r15),%ecx
2454299481Sjkim	cmoveq	%rsp,%r12
2455299481Sjkim	movl	12(%r15),%edx
2456299481Sjkim	movl	16(%r15),%r8d
2457299481Sjkim	movl	20(%r15),%r9d
2458299481Sjkim	movl	24(%r15),%r10d
2459299481Sjkim	movl	28(%r15),%r11d
2460299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
2461299481Sjkim	jmp	.Loop_avx2
2462299481Sjkim.align	16
2463299481Sjkim.Loop_avx2:
2464299481Sjkim	vmovdqa	K256+512(%rip),%ymm7
2465299481Sjkim	vmovdqu	-64+0(%rsi,%r13,1),%xmm0
2466299481Sjkim	vmovdqu	-64+16(%rsi,%r13,1),%xmm1
2467299481Sjkim	vmovdqu	-64+32(%rsi,%r13,1),%xmm2
2468299481Sjkim	vmovdqu	-64+48(%rsi,%r13,1),%xmm3
2469299481Sjkim
2470299481Sjkim	vinserti128	$1,(%r12),%ymm0,%ymm0
2471299481Sjkim	vinserti128	$1,16(%r12),%ymm1,%ymm1
2472299481Sjkim	vpshufb	%ymm7,%ymm0,%ymm0
2473299481Sjkim	vinserti128	$1,32(%r12),%ymm2,%ymm2
2474299481Sjkim	vpshufb	%ymm7,%ymm1,%ymm1
2475299481Sjkim	vinserti128	$1,48(%r12),%ymm3,%ymm3
2476299481Sjkim
2477299481Sjkim	leaq	K256(%rip),%rbp
2478299481Sjkim	vpshufb	%ymm7,%ymm2,%ymm2
2479299481Sjkim	leaq	-64(%r13),%r13
2480299481Sjkim	vpaddd	0(%rbp),%ymm0,%ymm4
2481299481Sjkim	vpshufb	%ymm7,%ymm3,%ymm3
2482299481Sjkim	vpaddd	32(%rbp),%ymm1,%ymm5
2483299481Sjkim	vpaddd	64(%rbp),%ymm2,%ymm6
2484299481Sjkim	vpaddd	96(%rbp),%ymm3,%ymm7
2485299481Sjkim	vmovdqa	%ymm4,0(%rsp)
2486299481Sjkim	xorl	%r14d,%r14d
2487299481Sjkim	vmovdqa	%ymm5,32(%rsp)
2488299481Sjkim	leaq	-64(%rsp),%rsp
2489299481Sjkim	movl	%ebx,%esi
2490299481Sjkim	vmovdqa	%ymm6,0(%rsp)
2491299481Sjkim	xorl	%ecx,%esi
2492299481Sjkim	vmovdqa	%ymm7,32(%rsp)
2493299481Sjkim	movl	%r9d,%r12d
2494299481Sjkim	subq	$-32*4,%rbp
2495299481Sjkim	jmp	.Lavx2_00_47
2496299481Sjkim
2497299481Sjkim.align	16
2498299481Sjkim.Lavx2_00_47:
2499299481Sjkim	vmovdqu	(%r13),%xmm9
2500299481Sjkim	vpinsrq	$0,%r13,%xmm15,%xmm15
2501299481Sjkim	leaq	-64(%rsp),%rsp
2502299481Sjkim	vpalignr	$4,%ymm0,%ymm1,%ymm4
2503299481Sjkim	addl	0+128(%rsp),%r11d
2504299481Sjkim	andl	%r8d,%r12d
2505299481Sjkim	rorxl	$25,%r8d,%r13d
2506299481Sjkim	vpalignr	$4,%ymm2,%ymm3,%ymm7
2507299481Sjkim	rorxl	$11,%r8d,%r15d
2508299481Sjkim	leal	(%rax,%r14,1),%eax
2509299481Sjkim	leal	(%r11,%r12,1),%r11d
2510299481Sjkim	vpsrld	$7,%ymm4,%ymm6
2511299481Sjkim	andnl	%r10d,%r8d,%r12d
2512299481Sjkim	xorl	%r15d,%r13d
2513299481Sjkim	rorxl	$6,%r8d,%r14d
2514299481Sjkim	vpaddd	%ymm7,%ymm0,%ymm0
2515299481Sjkim	leal	(%r11,%r12,1),%r11d
2516299481Sjkim	xorl	%r14d,%r13d
2517299481Sjkim	movl	%eax,%r15d
2518299481Sjkim	vpsrld	$3,%ymm4,%ymm7
2519299481Sjkim	rorxl	$22,%eax,%r12d
2520299481Sjkim	leal	(%r11,%r13,1),%r11d
2521299481Sjkim	xorl	%ebx,%r15d
2522299481Sjkim	vpslld	$14,%ymm4,%ymm5
2523299481Sjkim	rorxl	$13,%eax,%r14d
2524299481Sjkim	rorxl	$2,%eax,%r13d
2525299481Sjkim	leal	(%rdx,%r11,1),%edx
2526299481Sjkim	vpxor	%ymm6,%ymm7,%ymm4
2527299481Sjkim	andl	%r15d,%esi
2528299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
2529299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
2530299481Sjkim	xorl	%r12d,%r14d
2531299481Sjkim	xorl	%ebx,%esi
2532299481Sjkim	vpshufd	$250,%ymm3,%ymm7
2533299481Sjkim	xorl	%r13d,%r14d
2534299481Sjkim	leal	(%r11,%rsi,1),%r11d
2535299481Sjkim	movl	%r8d,%r12d
2536299481Sjkim	vpsrld	$11,%ymm6,%ymm6
2537299481Sjkim	addl	4+128(%rsp),%r10d
2538299481Sjkim	andl	%edx,%r12d
2539299481Sjkim	rorxl	$25,%edx,%r13d
2540299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2541299481Sjkim	rorxl	$11,%edx,%esi
2542299481Sjkim	leal	(%r11,%r14,1),%r11d
2543299481Sjkim	leal	(%r10,%r12,1),%r10d
2544299481Sjkim	vpslld	$11,%ymm5,%ymm5
2545299481Sjkim	andnl	%r9d,%edx,%r12d
2546299481Sjkim	xorl	%esi,%r13d
2547299481Sjkim	rorxl	$6,%edx,%r14d
2548299481Sjkim	vpxor	%ymm6,%ymm4,%ymm4
2549299481Sjkim	leal	(%r10,%r12,1),%r10d
2550299481Sjkim	xorl	%r14d,%r13d
2551299481Sjkim	movl	%r11d,%esi
2552299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2553299481Sjkim	rorxl	$22,%r11d,%r12d
2554299481Sjkim	leal	(%r10,%r13,1),%r10d
2555299481Sjkim	xorl	%eax,%esi
2556299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2557299481Sjkim	rorxl	$13,%r11d,%r14d
2558299481Sjkim	rorxl	$2,%r11d,%r13d
2559299481Sjkim	leal	(%rcx,%r10,1),%ecx
2560299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2561299481Sjkim	andl	%esi,%r15d
2562299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
2563299481Sjkim	xorl	%r12d,%r14d
2564299481Sjkim	xorl	%eax,%r15d
2565299481Sjkim	vpaddd	%ymm4,%ymm0,%ymm0
2566299481Sjkim	xorl	%r13d,%r14d
2567299481Sjkim	leal	(%r10,%r15,1),%r10d
2568299481Sjkim	movl	%edx,%r12d
2569299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2570299481Sjkim	addl	8+128(%rsp),%r9d
2571299481Sjkim	andl	%ecx,%r12d
2572299481Sjkim	rorxl	$25,%ecx,%r13d
2573299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2574299481Sjkim	rorxl	$11,%ecx,%r15d
2575299481Sjkim	leal	(%r10,%r14,1),%r10d
2576299481Sjkim	leal	(%r9,%r12,1),%r9d
2577299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2578299481Sjkim	andnl	%r8d,%ecx,%r12d
2579299481Sjkim	xorl	%r15d,%r13d
2580299481Sjkim	rorxl	$6,%ecx,%r14d
2581299481Sjkim	vpshufd	$132,%ymm6,%ymm6
2582299481Sjkim	leal	(%r9,%r12,1),%r9d
2583299481Sjkim	xorl	%r14d,%r13d
2584299481Sjkim	movl	%r10d,%r15d
2585299481Sjkim	vpsrldq	$8,%ymm6,%ymm6
2586299481Sjkim	rorxl	$22,%r10d,%r12d
2587299481Sjkim	leal	(%r9,%r13,1),%r9d
2588299481Sjkim	xorl	%r11d,%r15d
2589299481Sjkim	vpaddd	%ymm6,%ymm0,%ymm0
2590299481Sjkim	rorxl	$13,%r10d,%r14d
2591299481Sjkim	rorxl	$2,%r10d,%r13d
2592299481Sjkim	leal	(%rbx,%r9,1),%ebx
2593299481Sjkim	vpshufd	$80,%ymm0,%ymm7
2594299481Sjkim	andl	%r15d,%esi
2595299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2596299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
2597299481Sjkim	xorl	%r12d,%r14d
2598299481Sjkim	xorl	%r11d,%esi
2599299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2600299481Sjkim	xorl	%r13d,%r14d
2601299481Sjkim	leal	(%r9,%rsi,1),%r9d
2602299481Sjkim	movl	%ecx,%r12d
2603299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2604299481Sjkim	addl	12+128(%rsp),%r8d
2605299481Sjkim	andl	%ebx,%r12d
2606299481Sjkim	rorxl	$25,%ebx,%r13d
2607299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2608299481Sjkim	rorxl	$11,%ebx,%esi
2609299481Sjkim	leal	(%r9,%r14,1),%r9d
2610299481Sjkim	leal	(%r8,%r12,1),%r8d
2611299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2612299481Sjkim	andnl	%edx,%ebx,%r12d
2613299481Sjkim	xorl	%esi,%r13d
2614299481Sjkim	rorxl	$6,%ebx,%r14d
2615299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2616299481Sjkim	leal	(%r8,%r12,1),%r8d
2617299481Sjkim	xorl	%r14d,%r13d
2618299481Sjkim	movl	%r9d,%esi
2619299481Sjkim	vpshufd	$232,%ymm6,%ymm6
2620299481Sjkim	rorxl	$22,%r9d,%r12d
2621299481Sjkim	leal	(%r8,%r13,1),%r8d
2622299481Sjkim	xorl	%r10d,%esi
2623299481Sjkim	vpslldq	$8,%ymm6,%ymm6
2624299481Sjkim	rorxl	$13,%r9d,%r14d
2625299481Sjkim	rorxl	$2,%r9d,%r13d
2626299481Sjkim	leal	(%rax,%r8,1),%eax
2627299481Sjkim	vpaddd	%ymm6,%ymm0,%ymm0
2628299481Sjkim	andl	%esi,%r15d
2629299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2630299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
2631299481Sjkim	xorl	%r12d,%r14d
2632299481Sjkim	xorl	%r10d,%r15d
2633299481Sjkim	vpaddd	0(%rbp),%ymm0,%ymm6
2634299481Sjkim	xorl	%r13d,%r14d
2635299481Sjkim	leal	(%r8,%r15,1),%r8d
2636299481Sjkim	movl	%ebx,%r12d
2637299481Sjkim	vmovdqa	%ymm6,0(%rsp)
2638299481Sjkim	vpalignr	$4,%ymm1,%ymm2,%ymm4
2639299481Sjkim	addl	32+128(%rsp),%edx
2640299481Sjkim	andl	%eax,%r12d
2641299481Sjkim	rorxl	$25,%eax,%r13d
2642299481Sjkim	vpalignr	$4,%ymm3,%ymm0,%ymm7
2643299481Sjkim	rorxl	$11,%eax,%r15d
2644299481Sjkim	leal	(%r8,%r14,1),%r8d
2645299481Sjkim	leal	(%rdx,%r12,1),%edx
2646299481Sjkim	vpsrld	$7,%ymm4,%ymm6
2647299481Sjkim	andnl	%ecx,%eax,%r12d
2648299481Sjkim	xorl	%r15d,%r13d
2649299481Sjkim	rorxl	$6,%eax,%r14d
2650299481Sjkim	vpaddd	%ymm7,%ymm1,%ymm1
2651299481Sjkim	leal	(%rdx,%r12,1),%edx
2652299481Sjkim	xorl	%r14d,%r13d
2653299481Sjkim	movl	%r8d,%r15d
2654299481Sjkim	vpsrld	$3,%ymm4,%ymm7
2655299481Sjkim	rorxl	$22,%r8d,%r12d
2656299481Sjkim	leal	(%rdx,%r13,1),%edx
2657299481Sjkim	xorl	%r9d,%r15d
2658299481Sjkim	vpslld	$14,%ymm4,%ymm5
2659299481Sjkim	rorxl	$13,%r8d,%r14d
2660299481Sjkim	rorxl	$2,%r8d,%r13d
2661299481Sjkim	leal	(%r11,%rdx,1),%r11d
2662299481Sjkim	vpxor	%ymm6,%ymm7,%ymm4
2663299481Sjkim	andl	%r15d,%esi
2664299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2665299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
2666299481Sjkim	xorl	%r12d,%r14d
2667299481Sjkim	xorl	%r9d,%esi
2668299481Sjkim	vpshufd	$250,%ymm0,%ymm7
2669299481Sjkim	xorl	%r13d,%r14d
2670299481Sjkim	leal	(%rdx,%rsi,1),%edx
2671299481Sjkim	movl	%eax,%r12d
2672299481Sjkim	vpsrld	$11,%ymm6,%ymm6
2673299481Sjkim	addl	36+128(%rsp),%ecx
2674299481Sjkim	andl	%r11d,%r12d
2675299481Sjkim	rorxl	$25,%r11d,%r13d
2676299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2677299481Sjkim	rorxl	$11,%r11d,%esi
2678299481Sjkim	leal	(%rdx,%r14,1),%edx
2679299481Sjkim	leal	(%rcx,%r12,1),%ecx
2680299481Sjkim	vpslld	$11,%ymm5,%ymm5
2681299481Sjkim	andnl	%ebx,%r11d,%r12d
2682299481Sjkim	xorl	%esi,%r13d
2683299481Sjkim	rorxl	$6,%r11d,%r14d
2684299481Sjkim	vpxor	%ymm6,%ymm4,%ymm4
2685299481Sjkim	leal	(%rcx,%r12,1),%ecx
2686299481Sjkim	xorl	%r14d,%r13d
2687299481Sjkim	movl	%edx,%esi
2688299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2689299481Sjkim	rorxl	$22,%edx,%r12d
2690299481Sjkim	leal	(%rcx,%r13,1),%ecx
2691299481Sjkim	xorl	%r8d,%esi
2692299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2693299481Sjkim	rorxl	$13,%edx,%r14d
2694299481Sjkim	rorxl	$2,%edx,%r13d
2695299481Sjkim	leal	(%r10,%rcx,1),%r10d
2696299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2697299481Sjkim	andl	%esi,%r15d
2698299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2699299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
2700299481Sjkim	xorl	%r12d,%r14d
2701299481Sjkim	xorl	%r8d,%r15d
2702299481Sjkim	vpaddd	%ymm4,%ymm1,%ymm1
2703299481Sjkim	xorl	%r13d,%r14d
2704299481Sjkim	leal	(%rcx,%r15,1),%ecx
2705299481Sjkim	movl	%r11d,%r12d
2706299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2707299481Sjkim	addl	40+128(%rsp),%ebx
2708299481Sjkim	andl	%r10d,%r12d
2709299481Sjkim	rorxl	$25,%r10d,%r13d
2710299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2711299481Sjkim	rorxl	$11,%r10d,%r15d
2712299481Sjkim	leal	(%rcx,%r14,1),%ecx
2713299481Sjkim	leal	(%rbx,%r12,1),%ebx
2714299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2715299481Sjkim	andnl	%eax,%r10d,%r12d
2716299481Sjkim	xorl	%r15d,%r13d
2717299481Sjkim	rorxl	$6,%r10d,%r14d
2718299481Sjkim	vpshufd	$132,%ymm6,%ymm6
2719299481Sjkim	leal	(%rbx,%r12,1),%ebx
2720299481Sjkim	xorl	%r14d,%r13d
2721299481Sjkim	movl	%ecx,%r15d
2722299481Sjkim	vpsrldq	$8,%ymm6,%ymm6
2723299481Sjkim	rorxl	$22,%ecx,%r12d
2724299481Sjkim	leal	(%rbx,%r13,1),%ebx
2725299481Sjkim	xorl	%edx,%r15d
2726299481Sjkim	vpaddd	%ymm6,%ymm1,%ymm1
2727299481Sjkim	rorxl	$13,%ecx,%r14d
2728299481Sjkim	rorxl	$2,%ecx,%r13d
2729299481Sjkim	leal	(%r9,%rbx,1),%r9d
2730299481Sjkim	vpshufd	$80,%ymm1,%ymm7
2731299481Sjkim	andl	%r15d,%esi
2732299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2733299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
2734299481Sjkim	xorl	%r12d,%r14d
2735299481Sjkim	xorl	%edx,%esi
2736299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2737299481Sjkim	xorl	%r13d,%r14d
2738299481Sjkim	leal	(%rbx,%rsi,1),%ebx
2739299481Sjkim	movl	%r10d,%r12d
2740299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2741299481Sjkim	addl	44+128(%rsp),%eax
2742299481Sjkim	andl	%r9d,%r12d
2743299481Sjkim	rorxl	$25,%r9d,%r13d
2744299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2745299481Sjkim	rorxl	$11,%r9d,%esi
2746299481Sjkim	leal	(%rbx,%r14,1),%ebx
2747299481Sjkim	leal	(%rax,%r12,1),%eax
2748299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2749299481Sjkim	andnl	%r11d,%r9d,%r12d
2750299481Sjkim	xorl	%esi,%r13d
2751299481Sjkim	rorxl	$6,%r9d,%r14d
2752299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2753299481Sjkim	leal	(%rax,%r12,1),%eax
2754299481Sjkim	xorl	%r14d,%r13d
2755299481Sjkim	movl	%ebx,%esi
2756299481Sjkim	vpshufd	$232,%ymm6,%ymm6
2757299481Sjkim	rorxl	$22,%ebx,%r12d
2758299481Sjkim	leal	(%rax,%r13,1),%eax
2759299481Sjkim	xorl	%ecx,%esi
2760299481Sjkim	vpslldq	$8,%ymm6,%ymm6
2761299481Sjkim	rorxl	$13,%ebx,%r14d
2762299481Sjkim	rorxl	$2,%ebx,%r13d
2763299481Sjkim	leal	(%r8,%rax,1),%r8d
2764299481Sjkim	vpaddd	%ymm6,%ymm1,%ymm1
2765299481Sjkim	andl	%esi,%r15d
2766299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2767299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
2768299481Sjkim	xorl	%r12d,%r14d
2769299481Sjkim	xorl	%ecx,%r15d
2770299481Sjkim	vpaddd	32(%rbp),%ymm1,%ymm6
2771299481Sjkim	xorl	%r13d,%r14d
2772299481Sjkim	leal	(%rax,%r15,1),%eax
2773299481Sjkim	movl	%r9d,%r12d
2774299481Sjkim	vmovdqa	%ymm6,32(%rsp)
2775299481Sjkim	leaq	-64(%rsp),%rsp
2776299481Sjkim	vpalignr	$4,%ymm2,%ymm3,%ymm4
2777299481Sjkim	addl	0+128(%rsp),%r11d
2778299481Sjkim	andl	%r8d,%r12d
2779299481Sjkim	rorxl	$25,%r8d,%r13d
2780299481Sjkim	vpalignr	$4,%ymm0,%ymm1,%ymm7
2781299481Sjkim	rorxl	$11,%r8d,%r15d
2782299481Sjkim	leal	(%rax,%r14,1),%eax
2783299481Sjkim	leal	(%r11,%r12,1),%r11d
2784299481Sjkim	vpsrld	$7,%ymm4,%ymm6
2785299481Sjkim	andnl	%r10d,%r8d,%r12d
2786299481Sjkim	xorl	%r15d,%r13d
2787299481Sjkim	rorxl	$6,%r8d,%r14d
2788299481Sjkim	vpaddd	%ymm7,%ymm2,%ymm2
2789299481Sjkim	leal	(%r11,%r12,1),%r11d
2790299481Sjkim	xorl	%r14d,%r13d
2791299481Sjkim	movl	%eax,%r15d
2792299481Sjkim	vpsrld	$3,%ymm4,%ymm7
2793299481Sjkim	rorxl	$22,%eax,%r12d
2794299481Sjkim	leal	(%r11,%r13,1),%r11d
2795299481Sjkim	xorl	%ebx,%r15d
2796299481Sjkim	vpslld	$14,%ymm4,%ymm5
2797299481Sjkim	rorxl	$13,%eax,%r14d
2798299481Sjkim	rorxl	$2,%eax,%r13d
2799299481Sjkim	leal	(%rdx,%r11,1),%edx
2800299481Sjkim	vpxor	%ymm6,%ymm7,%ymm4
2801299481Sjkim	andl	%r15d,%esi
2802299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2803299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
2804299481Sjkim	xorl	%r12d,%r14d
2805299481Sjkim	xorl	%ebx,%esi
2806299481Sjkim	vpshufd	$250,%ymm1,%ymm7
2807299481Sjkim	xorl	%r13d,%r14d
2808299481Sjkim	leal	(%r11,%rsi,1),%r11d
2809299481Sjkim	movl	%r8d,%r12d
2810299481Sjkim	vpsrld	$11,%ymm6,%ymm6
2811299481Sjkim	addl	4+128(%rsp),%r10d
2812299481Sjkim	andl	%edx,%r12d
2813299481Sjkim	rorxl	$25,%edx,%r13d
2814299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2815299481Sjkim	rorxl	$11,%edx,%esi
2816299481Sjkim	leal	(%r11,%r14,1),%r11d
2817299481Sjkim	leal	(%r10,%r12,1),%r10d
2818299481Sjkim	vpslld	$11,%ymm5,%ymm5
2819299481Sjkim	andnl	%r9d,%edx,%r12d
2820299481Sjkim	xorl	%esi,%r13d
2821299481Sjkim	rorxl	$6,%edx,%r14d
2822299481Sjkim	vpxor	%ymm6,%ymm4,%ymm4
2823299481Sjkim	leal	(%r10,%r12,1),%r10d
2824299481Sjkim	xorl	%r14d,%r13d
2825299481Sjkim	movl	%r11d,%esi
2826299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2827299481Sjkim	rorxl	$22,%r11d,%r12d
2828299481Sjkim	leal	(%r10,%r13,1),%r10d
2829299481Sjkim	xorl	%eax,%esi
2830299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2831299481Sjkim	rorxl	$13,%r11d,%r14d
2832299481Sjkim	rorxl	$2,%r11d,%r13d
2833299481Sjkim	leal	(%rcx,%r10,1),%ecx
2834299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2835299481Sjkim	andl	%esi,%r15d
2836299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2837299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
2838299481Sjkim	xorl	%r12d,%r14d
2839299481Sjkim	xorl	%eax,%r15d
2840299481Sjkim	vpaddd	%ymm4,%ymm2,%ymm2
2841299481Sjkim	xorl	%r13d,%r14d
2842299481Sjkim	leal	(%r10,%r15,1),%r10d
2843299481Sjkim	movl	%edx,%r12d
2844299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2845299481Sjkim	addl	8+128(%rsp),%r9d
2846299481Sjkim	andl	%ecx,%r12d
2847299481Sjkim	rorxl	$25,%ecx,%r13d
2848299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2849299481Sjkim	rorxl	$11,%ecx,%r15d
2850299481Sjkim	leal	(%r10,%r14,1),%r10d
2851299481Sjkim	leal	(%r9,%r12,1),%r9d
2852299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2853299481Sjkim	andnl	%r8d,%ecx,%r12d
2854299481Sjkim	xorl	%r15d,%r13d
2855299481Sjkim	rorxl	$6,%ecx,%r14d
2856299481Sjkim	vpshufd	$132,%ymm6,%ymm6
2857299481Sjkim	leal	(%r9,%r12,1),%r9d
2858299481Sjkim	xorl	%r14d,%r13d
2859299481Sjkim	movl	%r10d,%r15d
2860299481Sjkim	vpsrldq	$8,%ymm6,%ymm6
2861299481Sjkim	rorxl	$22,%r10d,%r12d
2862299481Sjkim	leal	(%r9,%r13,1),%r9d
2863299481Sjkim	xorl	%r11d,%r15d
2864299481Sjkim	vpaddd	%ymm6,%ymm2,%ymm2
2865299481Sjkim	rorxl	$13,%r10d,%r14d
2866299481Sjkim	rorxl	$2,%r10d,%r13d
2867299481Sjkim	leal	(%rbx,%r9,1),%ebx
2868299481Sjkim	vpshufd	$80,%ymm2,%ymm7
2869299481Sjkim	andl	%r15d,%esi
2870299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2871299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
2872299481Sjkim	xorl	%r12d,%r14d
2873299481Sjkim	xorl	%r11d,%esi
2874299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2875299481Sjkim	xorl	%r13d,%r14d
2876299481Sjkim	leal	(%r9,%rsi,1),%r9d
2877299481Sjkim	movl	%ecx,%r12d
2878299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2879299481Sjkim	addl	12+128(%rsp),%r8d
2880299481Sjkim	andl	%ebx,%r12d
2881299481Sjkim	rorxl	$25,%ebx,%r13d
2882299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2883299481Sjkim	rorxl	$11,%ebx,%esi
2884299481Sjkim	leal	(%r9,%r14,1),%r9d
2885299481Sjkim	leal	(%r8,%r12,1),%r8d
2886299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2887299481Sjkim	andnl	%edx,%ebx,%r12d
2888299481Sjkim	xorl	%esi,%r13d
2889299481Sjkim	rorxl	$6,%ebx,%r14d
2890299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2891299481Sjkim	leal	(%r8,%r12,1),%r8d
2892299481Sjkim	xorl	%r14d,%r13d
2893299481Sjkim	movl	%r9d,%esi
2894299481Sjkim	vpshufd	$232,%ymm6,%ymm6
2895299481Sjkim	rorxl	$22,%r9d,%r12d
2896299481Sjkim	leal	(%r8,%r13,1),%r8d
2897299481Sjkim	xorl	%r10d,%esi
2898299481Sjkim	vpslldq	$8,%ymm6,%ymm6
2899299481Sjkim	rorxl	$13,%r9d,%r14d
2900299481Sjkim	rorxl	$2,%r9d,%r13d
2901299481Sjkim	leal	(%rax,%r8,1),%eax
2902299481Sjkim	vpaddd	%ymm6,%ymm2,%ymm2
2903299481Sjkim	andl	%esi,%r15d
2904299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
2905299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2906299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
2907299481Sjkim	xorl	%r12d,%r14d
2908299481Sjkim	xorl	%r10d,%r15d
2909299481Sjkim	vpaddd	64(%rbp),%ymm2,%ymm6
2910299481Sjkim	xorl	%r13d,%r14d
2911299481Sjkim	leal	(%r8,%r15,1),%r8d
2912299481Sjkim	movl	%ebx,%r12d
2913299481Sjkim	vmovdqa	%ymm6,0(%rsp)
2914299481Sjkim	vpalignr	$4,%ymm3,%ymm0,%ymm4
2915299481Sjkim	addl	32+128(%rsp),%edx
2916299481Sjkim	andl	%eax,%r12d
2917299481Sjkim	rorxl	$25,%eax,%r13d
2918299481Sjkim	vpalignr	$4,%ymm1,%ymm2,%ymm7
2919299481Sjkim	rorxl	$11,%eax,%r15d
2920299481Sjkim	leal	(%r8,%r14,1),%r8d
2921299481Sjkim	leal	(%rdx,%r12,1),%edx
2922299481Sjkim	vpsrld	$7,%ymm4,%ymm6
2923299481Sjkim	andnl	%ecx,%eax,%r12d
2924299481Sjkim	xorl	%r15d,%r13d
2925299481Sjkim	rorxl	$6,%eax,%r14d
2926299481Sjkim	vpaddd	%ymm7,%ymm3,%ymm3
2927299481Sjkim	leal	(%rdx,%r12,1),%edx
2928299481Sjkim	xorl	%r14d,%r13d
2929299481Sjkim	movl	%r8d,%r15d
2930299481Sjkim	vpsrld	$3,%ymm4,%ymm7
2931299481Sjkim	rorxl	$22,%r8d,%r12d
2932299481Sjkim	leal	(%rdx,%r13,1),%edx
2933299481Sjkim	xorl	%r9d,%r15d
2934299481Sjkim	vpslld	$14,%ymm4,%ymm5
2935299481Sjkim	rorxl	$13,%r8d,%r14d
2936299481Sjkim	rorxl	$2,%r8d,%r13d
2937299481Sjkim	leal	(%r11,%rdx,1),%r11d
2938299481Sjkim	vpxor	%ymm6,%ymm7,%ymm4
2939299481Sjkim	andl	%r15d,%esi
2940299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
2941299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2942299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
2943299481Sjkim	xorl	%r12d,%r14d
2944299481Sjkim	xorl	%r9d,%esi
2945299481Sjkim	vpshufd	$250,%ymm2,%ymm7
2946299481Sjkim	xorl	%r13d,%r14d
2947299481Sjkim	leal	(%rdx,%rsi,1),%edx
2948299481Sjkim	movl	%eax,%r12d
2949299481Sjkim	vpsrld	$11,%ymm6,%ymm6
2950299481Sjkim	addl	36+128(%rsp),%ecx
2951299481Sjkim	andl	%r11d,%r12d
2952299481Sjkim	rorxl	$25,%r11d,%r13d
2953299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2954299481Sjkim	rorxl	$11,%r11d,%esi
2955299481Sjkim	leal	(%rdx,%r14,1),%edx
2956299481Sjkim	leal	(%rcx,%r12,1),%ecx
2957299481Sjkim	vpslld	$11,%ymm5,%ymm5
2958299481Sjkim	andnl	%ebx,%r11d,%r12d
2959299481Sjkim	xorl	%esi,%r13d
2960299481Sjkim	rorxl	$6,%r11d,%r14d
2961299481Sjkim	vpxor	%ymm6,%ymm4,%ymm4
2962299481Sjkim	leal	(%rcx,%r12,1),%ecx
2963299481Sjkim	xorl	%r14d,%r13d
2964299481Sjkim	movl	%edx,%esi
2965299481Sjkim	vpsrld	$10,%ymm7,%ymm6
2966299481Sjkim	rorxl	$22,%edx,%r12d
2967299481Sjkim	leal	(%rcx,%r13,1),%ecx
2968299481Sjkim	xorl	%r8d,%esi
2969299481Sjkim	vpxor	%ymm5,%ymm4,%ymm4
2970299481Sjkim	rorxl	$13,%edx,%r14d
2971299481Sjkim	rorxl	$2,%edx,%r13d
2972299481Sjkim	leal	(%r10,%rcx,1),%r10d
2973299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
2974299481Sjkim	andl	%esi,%r15d
2975299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
2976299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
2977299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
2978299481Sjkim	xorl	%r12d,%r14d
2979299481Sjkim	xorl	%r8d,%r15d
2980299481Sjkim	vpaddd	%ymm4,%ymm3,%ymm3
2981299481Sjkim	xorl	%r13d,%r14d
2982299481Sjkim	leal	(%rcx,%r15,1),%ecx
2983299481Sjkim	movl	%r11d,%r12d
2984299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2985299481Sjkim	addl	40+128(%rsp),%ebx
2986299481Sjkim	andl	%r10d,%r12d
2987299481Sjkim	rorxl	$25,%r10d,%r13d
2988299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
2989299481Sjkim	rorxl	$11,%r10d,%r15d
2990299481Sjkim	leal	(%rcx,%r14,1),%ecx
2991299481Sjkim	leal	(%rbx,%r12,1),%ebx
2992299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
2993299481Sjkim	andnl	%eax,%r10d,%r12d
2994299481Sjkim	xorl	%r15d,%r13d
2995299481Sjkim	rorxl	$6,%r10d,%r14d
2996299481Sjkim	vpshufd	$132,%ymm6,%ymm6
2997299481Sjkim	leal	(%rbx,%r12,1),%ebx
2998299481Sjkim	xorl	%r14d,%r13d
2999299481Sjkim	movl	%ecx,%r15d
3000299481Sjkim	vpsrldq	$8,%ymm6,%ymm6
3001299481Sjkim	rorxl	$22,%ecx,%r12d
3002299481Sjkim	leal	(%rbx,%r13,1),%ebx
3003299481Sjkim	xorl	%edx,%r15d
3004299481Sjkim	vpaddd	%ymm6,%ymm3,%ymm3
3005299481Sjkim	rorxl	$13,%ecx,%r14d
3006299481Sjkim	rorxl	$2,%ecx,%r13d
3007299481Sjkim	leal	(%r9,%rbx,1),%r9d
3008299481Sjkim	vpshufd	$80,%ymm3,%ymm7
3009299481Sjkim	andl	%r15d,%esi
3010299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
3011299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3012299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
3013299481Sjkim	xorl	%r12d,%r14d
3014299481Sjkim	xorl	%edx,%esi
3015299481Sjkim	vpsrld	$10,%ymm7,%ymm6
3016299481Sjkim	xorl	%r13d,%r14d
3017299481Sjkim	leal	(%rbx,%rsi,1),%ebx
3018299481Sjkim	movl	%r10d,%r12d
3019299481Sjkim	vpsrlq	$17,%ymm7,%ymm7
3020299481Sjkim	addl	44+128(%rsp),%eax
3021299481Sjkim	andl	%r9d,%r12d
3022299481Sjkim	rorxl	$25,%r9d,%r13d
3023299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
3024299481Sjkim	rorxl	$11,%r9d,%esi
3025299481Sjkim	leal	(%rbx,%r14,1),%ebx
3026299481Sjkim	leal	(%rax,%r12,1),%eax
3027299481Sjkim	vpsrlq	$2,%ymm7,%ymm7
3028299481Sjkim	andnl	%r11d,%r9d,%r12d
3029299481Sjkim	xorl	%esi,%r13d
3030299481Sjkim	rorxl	$6,%r9d,%r14d
3031299481Sjkim	vpxor	%ymm7,%ymm6,%ymm6
3032299481Sjkim	leal	(%rax,%r12,1),%eax
3033299481Sjkim	xorl	%r14d,%r13d
3034299481Sjkim	movl	%ebx,%esi
3035299481Sjkim	vpshufd	$232,%ymm6,%ymm6
3036299481Sjkim	rorxl	$22,%ebx,%r12d
3037299481Sjkim	leal	(%rax,%r13,1),%eax
3038299481Sjkim	xorl	%ecx,%esi
3039299481Sjkim	vpslldq	$8,%ymm6,%ymm6
3040299481Sjkim	rorxl	$13,%ebx,%r14d
3041299481Sjkim	rorxl	$2,%ebx,%r13d
3042299481Sjkim	leal	(%r8,%rax,1),%r8d
3043299481Sjkim	vpaddd	%ymm6,%ymm3,%ymm3
3044299481Sjkim	andl	%esi,%r15d
3045299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
3046299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3047299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
3048299481Sjkim	xorl	%r12d,%r14d
3049299481Sjkim	xorl	%ecx,%r15d
3050299481Sjkim	vpaddd	96(%rbp),%ymm3,%ymm6
3051299481Sjkim	xorl	%r13d,%r14d
3052299481Sjkim	leal	(%rax,%r15,1),%eax
3053299481Sjkim	movl	%r9d,%r12d
3054299481Sjkim	vmovdqa	%ymm6,32(%rsp)
3055299481Sjkim	vmovq	%xmm15,%r13
3056299481Sjkim	vpextrq	$1,%xmm15,%r15
3057299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
3058299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
3059299481Sjkim	vmovdqu	%xmm8,(%r15,%r13,1)
3060299481Sjkim	leaq	16(%r13),%r13
3061299481Sjkim	leaq	128(%rbp),%rbp
3062299481Sjkim	cmpb	$0,3(%rbp)
3063299481Sjkim	jne	.Lavx2_00_47
3064299481Sjkim	vmovdqu	(%r13),%xmm9
3065299481Sjkim	vpinsrq	$0,%r13,%xmm15,%xmm15
3066299481Sjkim	addl	0+64(%rsp),%r11d
3067299481Sjkim	andl	%r8d,%r12d
3068299481Sjkim	rorxl	$25,%r8d,%r13d
3069299481Sjkim	rorxl	$11,%r8d,%r15d
3070299481Sjkim	leal	(%rax,%r14,1),%eax
3071299481Sjkim	leal	(%r11,%r12,1),%r11d
3072299481Sjkim	andnl	%r10d,%r8d,%r12d
3073299481Sjkim	xorl	%r15d,%r13d
3074299481Sjkim	rorxl	$6,%r8d,%r14d
3075299481Sjkim	leal	(%r11,%r12,1),%r11d
3076299481Sjkim	xorl	%r14d,%r13d
3077299481Sjkim	movl	%eax,%r15d
3078299481Sjkim	rorxl	$22,%eax,%r12d
3079299481Sjkim	leal	(%r11,%r13,1),%r11d
3080299481Sjkim	xorl	%ebx,%r15d
3081299481Sjkim	rorxl	$13,%eax,%r14d
3082299481Sjkim	rorxl	$2,%eax,%r13d
3083299481Sjkim	leal	(%rdx,%r11,1),%edx
3084299481Sjkim	andl	%r15d,%esi
3085299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
3086299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
3087299481Sjkim	xorl	%r12d,%r14d
3088299481Sjkim	xorl	%ebx,%esi
3089299481Sjkim	xorl	%r13d,%r14d
3090299481Sjkim	leal	(%r11,%rsi,1),%r11d
3091299481Sjkim	movl	%r8d,%r12d
3092299481Sjkim	addl	4+64(%rsp),%r10d
3093299481Sjkim	andl	%edx,%r12d
3094299481Sjkim	rorxl	$25,%edx,%r13d
3095299481Sjkim	rorxl	$11,%edx,%esi
3096299481Sjkim	leal	(%r11,%r14,1),%r11d
3097299481Sjkim	leal	(%r10,%r12,1),%r10d
3098299481Sjkim	andnl	%r9d,%edx,%r12d
3099299481Sjkim	xorl	%esi,%r13d
3100299481Sjkim	rorxl	$6,%edx,%r14d
3101299481Sjkim	leal	(%r10,%r12,1),%r10d
3102299481Sjkim	xorl	%r14d,%r13d
3103299481Sjkim	movl	%r11d,%esi
3104299481Sjkim	rorxl	$22,%r11d,%r12d
3105299481Sjkim	leal	(%r10,%r13,1),%r10d
3106299481Sjkim	xorl	%eax,%esi
3107299481Sjkim	rorxl	$13,%r11d,%r14d
3108299481Sjkim	rorxl	$2,%r11d,%r13d
3109299481Sjkim	leal	(%rcx,%r10,1),%ecx
3110299481Sjkim	andl	%esi,%r15d
3111299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
3112299481Sjkim	xorl	%r12d,%r14d
3113299481Sjkim	xorl	%eax,%r15d
3114299481Sjkim	xorl	%r13d,%r14d
3115299481Sjkim	leal	(%r10,%r15,1),%r10d
3116299481Sjkim	movl	%edx,%r12d
3117299481Sjkim	addl	8+64(%rsp),%r9d
3118299481Sjkim	andl	%ecx,%r12d
3119299481Sjkim	rorxl	$25,%ecx,%r13d
3120299481Sjkim	rorxl	$11,%ecx,%r15d
3121299481Sjkim	leal	(%r10,%r14,1),%r10d
3122299481Sjkim	leal	(%r9,%r12,1),%r9d
3123299481Sjkim	andnl	%r8d,%ecx,%r12d
3124299481Sjkim	xorl	%r15d,%r13d
3125299481Sjkim	rorxl	$6,%ecx,%r14d
3126299481Sjkim	leal	(%r9,%r12,1),%r9d
3127299481Sjkim	xorl	%r14d,%r13d
3128299481Sjkim	movl	%r10d,%r15d
3129299481Sjkim	rorxl	$22,%r10d,%r12d
3130299481Sjkim	leal	(%r9,%r13,1),%r9d
3131299481Sjkim	xorl	%r11d,%r15d
3132299481Sjkim	rorxl	$13,%r10d,%r14d
3133299481Sjkim	rorxl	$2,%r10d,%r13d
3134299481Sjkim	leal	(%rbx,%r9,1),%ebx
3135299481Sjkim	andl	%r15d,%esi
3136299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3137299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
3138299481Sjkim	xorl	%r12d,%r14d
3139299481Sjkim	xorl	%r11d,%esi
3140299481Sjkim	xorl	%r13d,%r14d
3141299481Sjkim	leal	(%r9,%rsi,1),%r9d
3142299481Sjkim	movl	%ecx,%r12d
3143299481Sjkim	addl	12+64(%rsp),%r8d
3144299481Sjkim	andl	%ebx,%r12d
3145299481Sjkim	rorxl	$25,%ebx,%r13d
3146299481Sjkim	rorxl	$11,%ebx,%esi
3147299481Sjkim	leal	(%r9,%r14,1),%r9d
3148299481Sjkim	leal	(%r8,%r12,1),%r8d
3149299481Sjkim	andnl	%edx,%ebx,%r12d
3150299481Sjkim	xorl	%esi,%r13d
3151299481Sjkim	rorxl	$6,%ebx,%r14d
3152299481Sjkim	leal	(%r8,%r12,1),%r8d
3153299481Sjkim	xorl	%r14d,%r13d
3154299481Sjkim	movl	%r9d,%esi
3155299481Sjkim	rorxl	$22,%r9d,%r12d
3156299481Sjkim	leal	(%r8,%r13,1),%r8d
3157299481Sjkim	xorl	%r10d,%esi
3158299481Sjkim	rorxl	$13,%r9d,%r14d
3159299481Sjkim	rorxl	$2,%r9d,%r13d
3160299481Sjkim	leal	(%rax,%r8,1),%eax
3161299481Sjkim	andl	%esi,%r15d
3162299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3163299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
3164299481Sjkim	xorl	%r12d,%r14d
3165299481Sjkim	xorl	%r10d,%r15d
3166299481Sjkim	xorl	%r13d,%r14d
3167299481Sjkim	leal	(%r8,%r15,1),%r8d
3168299481Sjkim	movl	%ebx,%r12d
3169299481Sjkim	addl	32+64(%rsp),%edx
3170299481Sjkim	andl	%eax,%r12d
3171299481Sjkim	rorxl	$25,%eax,%r13d
3172299481Sjkim	rorxl	$11,%eax,%r15d
3173299481Sjkim	leal	(%r8,%r14,1),%r8d
3174299481Sjkim	leal	(%rdx,%r12,1),%edx
3175299481Sjkim	andnl	%ecx,%eax,%r12d
3176299481Sjkim	xorl	%r15d,%r13d
3177299481Sjkim	rorxl	$6,%eax,%r14d
3178299481Sjkim	leal	(%rdx,%r12,1),%edx
3179299481Sjkim	xorl	%r14d,%r13d
3180299481Sjkim	movl	%r8d,%r15d
3181299481Sjkim	rorxl	$22,%r8d,%r12d
3182299481Sjkim	leal	(%rdx,%r13,1),%edx
3183299481Sjkim	xorl	%r9d,%r15d
3184299481Sjkim	rorxl	$13,%r8d,%r14d
3185299481Sjkim	rorxl	$2,%r8d,%r13d
3186299481Sjkim	leal	(%r11,%rdx,1),%r11d
3187299481Sjkim	andl	%r15d,%esi
3188299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3189299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
3190299481Sjkim	xorl	%r12d,%r14d
3191299481Sjkim	xorl	%r9d,%esi
3192299481Sjkim	xorl	%r13d,%r14d
3193299481Sjkim	leal	(%rdx,%rsi,1),%edx
3194299481Sjkim	movl	%eax,%r12d
3195299481Sjkim	addl	36+64(%rsp),%ecx
3196299481Sjkim	andl	%r11d,%r12d
3197299481Sjkim	rorxl	$25,%r11d,%r13d
3198299481Sjkim	rorxl	$11,%r11d,%esi
3199299481Sjkim	leal	(%rdx,%r14,1),%edx
3200299481Sjkim	leal	(%rcx,%r12,1),%ecx
3201299481Sjkim	andnl	%ebx,%r11d,%r12d
3202299481Sjkim	xorl	%esi,%r13d
3203299481Sjkim	rorxl	$6,%r11d,%r14d
3204299481Sjkim	leal	(%rcx,%r12,1),%ecx
3205299481Sjkim	xorl	%r14d,%r13d
3206299481Sjkim	movl	%edx,%esi
3207299481Sjkim	rorxl	$22,%edx,%r12d
3208299481Sjkim	leal	(%rcx,%r13,1),%ecx
3209299481Sjkim	xorl	%r8d,%esi
3210299481Sjkim	rorxl	$13,%edx,%r14d
3211299481Sjkim	rorxl	$2,%edx,%r13d
3212299481Sjkim	leal	(%r10,%rcx,1),%r10d
3213299481Sjkim	andl	%esi,%r15d
3214299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3215299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
3216299481Sjkim	xorl	%r12d,%r14d
3217299481Sjkim	xorl	%r8d,%r15d
3218299481Sjkim	xorl	%r13d,%r14d
3219299481Sjkim	leal	(%rcx,%r15,1),%ecx
3220299481Sjkim	movl	%r11d,%r12d
3221299481Sjkim	addl	40+64(%rsp),%ebx
3222299481Sjkim	andl	%r10d,%r12d
3223299481Sjkim	rorxl	$25,%r10d,%r13d
3224299481Sjkim	rorxl	$11,%r10d,%r15d
3225299481Sjkim	leal	(%rcx,%r14,1),%ecx
3226299481Sjkim	leal	(%rbx,%r12,1),%ebx
3227299481Sjkim	andnl	%eax,%r10d,%r12d
3228299481Sjkim	xorl	%r15d,%r13d
3229299481Sjkim	rorxl	$6,%r10d,%r14d
3230299481Sjkim	leal	(%rbx,%r12,1),%ebx
3231299481Sjkim	xorl	%r14d,%r13d
3232299481Sjkim	movl	%ecx,%r15d
3233299481Sjkim	rorxl	$22,%ecx,%r12d
3234299481Sjkim	leal	(%rbx,%r13,1),%ebx
3235299481Sjkim	xorl	%edx,%r15d
3236299481Sjkim	rorxl	$13,%ecx,%r14d
3237299481Sjkim	rorxl	$2,%ecx,%r13d
3238299481Sjkim	leal	(%r9,%rbx,1),%r9d
3239299481Sjkim	andl	%r15d,%esi
3240299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3241299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
3242299481Sjkim	xorl	%r12d,%r14d
3243299481Sjkim	xorl	%edx,%esi
3244299481Sjkim	xorl	%r13d,%r14d
3245299481Sjkim	leal	(%rbx,%rsi,1),%ebx
3246299481Sjkim	movl	%r10d,%r12d
3247299481Sjkim	addl	44+64(%rsp),%eax
3248299481Sjkim	andl	%r9d,%r12d
3249299481Sjkim	rorxl	$25,%r9d,%r13d
3250299481Sjkim	rorxl	$11,%r9d,%esi
3251299481Sjkim	leal	(%rbx,%r14,1),%ebx
3252299481Sjkim	leal	(%rax,%r12,1),%eax
3253299481Sjkim	andnl	%r11d,%r9d,%r12d
3254299481Sjkim	xorl	%esi,%r13d
3255299481Sjkim	rorxl	$6,%r9d,%r14d
3256299481Sjkim	leal	(%rax,%r12,1),%eax
3257299481Sjkim	xorl	%r14d,%r13d
3258299481Sjkim	movl	%ebx,%esi
3259299481Sjkim	rorxl	$22,%ebx,%r12d
3260299481Sjkim	leal	(%rax,%r13,1),%eax
3261299481Sjkim	xorl	%ecx,%esi
3262299481Sjkim	rorxl	$13,%ebx,%r14d
3263299481Sjkim	rorxl	$2,%ebx,%r13d
3264299481Sjkim	leal	(%r8,%rax,1),%r8d
3265299481Sjkim	andl	%esi,%r15d
3266299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3267299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
3268299481Sjkim	xorl	%r12d,%r14d
3269299481Sjkim	xorl	%ecx,%r15d
3270299481Sjkim	xorl	%r13d,%r14d
3271299481Sjkim	leal	(%rax,%r15,1),%eax
3272299481Sjkim	movl	%r9d,%r12d
3273299481Sjkim	addl	0(%rsp),%r11d
3274299481Sjkim	andl	%r8d,%r12d
3275299481Sjkim	rorxl	$25,%r8d,%r13d
3276299481Sjkim	rorxl	$11,%r8d,%r15d
3277299481Sjkim	leal	(%rax,%r14,1),%eax
3278299481Sjkim	leal	(%r11,%r12,1),%r11d
3279299481Sjkim	andnl	%r10d,%r8d,%r12d
3280299481Sjkim	xorl	%r15d,%r13d
3281299481Sjkim	rorxl	$6,%r8d,%r14d
3282299481Sjkim	leal	(%r11,%r12,1),%r11d
3283299481Sjkim	xorl	%r14d,%r13d
3284299481Sjkim	movl	%eax,%r15d
3285299481Sjkim	rorxl	$22,%eax,%r12d
3286299481Sjkim	leal	(%r11,%r13,1),%r11d
3287299481Sjkim	xorl	%ebx,%r15d
3288299481Sjkim	rorxl	$13,%eax,%r14d
3289299481Sjkim	rorxl	$2,%eax,%r13d
3290299481Sjkim	leal	(%rdx,%r11,1),%edx
3291299481Sjkim	andl	%r15d,%esi
3292299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3293299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
3294299481Sjkim	xorl	%r12d,%r14d
3295299481Sjkim	xorl	%ebx,%esi
3296299481Sjkim	xorl	%r13d,%r14d
3297299481Sjkim	leal	(%r11,%rsi,1),%r11d
3298299481Sjkim	movl	%r8d,%r12d
3299299481Sjkim	addl	4(%rsp),%r10d
3300299481Sjkim	andl	%edx,%r12d
3301299481Sjkim	rorxl	$25,%edx,%r13d
3302299481Sjkim	rorxl	$11,%edx,%esi
3303299481Sjkim	leal	(%r11,%r14,1),%r11d
3304299481Sjkim	leal	(%r10,%r12,1),%r10d
3305299481Sjkim	andnl	%r9d,%edx,%r12d
3306299481Sjkim	xorl	%esi,%r13d
3307299481Sjkim	rorxl	$6,%edx,%r14d
3308299481Sjkim	leal	(%r10,%r12,1),%r10d
3309299481Sjkim	xorl	%r14d,%r13d
3310299481Sjkim	movl	%r11d,%esi
3311299481Sjkim	rorxl	$22,%r11d,%r12d
3312299481Sjkim	leal	(%r10,%r13,1),%r10d
3313299481Sjkim	xorl	%eax,%esi
3314299481Sjkim	rorxl	$13,%r11d,%r14d
3315299481Sjkim	rorxl	$2,%r11d,%r13d
3316299481Sjkim	leal	(%rcx,%r10,1),%ecx
3317299481Sjkim	andl	%esi,%r15d
3318299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3319299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
3320299481Sjkim	xorl	%r12d,%r14d
3321299481Sjkim	xorl	%eax,%r15d
3322299481Sjkim	xorl	%r13d,%r14d
3323299481Sjkim	leal	(%r10,%r15,1),%r10d
3324299481Sjkim	movl	%edx,%r12d
3325299481Sjkim	addl	8(%rsp),%r9d
3326299481Sjkim	andl	%ecx,%r12d
3327299481Sjkim	rorxl	$25,%ecx,%r13d
3328299481Sjkim	rorxl	$11,%ecx,%r15d
3329299481Sjkim	leal	(%r10,%r14,1),%r10d
3330299481Sjkim	leal	(%r9,%r12,1),%r9d
3331299481Sjkim	andnl	%r8d,%ecx,%r12d
3332299481Sjkim	xorl	%r15d,%r13d
3333299481Sjkim	rorxl	$6,%ecx,%r14d
3334299481Sjkim	leal	(%r9,%r12,1),%r9d
3335299481Sjkim	xorl	%r14d,%r13d
3336299481Sjkim	movl	%r10d,%r15d
3337299481Sjkim	rorxl	$22,%r10d,%r12d
3338299481Sjkim	leal	(%r9,%r13,1),%r9d
3339299481Sjkim	xorl	%r11d,%r15d
3340299481Sjkim	rorxl	$13,%r10d,%r14d
3341299481Sjkim	rorxl	$2,%r10d,%r13d
3342299481Sjkim	leal	(%rbx,%r9,1),%ebx
3343299481Sjkim	andl	%r15d,%esi
3344299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3345299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
3346299481Sjkim	xorl	%r12d,%r14d
3347299481Sjkim	xorl	%r11d,%esi
3348299481Sjkim	xorl	%r13d,%r14d
3349299481Sjkim	leal	(%r9,%rsi,1),%r9d
3350299481Sjkim	movl	%ecx,%r12d
3351299481Sjkim	addl	12(%rsp),%r8d
3352299481Sjkim	andl	%ebx,%r12d
3353299481Sjkim	rorxl	$25,%ebx,%r13d
3354299481Sjkim	rorxl	$11,%ebx,%esi
3355299481Sjkim	leal	(%r9,%r14,1),%r9d
3356299481Sjkim	leal	(%r8,%r12,1),%r8d
3357299481Sjkim	andnl	%edx,%ebx,%r12d
3358299481Sjkim	xorl	%esi,%r13d
3359299481Sjkim	rorxl	$6,%ebx,%r14d
3360299481Sjkim	leal	(%r8,%r12,1),%r8d
3361299481Sjkim	xorl	%r14d,%r13d
3362299481Sjkim	movl	%r9d,%esi
3363299481Sjkim	rorxl	$22,%r9d,%r12d
3364299481Sjkim	leal	(%r8,%r13,1),%r8d
3365299481Sjkim	xorl	%r10d,%esi
3366299481Sjkim	rorxl	$13,%r9d,%r14d
3367299481Sjkim	rorxl	$2,%r9d,%r13d
3368299481Sjkim	leal	(%rax,%r8,1),%eax
3369299481Sjkim	andl	%esi,%r15d
3370299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3371299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3372299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
3373299481Sjkim	xorl	%r12d,%r14d
3374299481Sjkim	xorl	%r10d,%r15d
3375299481Sjkim	xorl	%r13d,%r14d
3376299481Sjkim	leal	(%r8,%r15,1),%r8d
3377299481Sjkim	movl	%ebx,%r12d
3378299481Sjkim	addl	32(%rsp),%edx
3379299481Sjkim	andl	%eax,%r12d
3380299481Sjkim	rorxl	$25,%eax,%r13d
3381299481Sjkim	rorxl	$11,%eax,%r15d
3382299481Sjkim	leal	(%r8,%r14,1),%r8d
3383299481Sjkim	leal	(%rdx,%r12,1),%edx
3384299481Sjkim	andnl	%ecx,%eax,%r12d
3385299481Sjkim	xorl	%r15d,%r13d
3386299481Sjkim	rorxl	$6,%eax,%r14d
3387299481Sjkim	leal	(%rdx,%r12,1),%edx
3388299481Sjkim	xorl	%r14d,%r13d
3389299481Sjkim	movl	%r8d,%r15d
3390299481Sjkim	rorxl	$22,%r8d,%r12d
3391299481Sjkim	leal	(%rdx,%r13,1),%edx
3392299481Sjkim	xorl	%r9d,%r15d
3393299481Sjkim	rorxl	$13,%r8d,%r14d
3394299481Sjkim	rorxl	$2,%r8d,%r13d
3395299481Sjkim	leal	(%r11,%rdx,1),%r11d
3396299481Sjkim	andl	%r15d,%esi
3397299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
3398299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3399299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
3400299481Sjkim	xorl	%r12d,%r14d
3401299481Sjkim	xorl	%r9d,%esi
3402299481Sjkim	xorl	%r13d,%r14d
3403299481Sjkim	leal	(%rdx,%rsi,1),%edx
3404299481Sjkim	movl	%eax,%r12d
3405299481Sjkim	addl	36(%rsp),%ecx
3406299481Sjkim	andl	%r11d,%r12d
3407299481Sjkim	rorxl	$25,%r11d,%r13d
3408299481Sjkim	rorxl	$11,%r11d,%esi
3409299481Sjkim	leal	(%rdx,%r14,1),%edx
3410299481Sjkim	leal	(%rcx,%r12,1),%ecx
3411299481Sjkim	andnl	%ebx,%r11d,%r12d
3412299481Sjkim	xorl	%esi,%r13d
3413299481Sjkim	rorxl	$6,%r11d,%r14d
3414299481Sjkim	leal	(%rcx,%r12,1),%ecx
3415299481Sjkim	xorl	%r14d,%r13d
3416299481Sjkim	movl	%edx,%esi
3417299481Sjkim	rorxl	$22,%edx,%r12d
3418299481Sjkim	leal	(%rcx,%r13,1),%ecx
3419299481Sjkim	xorl	%r8d,%esi
3420299481Sjkim	rorxl	$13,%edx,%r14d
3421299481Sjkim	rorxl	$2,%edx,%r13d
3422299481Sjkim	leal	(%r10,%rcx,1),%r10d
3423299481Sjkim	andl	%esi,%r15d
3424299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3425299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3426299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
3427299481Sjkim	xorl	%r12d,%r14d
3428299481Sjkim	xorl	%r8d,%r15d
3429299481Sjkim	xorl	%r13d,%r14d
3430299481Sjkim	leal	(%rcx,%r15,1),%ecx
3431299481Sjkim	movl	%r11d,%r12d
3432299481Sjkim	addl	40(%rsp),%ebx
3433299481Sjkim	andl	%r10d,%r12d
3434299481Sjkim	rorxl	$25,%r10d,%r13d
3435299481Sjkim	rorxl	$11,%r10d,%r15d
3436299481Sjkim	leal	(%rcx,%r14,1),%ecx
3437299481Sjkim	leal	(%rbx,%r12,1),%ebx
3438299481Sjkim	andnl	%eax,%r10d,%r12d
3439299481Sjkim	xorl	%r15d,%r13d
3440299481Sjkim	rorxl	$6,%r10d,%r14d
3441299481Sjkim	leal	(%rbx,%r12,1),%ebx
3442299481Sjkim	xorl	%r14d,%r13d
3443299481Sjkim	movl	%ecx,%r15d
3444299481Sjkim	rorxl	$22,%ecx,%r12d
3445299481Sjkim	leal	(%rbx,%r13,1),%ebx
3446299481Sjkim	xorl	%edx,%r15d
3447299481Sjkim	rorxl	$13,%ecx,%r14d
3448299481Sjkim	rorxl	$2,%ecx,%r13d
3449299481Sjkim	leal	(%r9,%rbx,1),%r9d
3450299481Sjkim	andl	%r15d,%esi
3451299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
3452299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3453299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
3454299481Sjkim	xorl	%r12d,%r14d
3455299481Sjkim	xorl	%edx,%esi
3456299481Sjkim	xorl	%r13d,%r14d
3457299481Sjkim	leal	(%rbx,%rsi,1),%ebx
3458299481Sjkim	movl	%r10d,%r12d
3459299481Sjkim	addl	44(%rsp),%eax
3460299481Sjkim	andl	%r9d,%r12d
3461299481Sjkim	rorxl	$25,%r9d,%r13d
3462299481Sjkim	rorxl	$11,%r9d,%esi
3463299481Sjkim	leal	(%rbx,%r14,1),%ebx
3464299481Sjkim	leal	(%rax,%r12,1),%eax
3465299481Sjkim	andnl	%r11d,%r9d,%r12d
3466299481Sjkim	xorl	%esi,%r13d
3467299481Sjkim	rorxl	$6,%r9d,%r14d
3468299481Sjkim	leal	(%rax,%r12,1),%eax
3469299481Sjkim	xorl	%r14d,%r13d
3470299481Sjkim	movl	%ebx,%esi
3471299481Sjkim	rorxl	$22,%ebx,%r12d
3472299481Sjkim	leal	(%rax,%r13,1),%eax
3473299481Sjkim	xorl	%ecx,%esi
3474299481Sjkim	rorxl	$13,%ebx,%r14d
3475299481Sjkim	rorxl	$2,%ebx,%r13d
3476299481Sjkim	leal	(%r8,%rax,1),%r8d
3477299481Sjkim	andl	%esi,%r15d
3478299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
3479299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3480299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
3481299481Sjkim	xorl	%r12d,%r14d
3482299481Sjkim	xorl	%ecx,%r15d
3483299481Sjkim	xorl	%r13d,%r14d
3484299481Sjkim	leal	(%rax,%r15,1),%eax
3485299481Sjkim	movl	%r9d,%r12d
3486299481Sjkim	vpextrq	$1,%xmm15,%r12
3487299481Sjkim	vmovq	%xmm15,%r13
3488299481Sjkim	movq	552(%rsp),%r15
3489299481Sjkim	addl	%r14d,%eax
3490299481Sjkim	leaq	448(%rsp),%rbp
3491299481Sjkim
3492299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
3493299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
3494299481Sjkim	vmovdqu	%xmm8,(%r12,%r13,1)
3495299481Sjkim	leaq	16(%r13),%r13
3496299481Sjkim
3497299481Sjkim	addl	0(%r15),%eax
3498299481Sjkim	addl	4(%r15),%ebx
3499299481Sjkim	addl	8(%r15),%ecx
3500299481Sjkim	addl	12(%r15),%edx
3501299481Sjkim	addl	16(%r15),%r8d
3502299481Sjkim	addl	20(%r15),%r9d
3503299481Sjkim	addl	24(%r15),%r10d
3504299481Sjkim	addl	28(%r15),%r11d
3505299481Sjkim
3506299481Sjkim	movl	%eax,0(%r15)
3507299481Sjkim	movl	%ebx,4(%r15)
3508299481Sjkim	movl	%ecx,8(%r15)
3509299481Sjkim	movl	%edx,12(%r15)
3510299481Sjkim	movl	%r8d,16(%r15)
3511299481Sjkim	movl	%r9d,20(%r15)
3512299481Sjkim	movl	%r10d,24(%r15)
3513299481Sjkim	movl	%r11d,28(%r15)
3514299481Sjkim
3515299481Sjkim	cmpq	80(%rbp),%r13
3516299481Sjkim	je	.Ldone_avx2
3517299481Sjkim
3518299481Sjkim	xorl	%r14d,%r14d
3519299481Sjkim	movl	%ebx,%esi
3520299481Sjkim	movl	%r9d,%r12d
3521299481Sjkim	xorl	%ecx,%esi
3522299481Sjkim	jmp	.Lower_avx2
3523299481Sjkim.align	16
3524299481Sjkim.Lower_avx2:
3525299481Sjkim	vmovdqu	(%r13),%xmm9
3526299481Sjkim	vpinsrq	$0,%r13,%xmm15,%xmm15
3527299481Sjkim	addl	0+16(%rbp),%r11d
3528299481Sjkim	andl	%r8d,%r12d
3529299481Sjkim	rorxl	$25,%r8d,%r13d
3530299481Sjkim	rorxl	$11,%r8d,%r15d
3531299481Sjkim	leal	(%rax,%r14,1),%eax
3532299481Sjkim	leal	(%r11,%r12,1),%r11d
3533299481Sjkim	andnl	%r10d,%r8d,%r12d
3534299481Sjkim	xorl	%r15d,%r13d
3535299481Sjkim	rorxl	$6,%r8d,%r14d
3536299481Sjkim	leal	(%r11,%r12,1),%r11d
3537299481Sjkim	xorl	%r14d,%r13d
3538299481Sjkim	movl	%eax,%r15d
3539299481Sjkim	rorxl	$22,%eax,%r12d
3540299481Sjkim	leal	(%r11,%r13,1),%r11d
3541299481Sjkim	xorl	%ebx,%r15d
3542299481Sjkim	rorxl	$13,%eax,%r14d
3543299481Sjkim	rorxl	$2,%eax,%r13d
3544299481Sjkim	leal	(%rdx,%r11,1),%edx
3545299481Sjkim	andl	%r15d,%esi
3546299481Sjkim	vpxor	%xmm10,%xmm9,%xmm9
3547299481Sjkim	vmovdqu	16-128(%rdi),%xmm10
3548299481Sjkim	xorl	%r12d,%r14d
3549299481Sjkim	xorl	%ebx,%esi
3550299481Sjkim	xorl	%r13d,%r14d
3551299481Sjkim	leal	(%r11,%rsi,1),%r11d
3552299481Sjkim	movl	%r8d,%r12d
3553299481Sjkim	addl	4+16(%rbp),%r10d
3554299481Sjkim	andl	%edx,%r12d
3555299481Sjkim	rorxl	$25,%edx,%r13d
3556299481Sjkim	rorxl	$11,%edx,%esi
3557299481Sjkim	leal	(%r11,%r14,1),%r11d
3558299481Sjkim	leal	(%r10,%r12,1),%r10d
3559299481Sjkim	andnl	%r9d,%edx,%r12d
3560299481Sjkim	xorl	%esi,%r13d
3561299481Sjkim	rorxl	$6,%edx,%r14d
3562299481Sjkim	leal	(%r10,%r12,1),%r10d
3563299481Sjkim	xorl	%r14d,%r13d
3564299481Sjkim	movl	%r11d,%esi
3565299481Sjkim	rorxl	$22,%r11d,%r12d
3566299481Sjkim	leal	(%r10,%r13,1),%r10d
3567299481Sjkim	xorl	%eax,%esi
3568299481Sjkim	rorxl	$13,%r11d,%r14d
3569299481Sjkim	rorxl	$2,%r11d,%r13d
3570299481Sjkim	leal	(%rcx,%r10,1),%ecx
3571299481Sjkim	andl	%esi,%r15d
3572299481Sjkim	vpxor	%xmm8,%xmm9,%xmm9
3573299481Sjkim	xorl	%r12d,%r14d
3574299481Sjkim	xorl	%eax,%r15d
3575299481Sjkim	xorl	%r13d,%r14d
3576299481Sjkim	leal	(%r10,%r15,1),%r10d
3577299481Sjkim	movl	%edx,%r12d
3578299481Sjkim	addl	8+16(%rbp),%r9d
3579299481Sjkim	andl	%ecx,%r12d
3580299481Sjkim	rorxl	$25,%ecx,%r13d
3581299481Sjkim	rorxl	$11,%ecx,%r15d
3582299481Sjkim	leal	(%r10,%r14,1),%r10d
3583299481Sjkim	leal	(%r9,%r12,1),%r9d
3584299481Sjkim	andnl	%r8d,%ecx,%r12d
3585299481Sjkim	xorl	%r15d,%r13d
3586299481Sjkim	rorxl	$6,%ecx,%r14d
3587299481Sjkim	leal	(%r9,%r12,1),%r9d
3588299481Sjkim	xorl	%r14d,%r13d
3589299481Sjkim	movl	%r10d,%r15d
3590299481Sjkim	rorxl	$22,%r10d,%r12d
3591299481Sjkim	leal	(%r9,%r13,1),%r9d
3592299481Sjkim	xorl	%r11d,%r15d
3593299481Sjkim	rorxl	$13,%r10d,%r14d
3594299481Sjkim	rorxl	$2,%r10d,%r13d
3595299481Sjkim	leal	(%rbx,%r9,1),%ebx
3596299481Sjkim	andl	%r15d,%esi
3597299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3598299481Sjkim	vmovdqu	32-128(%rdi),%xmm10
3599299481Sjkim	xorl	%r12d,%r14d
3600299481Sjkim	xorl	%r11d,%esi
3601299481Sjkim	xorl	%r13d,%r14d
3602299481Sjkim	leal	(%r9,%rsi,1),%r9d
3603299481Sjkim	movl	%ecx,%r12d
3604299481Sjkim	addl	12+16(%rbp),%r8d
3605299481Sjkim	andl	%ebx,%r12d
3606299481Sjkim	rorxl	$25,%ebx,%r13d
3607299481Sjkim	rorxl	$11,%ebx,%esi
3608299481Sjkim	leal	(%r9,%r14,1),%r9d
3609299481Sjkim	leal	(%r8,%r12,1),%r8d
3610299481Sjkim	andnl	%edx,%ebx,%r12d
3611299481Sjkim	xorl	%esi,%r13d
3612299481Sjkim	rorxl	$6,%ebx,%r14d
3613299481Sjkim	leal	(%r8,%r12,1),%r8d
3614299481Sjkim	xorl	%r14d,%r13d
3615299481Sjkim	movl	%r9d,%esi
3616299481Sjkim	rorxl	$22,%r9d,%r12d
3617299481Sjkim	leal	(%r8,%r13,1),%r8d
3618299481Sjkim	xorl	%r10d,%esi
3619299481Sjkim	rorxl	$13,%r9d,%r14d
3620299481Sjkim	rorxl	$2,%r9d,%r13d
3621299481Sjkim	leal	(%rax,%r8,1),%eax
3622299481Sjkim	andl	%esi,%r15d
3623299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3624299481Sjkim	vmovdqu	48-128(%rdi),%xmm10
3625299481Sjkim	xorl	%r12d,%r14d
3626299481Sjkim	xorl	%r10d,%r15d
3627299481Sjkim	xorl	%r13d,%r14d
3628299481Sjkim	leal	(%r8,%r15,1),%r8d
3629299481Sjkim	movl	%ebx,%r12d
3630299481Sjkim	addl	32+16(%rbp),%edx
3631299481Sjkim	andl	%eax,%r12d
3632299481Sjkim	rorxl	$25,%eax,%r13d
3633299481Sjkim	rorxl	$11,%eax,%r15d
3634299481Sjkim	leal	(%r8,%r14,1),%r8d
3635299481Sjkim	leal	(%rdx,%r12,1),%edx
3636299481Sjkim	andnl	%ecx,%eax,%r12d
3637299481Sjkim	xorl	%r15d,%r13d
3638299481Sjkim	rorxl	$6,%eax,%r14d
3639299481Sjkim	leal	(%rdx,%r12,1),%edx
3640299481Sjkim	xorl	%r14d,%r13d
3641299481Sjkim	movl	%r8d,%r15d
3642299481Sjkim	rorxl	$22,%r8d,%r12d
3643299481Sjkim	leal	(%rdx,%r13,1),%edx
3644299481Sjkim	xorl	%r9d,%r15d
3645299481Sjkim	rorxl	$13,%r8d,%r14d
3646299481Sjkim	rorxl	$2,%r8d,%r13d
3647299481Sjkim	leal	(%r11,%rdx,1),%r11d
3648299481Sjkim	andl	%r15d,%esi
3649299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3650299481Sjkim	vmovdqu	64-128(%rdi),%xmm10
3651299481Sjkim	xorl	%r12d,%r14d
3652299481Sjkim	xorl	%r9d,%esi
3653299481Sjkim	xorl	%r13d,%r14d
3654299481Sjkim	leal	(%rdx,%rsi,1),%edx
3655299481Sjkim	movl	%eax,%r12d
3656299481Sjkim	addl	36+16(%rbp),%ecx
3657299481Sjkim	andl	%r11d,%r12d
3658299481Sjkim	rorxl	$25,%r11d,%r13d
3659299481Sjkim	rorxl	$11,%r11d,%esi
3660299481Sjkim	leal	(%rdx,%r14,1),%edx
3661299481Sjkim	leal	(%rcx,%r12,1),%ecx
3662299481Sjkim	andnl	%ebx,%r11d,%r12d
3663299481Sjkim	xorl	%esi,%r13d
3664299481Sjkim	rorxl	$6,%r11d,%r14d
3665299481Sjkim	leal	(%rcx,%r12,1),%ecx
3666299481Sjkim	xorl	%r14d,%r13d
3667299481Sjkim	movl	%edx,%esi
3668299481Sjkim	rorxl	$22,%edx,%r12d
3669299481Sjkim	leal	(%rcx,%r13,1),%ecx
3670299481Sjkim	xorl	%r8d,%esi
3671299481Sjkim	rorxl	$13,%edx,%r14d
3672299481Sjkim	rorxl	$2,%edx,%r13d
3673299481Sjkim	leal	(%r10,%rcx,1),%r10d
3674299481Sjkim	andl	%esi,%r15d
3675299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3676299481Sjkim	vmovdqu	80-128(%rdi),%xmm10
3677299481Sjkim	xorl	%r12d,%r14d
3678299481Sjkim	xorl	%r8d,%r15d
3679299481Sjkim	xorl	%r13d,%r14d
3680299481Sjkim	leal	(%rcx,%r15,1),%ecx
3681299481Sjkim	movl	%r11d,%r12d
3682299481Sjkim	addl	40+16(%rbp),%ebx
3683299481Sjkim	andl	%r10d,%r12d
3684299481Sjkim	rorxl	$25,%r10d,%r13d
3685299481Sjkim	rorxl	$11,%r10d,%r15d
3686299481Sjkim	leal	(%rcx,%r14,1),%ecx
3687299481Sjkim	leal	(%rbx,%r12,1),%ebx
3688299481Sjkim	andnl	%eax,%r10d,%r12d
3689299481Sjkim	xorl	%r15d,%r13d
3690299481Sjkim	rorxl	$6,%r10d,%r14d
3691299481Sjkim	leal	(%rbx,%r12,1),%ebx
3692299481Sjkim	xorl	%r14d,%r13d
3693299481Sjkim	movl	%ecx,%r15d
3694299481Sjkim	rorxl	$22,%ecx,%r12d
3695299481Sjkim	leal	(%rbx,%r13,1),%ebx
3696299481Sjkim	xorl	%edx,%r15d
3697299481Sjkim	rorxl	$13,%ecx,%r14d
3698299481Sjkim	rorxl	$2,%ecx,%r13d
3699299481Sjkim	leal	(%r9,%rbx,1),%r9d
3700299481Sjkim	andl	%r15d,%esi
3701299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3702299481Sjkim	vmovdqu	96-128(%rdi),%xmm10
3703299481Sjkim	xorl	%r12d,%r14d
3704299481Sjkim	xorl	%edx,%esi
3705299481Sjkim	xorl	%r13d,%r14d
3706299481Sjkim	leal	(%rbx,%rsi,1),%ebx
3707299481Sjkim	movl	%r10d,%r12d
3708299481Sjkim	addl	44+16(%rbp),%eax
3709299481Sjkim	andl	%r9d,%r12d
3710299481Sjkim	rorxl	$25,%r9d,%r13d
3711299481Sjkim	rorxl	$11,%r9d,%esi
3712299481Sjkim	leal	(%rbx,%r14,1),%ebx
3713299481Sjkim	leal	(%rax,%r12,1),%eax
3714299481Sjkim	andnl	%r11d,%r9d,%r12d
3715299481Sjkim	xorl	%esi,%r13d
3716299481Sjkim	rorxl	$6,%r9d,%r14d
3717299481Sjkim	leal	(%rax,%r12,1),%eax
3718299481Sjkim	xorl	%r14d,%r13d
3719299481Sjkim	movl	%ebx,%esi
3720299481Sjkim	rorxl	$22,%ebx,%r12d
3721299481Sjkim	leal	(%rax,%r13,1),%eax
3722299481Sjkim	xorl	%ecx,%esi
3723299481Sjkim	rorxl	$13,%ebx,%r14d
3724299481Sjkim	rorxl	$2,%ebx,%r13d
3725299481Sjkim	leal	(%r8,%rax,1),%r8d
3726299481Sjkim	andl	%esi,%r15d
3727299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3728299481Sjkim	vmovdqu	112-128(%rdi),%xmm10
3729299481Sjkim	xorl	%r12d,%r14d
3730299481Sjkim	xorl	%ecx,%r15d
3731299481Sjkim	xorl	%r13d,%r14d
3732299481Sjkim	leal	(%rax,%r15,1),%eax
3733299481Sjkim	movl	%r9d,%r12d
3734299481Sjkim	leaq	-64(%rbp),%rbp
3735299481Sjkim	addl	0+16(%rbp),%r11d
3736299481Sjkim	andl	%r8d,%r12d
3737299481Sjkim	rorxl	$25,%r8d,%r13d
3738299481Sjkim	rorxl	$11,%r8d,%r15d
3739299481Sjkim	leal	(%rax,%r14,1),%eax
3740299481Sjkim	leal	(%r11,%r12,1),%r11d
3741299481Sjkim	andnl	%r10d,%r8d,%r12d
3742299481Sjkim	xorl	%r15d,%r13d
3743299481Sjkim	rorxl	$6,%r8d,%r14d
3744299481Sjkim	leal	(%r11,%r12,1),%r11d
3745299481Sjkim	xorl	%r14d,%r13d
3746299481Sjkim	movl	%eax,%r15d
3747299481Sjkim	rorxl	$22,%eax,%r12d
3748299481Sjkim	leal	(%r11,%r13,1),%r11d
3749299481Sjkim	xorl	%ebx,%r15d
3750299481Sjkim	rorxl	$13,%eax,%r14d
3751299481Sjkim	rorxl	$2,%eax,%r13d
3752299481Sjkim	leal	(%rdx,%r11,1),%edx
3753299481Sjkim	andl	%r15d,%esi
3754299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3755299481Sjkim	vmovdqu	128-128(%rdi),%xmm10
3756299481Sjkim	xorl	%r12d,%r14d
3757299481Sjkim	xorl	%ebx,%esi
3758299481Sjkim	xorl	%r13d,%r14d
3759299481Sjkim	leal	(%r11,%rsi,1),%r11d
3760299481Sjkim	movl	%r8d,%r12d
3761299481Sjkim	addl	4+16(%rbp),%r10d
3762299481Sjkim	andl	%edx,%r12d
3763299481Sjkim	rorxl	$25,%edx,%r13d
3764299481Sjkim	rorxl	$11,%edx,%esi
3765299481Sjkim	leal	(%r11,%r14,1),%r11d
3766299481Sjkim	leal	(%r10,%r12,1),%r10d
3767299481Sjkim	andnl	%r9d,%edx,%r12d
3768299481Sjkim	xorl	%esi,%r13d
3769299481Sjkim	rorxl	$6,%edx,%r14d
3770299481Sjkim	leal	(%r10,%r12,1),%r10d
3771299481Sjkim	xorl	%r14d,%r13d
3772299481Sjkim	movl	%r11d,%esi
3773299481Sjkim	rorxl	$22,%r11d,%r12d
3774299481Sjkim	leal	(%r10,%r13,1),%r10d
3775299481Sjkim	xorl	%eax,%esi
3776299481Sjkim	rorxl	$13,%r11d,%r14d
3777299481Sjkim	rorxl	$2,%r11d,%r13d
3778299481Sjkim	leal	(%rcx,%r10,1),%ecx
3779299481Sjkim	andl	%esi,%r15d
3780299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3781299481Sjkim	vmovdqu	144-128(%rdi),%xmm10
3782299481Sjkim	xorl	%r12d,%r14d
3783299481Sjkim	xorl	%eax,%r15d
3784299481Sjkim	xorl	%r13d,%r14d
3785299481Sjkim	leal	(%r10,%r15,1),%r10d
3786299481Sjkim	movl	%edx,%r12d
3787299481Sjkim	addl	8+16(%rbp),%r9d
3788299481Sjkim	andl	%ecx,%r12d
3789299481Sjkim	rorxl	$25,%ecx,%r13d
3790299481Sjkim	rorxl	$11,%ecx,%r15d
3791299481Sjkim	leal	(%r10,%r14,1),%r10d
3792299481Sjkim	leal	(%r9,%r12,1),%r9d
3793299481Sjkim	andnl	%r8d,%ecx,%r12d
3794299481Sjkim	xorl	%r15d,%r13d
3795299481Sjkim	rorxl	$6,%ecx,%r14d
3796299481Sjkim	leal	(%r9,%r12,1),%r9d
3797299481Sjkim	xorl	%r14d,%r13d
3798299481Sjkim	movl	%r10d,%r15d
3799299481Sjkim	rorxl	$22,%r10d,%r12d
3800299481Sjkim	leal	(%r9,%r13,1),%r9d
3801299481Sjkim	xorl	%r11d,%r15d
3802299481Sjkim	rorxl	$13,%r10d,%r14d
3803299481Sjkim	rorxl	$2,%r10d,%r13d
3804299481Sjkim	leal	(%rbx,%r9,1),%ebx
3805299481Sjkim	andl	%r15d,%esi
3806299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3807299481Sjkim	vmovdqu	160-128(%rdi),%xmm10
3808299481Sjkim	xorl	%r12d,%r14d
3809299481Sjkim	xorl	%r11d,%esi
3810299481Sjkim	xorl	%r13d,%r14d
3811299481Sjkim	leal	(%r9,%rsi,1),%r9d
3812299481Sjkim	movl	%ecx,%r12d
3813299481Sjkim	addl	12+16(%rbp),%r8d
3814299481Sjkim	andl	%ebx,%r12d
3815299481Sjkim	rorxl	$25,%ebx,%r13d
3816299481Sjkim	rorxl	$11,%ebx,%esi
3817299481Sjkim	leal	(%r9,%r14,1),%r9d
3818299481Sjkim	leal	(%r8,%r12,1),%r8d
3819299481Sjkim	andnl	%edx,%ebx,%r12d
3820299481Sjkim	xorl	%esi,%r13d
3821299481Sjkim	rorxl	$6,%ebx,%r14d
3822299481Sjkim	leal	(%r8,%r12,1),%r8d
3823299481Sjkim	xorl	%r14d,%r13d
3824299481Sjkim	movl	%r9d,%esi
3825299481Sjkim	rorxl	$22,%r9d,%r12d
3826299481Sjkim	leal	(%r8,%r13,1),%r8d
3827299481Sjkim	xorl	%r10d,%esi
3828299481Sjkim	rorxl	$13,%r9d,%r14d
3829299481Sjkim	rorxl	$2,%r9d,%r13d
3830299481Sjkim	leal	(%rax,%r8,1),%eax
3831299481Sjkim	andl	%esi,%r15d
3832299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3833299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3834299481Sjkim	vmovdqu	176-128(%rdi),%xmm10
3835299481Sjkim	xorl	%r12d,%r14d
3836299481Sjkim	xorl	%r10d,%r15d
3837299481Sjkim	xorl	%r13d,%r14d
3838299481Sjkim	leal	(%r8,%r15,1),%r8d
3839299481Sjkim	movl	%ebx,%r12d
3840299481Sjkim	addl	32+16(%rbp),%edx
3841299481Sjkim	andl	%eax,%r12d
3842299481Sjkim	rorxl	$25,%eax,%r13d
3843299481Sjkim	rorxl	$11,%eax,%r15d
3844299481Sjkim	leal	(%r8,%r14,1),%r8d
3845299481Sjkim	leal	(%rdx,%r12,1),%edx
3846299481Sjkim	andnl	%ecx,%eax,%r12d
3847299481Sjkim	xorl	%r15d,%r13d
3848299481Sjkim	rorxl	$6,%eax,%r14d
3849299481Sjkim	leal	(%rdx,%r12,1),%edx
3850299481Sjkim	xorl	%r14d,%r13d
3851299481Sjkim	movl	%r8d,%r15d
3852299481Sjkim	rorxl	$22,%r8d,%r12d
3853299481Sjkim	leal	(%rdx,%r13,1),%edx
3854299481Sjkim	xorl	%r9d,%r15d
3855299481Sjkim	rorxl	$13,%r8d,%r14d
3856299481Sjkim	rorxl	$2,%r8d,%r13d
3857299481Sjkim	leal	(%r11,%rdx,1),%r11d
3858299481Sjkim	andl	%r15d,%esi
3859299481Sjkim	vpand	%xmm12,%xmm11,%xmm8
3860299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3861299481Sjkim	vmovdqu	192-128(%rdi),%xmm10
3862299481Sjkim	xorl	%r12d,%r14d
3863299481Sjkim	xorl	%r9d,%esi
3864299481Sjkim	xorl	%r13d,%r14d
3865299481Sjkim	leal	(%rdx,%rsi,1),%edx
3866299481Sjkim	movl	%eax,%r12d
3867299481Sjkim	addl	36+16(%rbp),%ecx
3868299481Sjkim	andl	%r11d,%r12d
3869299481Sjkim	rorxl	$25,%r11d,%r13d
3870299481Sjkim	rorxl	$11,%r11d,%esi
3871299481Sjkim	leal	(%rdx,%r14,1),%edx
3872299481Sjkim	leal	(%rcx,%r12,1),%ecx
3873299481Sjkim	andnl	%ebx,%r11d,%r12d
3874299481Sjkim	xorl	%esi,%r13d
3875299481Sjkim	rorxl	$6,%r11d,%r14d
3876299481Sjkim	leal	(%rcx,%r12,1),%ecx
3877299481Sjkim	xorl	%r14d,%r13d
3878299481Sjkim	movl	%edx,%esi
3879299481Sjkim	rorxl	$22,%edx,%r12d
3880299481Sjkim	leal	(%rcx,%r13,1),%ecx
3881299481Sjkim	xorl	%r8d,%esi
3882299481Sjkim	rorxl	$13,%edx,%r14d
3883299481Sjkim	rorxl	$2,%edx,%r13d
3884299481Sjkim	leal	(%r10,%rcx,1),%r10d
3885299481Sjkim	andl	%esi,%r15d
3886299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3887299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3888299481Sjkim	vmovdqu	208-128(%rdi),%xmm10
3889299481Sjkim	xorl	%r12d,%r14d
3890299481Sjkim	xorl	%r8d,%r15d
3891299481Sjkim	xorl	%r13d,%r14d
3892299481Sjkim	leal	(%rcx,%r15,1),%ecx
3893299481Sjkim	movl	%r11d,%r12d
3894299481Sjkim	addl	40+16(%rbp),%ebx
3895299481Sjkim	andl	%r10d,%r12d
3896299481Sjkim	rorxl	$25,%r10d,%r13d
3897299481Sjkim	rorxl	$11,%r10d,%r15d
3898299481Sjkim	leal	(%rcx,%r14,1),%ecx
3899299481Sjkim	leal	(%rbx,%r12,1),%ebx
3900299481Sjkim	andnl	%eax,%r10d,%r12d
3901299481Sjkim	xorl	%r15d,%r13d
3902299481Sjkim	rorxl	$6,%r10d,%r14d
3903299481Sjkim	leal	(%rbx,%r12,1),%ebx
3904299481Sjkim	xorl	%r14d,%r13d
3905299481Sjkim	movl	%ecx,%r15d
3906299481Sjkim	rorxl	$22,%ecx,%r12d
3907299481Sjkim	leal	(%rbx,%r13,1),%ebx
3908299481Sjkim	xorl	%edx,%r15d
3909299481Sjkim	rorxl	$13,%ecx,%r14d
3910299481Sjkim	rorxl	$2,%ecx,%r13d
3911299481Sjkim	leal	(%r9,%rbx,1),%r9d
3912299481Sjkim	andl	%r15d,%esi
3913299481Sjkim	vpand	%xmm13,%xmm11,%xmm11
3914299481Sjkim	vaesenc	%xmm10,%xmm9,%xmm9
3915299481Sjkim	vmovdqu	224-128(%rdi),%xmm10
3916299481Sjkim	xorl	%r12d,%r14d
3917299481Sjkim	xorl	%edx,%esi
3918299481Sjkim	xorl	%r13d,%r14d
3919299481Sjkim	leal	(%rbx,%rsi,1),%ebx
3920299481Sjkim	movl	%r10d,%r12d
3921299481Sjkim	addl	44+16(%rbp),%eax
3922299481Sjkim	andl	%r9d,%r12d
3923299481Sjkim	rorxl	$25,%r9d,%r13d
3924299481Sjkim	rorxl	$11,%r9d,%esi
3925299481Sjkim	leal	(%rbx,%r14,1),%ebx
3926299481Sjkim	leal	(%rax,%r12,1),%eax
3927299481Sjkim	andnl	%r11d,%r9d,%r12d
3928299481Sjkim	xorl	%esi,%r13d
3929299481Sjkim	rorxl	$6,%r9d,%r14d
3930299481Sjkim	leal	(%rax,%r12,1),%eax
3931299481Sjkim	xorl	%r14d,%r13d
3932299481Sjkim	movl	%ebx,%esi
3933299481Sjkim	rorxl	$22,%ebx,%r12d
3934299481Sjkim	leal	(%rax,%r13,1),%eax
3935299481Sjkim	xorl	%ecx,%esi
3936299481Sjkim	rorxl	$13,%ebx,%r14d
3937299481Sjkim	rorxl	$2,%ebx,%r13d
3938299481Sjkim	leal	(%r8,%rax,1),%r8d
3939299481Sjkim	andl	%esi,%r15d
3940299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
3941299481Sjkim	vaesenclast	%xmm10,%xmm9,%xmm11
3942299481Sjkim	vmovdqu	0-128(%rdi),%xmm10
3943299481Sjkim	xorl	%r12d,%r14d
3944299481Sjkim	xorl	%ecx,%r15d
3945299481Sjkim	xorl	%r13d,%r14d
3946299481Sjkim	leal	(%rax,%r15,1),%eax
3947299481Sjkim	movl	%r9d,%r12d
3948299481Sjkim	vmovq	%xmm15,%r13
3949299481Sjkim	vpextrq	$1,%xmm15,%r15
3950299481Sjkim	vpand	%xmm14,%xmm11,%xmm11
3951299481Sjkim	vpor	%xmm11,%xmm8,%xmm8
3952299481Sjkim	leaq	-64(%rbp),%rbp
3953299481Sjkim	vmovdqu	%xmm8,(%r15,%r13,1)
3954299481Sjkim	leaq	16(%r13),%r13
3955299481Sjkim	cmpq	%rsp,%rbp
3956299481Sjkim	jae	.Lower_avx2
3957299481Sjkim
3958299481Sjkim	movq	552(%rsp),%r15
3959299481Sjkim	leaq	64(%r13),%r13
3960299481Sjkim	movq	560(%rsp),%rsi
3961299481Sjkim	addl	%r14d,%eax
3962299481Sjkim	leaq	448(%rsp),%rsp
3963299481Sjkim
3964299481Sjkim	addl	0(%r15),%eax
3965299481Sjkim	addl	4(%r15),%ebx
3966299481Sjkim	addl	8(%r15),%ecx
3967299481Sjkim	addl	12(%r15),%edx
3968299481Sjkim	addl	16(%r15),%r8d
3969299481Sjkim	addl	20(%r15),%r9d
3970299481Sjkim	addl	24(%r15),%r10d
3971299481Sjkim	leaq	(%rsi,%r13,1),%r12
3972299481Sjkim	addl	28(%r15),%r11d
3973299481Sjkim
3974299481Sjkim	cmpq	64+16(%rsp),%r13
3975299481Sjkim
3976299481Sjkim	movl	%eax,0(%r15)
3977299481Sjkim	cmoveq	%rsp,%r12
3978299481Sjkim	movl	%ebx,4(%r15)
3979299481Sjkim	movl	%ecx,8(%r15)
3980299481Sjkim	movl	%edx,12(%r15)
3981299481Sjkim	movl	%r8d,16(%r15)
3982299481Sjkim	movl	%r9d,20(%r15)
3983299481Sjkim	movl	%r10d,24(%r15)
3984299481Sjkim	movl	%r11d,28(%r15)
3985299481Sjkim
3986299481Sjkim	jbe	.Loop_avx2
3987299481Sjkim	leaq	(%rsp),%rbp
3988299481Sjkim
3989299481Sjkim.Ldone_avx2:
3990299481Sjkim	leaq	(%rbp),%rsp
3991299481Sjkim	movq	64+32(%rsp),%r8
3992299481Sjkim	movq	64+56(%rsp),%rsi
3993299481Sjkim	vmovdqu	%xmm8,(%r8)
3994299481Sjkim	vzeroall
3995299481Sjkim	movq	(%rsi),%r15
3996299481Sjkim	movq	8(%rsi),%r14
3997299481Sjkim	movq	16(%rsi),%r13
3998299481Sjkim	movq	24(%rsi),%r12
3999299481Sjkim	movq	32(%rsi),%rbp
4000299481Sjkim	movq	40(%rsi),%rbx
4001299481Sjkim	leaq	48(%rsi),%rsp
4002299481Sjkim.Lepilogue_avx2:
4003299481Sjkim	.byte	0xf3,0xc3
4004299481Sjkim.size	aesni_cbc_sha256_enc_avx2,.-aesni_cbc_sha256_enc_avx2
4005299481Sjkim.type	aesni_cbc_sha256_enc_shaext,@function
4006299481Sjkim.align	32
4007299481Sjkimaesni_cbc_sha256_enc_shaext:
4008299481Sjkim	movq	8(%rsp),%r10
4009299481Sjkim	leaq	K256+128(%rip),%rax
4010299481Sjkim	movdqu	(%r9),%xmm1
4011299481Sjkim	movdqu	16(%r9),%xmm2
4012299481Sjkim	movdqa	512-128(%rax),%xmm3
4013299481Sjkim
4014299481Sjkim	movl	240(%rcx),%r11d
4015299481Sjkim	subq	%rdi,%rsi
4016299481Sjkim	movups	(%rcx),%xmm15
4017325335Sjkim	movups	(%r8),%xmm6
4018299481Sjkim	movups	16(%rcx),%xmm4
4019299481Sjkim	leaq	112(%rcx),%rcx
4020299481Sjkim
4021299481Sjkim	pshufd	$0x1b,%xmm1,%xmm0
4022299481Sjkim	pshufd	$0xb1,%xmm1,%xmm1
4023299481Sjkim	pshufd	$0x1b,%xmm2,%xmm2
4024299481Sjkim	movdqa	%xmm3,%xmm7
4025299481Sjkim.byte	102,15,58,15,202,8
4026299481Sjkim	punpcklqdq	%xmm0,%xmm2
4027299481Sjkim
4028299481Sjkim	jmp	.Loop_shaext
4029299481Sjkim
4030299481Sjkim.align	16
4031299481Sjkim.Loop_shaext:
4032299481Sjkim	movdqu	(%r10),%xmm10
4033299481Sjkim	movdqu	16(%r10),%xmm11
4034299481Sjkim	movdqu	32(%r10),%xmm12
4035299481Sjkim.byte	102,68,15,56,0,211
4036299481Sjkim	movdqu	48(%r10),%xmm13
4037299481Sjkim
4038299481Sjkim	movdqa	0-128(%rax),%xmm0
4039299481Sjkim	paddd	%xmm10,%xmm0
4040299481Sjkim.byte	102,68,15,56,0,219
4041299481Sjkim	movdqa	%xmm2,%xmm9
4042299481Sjkim	movdqa	%xmm1,%xmm8
4043299481Sjkim	movups	0(%rdi),%xmm14
4044299481Sjkim	xorps	%xmm15,%xmm14
4045299481Sjkim	xorps	%xmm14,%xmm6
4046299481Sjkim	movups	-80(%rcx),%xmm5
4047299481Sjkim	aesenc	%xmm4,%xmm6
4048299481Sjkim.byte	15,56,203,209
4049299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4050299481Sjkim	movups	-64(%rcx),%xmm4
4051299481Sjkim	aesenc	%xmm5,%xmm6
4052299481Sjkim.byte	15,56,203,202
4053299481Sjkim
4054299481Sjkim	movdqa	32-128(%rax),%xmm0
4055299481Sjkim	paddd	%xmm11,%xmm0
4056299481Sjkim.byte	102,68,15,56,0,227
4057299481Sjkim	leaq	64(%r10),%r10
4058299481Sjkim	movups	-48(%rcx),%xmm5
4059299481Sjkim	aesenc	%xmm4,%xmm6
4060299481Sjkim.byte	15,56,203,209
4061299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4062299481Sjkim	movups	-32(%rcx),%xmm4
4063299481Sjkim	aesenc	%xmm5,%xmm6
4064299481Sjkim.byte	15,56,203,202
4065299481Sjkim
4066299481Sjkim	movdqa	64-128(%rax),%xmm0
4067299481Sjkim	paddd	%xmm12,%xmm0
4068299481Sjkim.byte	102,68,15,56,0,235
4069299481Sjkim.byte	69,15,56,204,211
4070299481Sjkim	movups	-16(%rcx),%xmm5
4071299481Sjkim	aesenc	%xmm4,%xmm6
4072299481Sjkim.byte	15,56,203,209
4073299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4074299481Sjkim	movdqa	%xmm13,%xmm3
4075299481Sjkim.byte	102,65,15,58,15,220,4
4076299481Sjkim	paddd	%xmm3,%xmm10
4077299481Sjkim	movups	0(%rcx),%xmm4
4078299481Sjkim	aesenc	%xmm5,%xmm6
4079299481Sjkim.byte	15,56,203,202
4080299481Sjkim
4081299481Sjkim	movdqa	96-128(%rax),%xmm0
4082299481Sjkim	paddd	%xmm13,%xmm0
4083299481Sjkim.byte	69,15,56,205,213
4084299481Sjkim.byte	69,15,56,204,220
4085299481Sjkim	movups	16(%rcx),%xmm5
4086299481Sjkim	aesenc	%xmm4,%xmm6
4087299481Sjkim.byte	15,56,203,209
4088299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4089299481Sjkim	movups	32(%rcx),%xmm4
4090299481Sjkim	aesenc	%xmm5,%xmm6
4091299481Sjkim	movdqa	%xmm10,%xmm3
4092299481Sjkim.byte	102,65,15,58,15,221,4
4093299481Sjkim	paddd	%xmm3,%xmm11
4094299481Sjkim.byte	15,56,203,202
4095299481Sjkim	movdqa	128-128(%rax),%xmm0
4096299481Sjkim	paddd	%xmm10,%xmm0
4097299481Sjkim.byte	69,15,56,205,218
4098299481Sjkim.byte	69,15,56,204,229
4099299481Sjkim	movups	48(%rcx),%xmm5
4100299481Sjkim	aesenc	%xmm4,%xmm6
4101299481Sjkim.byte	15,56,203,209
4102299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4103299481Sjkim	movdqa	%xmm11,%xmm3
4104299481Sjkim.byte	102,65,15,58,15,218,4
4105299481Sjkim	paddd	%xmm3,%xmm12
4106299481Sjkim	cmpl	$11,%r11d
4107299481Sjkim	jb	.Laesenclast1
4108299481Sjkim	movups	64(%rcx),%xmm4
4109299481Sjkim	aesenc	%xmm5,%xmm6
4110299481Sjkim	movups	80(%rcx),%xmm5
4111299481Sjkim	aesenc	%xmm4,%xmm6
4112299481Sjkim	je	.Laesenclast1
4113299481Sjkim	movups	96(%rcx),%xmm4
4114299481Sjkim	aesenc	%xmm5,%xmm6
4115299481Sjkim	movups	112(%rcx),%xmm5
4116299481Sjkim	aesenc	%xmm4,%xmm6
4117299481Sjkim.Laesenclast1:
4118299481Sjkim	aesenclast	%xmm5,%xmm6
4119299481Sjkim	movups	16-112(%rcx),%xmm4
4120299481Sjkim	nop
4121299481Sjkim.byte	15,56,203,202
4122299481Sjkim	movups	16(%rdi),%xmm14
4123299481Sjkim	xorps	%xmm15,%xmm14
4124299481Sjkim	movups	%xmm6,0(%rsi,%rdi,1)
4125299481Sjkim	xorps	%xmm14,%xmm6
4126299481Sjkim	movups	-80(%rcx),%xmm5
4127299481Sjkim	aesenc	%xmm4,%xmm6
4128299481Sjkim	movdqa	160-128(%rax),%xmm0
4129299481Sjkim	paddd	%xmm11,%xmm0
4130299481Sjkim.byte	69,15,56,205,227
4131299481Sjkim.byte	69,15,56,204,234
4132299481Sjkim	movups	-64(%rcx),%xmm4
4133299481Sjkim	aesenc	%xmm5,%xmm6
4134299481Sjkim.byte	15,56,203,209
4135299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4136299481Sjkim	movdqa	%xmm12,%xmm3
4137299481Sjkim.byte	102,65,15,58,15,219,4
4138299481Sjkim	paddd	%xmm3,%xmm13
4139299481Sjkim	movups	-48(%rcx),%xmm5
4140299481Sjkim	aesenc	%xmm4,%xmm6
4141299481Sjkim.byte	15,56,203,202
4142299481Sjkim	movdqa	192-128(%rax),%xmm0
4143299481Sjkim	paddd	%xmm12,%xmm0
4144299481Sjkim.byte	69,15,56,205,236
4145299481Sjkim.byte	69,15,56,204,211
4146299481Sjkim	movups	-32(%rcx),%xmm4
4147299481Sjkim	aesenc	%xmm5,%xmm6
4148299481Sjkim.byte	15,56,203,209
4149299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4150299481Sjkim	movdqa	%xmm13,%xmm3
4151299481Sjkim.byte	102,65,15,58,15,220,4
4152299481Sjkim	paddd	%xmm3,%xmm10
4153299481Sjkim	movups	-16(%rcx),%xmm5
4154299481Sjkim	aesenc	%xmm4,%xmm6
4155299481Sjkim.byte	15,56,203,202
4156299481Sjkim	movdqa	224-128(%rax),%xmm0
4157299481Sjkim	paddd	%xmm13,%xmm0
4158299481Sjkim.byte	69,15,56,205,213
4159299481Sjkim.byte	69,15,56,204,220
4160299481Sjkim	movups	0(%rcx),%xmm4
4161299481Sjkim	aesenc	%xmm5,%xmm6
4162299481Sjkim.byte	15,56,203,209
4163299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4164299481Sjkim	movdqa	%xmm10,%xmm3
4165299481Sjkim.byte	102,65,15,58,15,221,4
4166299481Sjkim	paddd	%xmm3,%xmm11
4167299481Sjkim	movups	16(%rcx),%xmm5
4168299481Sjkim	aesenc	%xmm4,%xmm6
4169299481Sjkim.byte	15,56,203,202
4170299481Sjkim	movdqa	256-128(%rax),%xmm0
4171299481Sjkim	paddd	%xmm10,%xmm0
4172299481Sjkim.byte	69,15,56,205,218
4173299481Sjkim.byte	69,15,56,204,229
4174299481Sjkim	movups	32(%rcx),%xmm4
4175299481Sjkim	aesenc	%xmm5,%xmm6
4176299481Sjkim.byte	15,56,203,209
4177299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4178299481Sjkim	movdqa	%xmm11,%xmm3
4179299481Sjkim.byte	102,65,15,58,15,218,4
4180299481Sjkim	paddd	%xmm3,%xmm12
4181299481Sjkim	movups	48(%rcx),%xmm5
4182299481Sjkim	aesenc	%xmm4,%xmm6
4183299481Sjkim	cmpl	$11,%r11d
4184299481Sjkim	jb	.Laesenclast2
4185299481Sjkim	movups	64(%rcx),%xmm4
4186299481Sjkim	aesenc	%xmm5,%xmm6
4187299481Sjkim	movups	80(%rcx),%xmm5
4188299481Sjkim	aesenc	%xmm4,%xmm6
4189299481Sjkim	je	.Laesenclast2
4190299481Sjkim	movups	96(%rcx),%xmm4
4191299481Sjkim	aesenc	%xmm5,%xmm6
4192299481Sjkim	movups	112(%rcx),%xmm5
4193299481Sjkim	aesenc	%xmm4,%xmm6
4194299481Sjkim.Laesenclast2:
4195299481Sjkim	aesenclast	%xmm5,%xmm6
4196299481Sjkim	movups	16-112(%rcx),%xmm4
4197299481Sjkim	nop
4198299481Sjkim.byte	15,56,203,202
4199299481Sjkim	movups	32(%rdi),%xmm14
4200299481Sjkim	xorps	%xmm15,%xmm14
4201299481Sjkim	movups	%xmm6,16(%rsi,%rdi,1)
4202299481Sjkim	xorps	%xmm14,%xmm6
4203299481Sjkim	movups	-80(%rcx),%xmm5
4204299481Sjkim	aesenc	%xmm4,%xmm6
4205299481Sjkim	movdqa	288-128(%rax),%xmm0
4206299481Sjkim	paddd	%xmm11,%xmm0
4207299481Sjkim.byte	69,15,56,205,227
4208299481Sjkim.byte	69,15,56,204,234
4209299481Sjkim	movups	-64(%rcx),%xmm4
4210299481Sjkim	aesenc	%xmm5,%xmm6
4211299481Sjkim.byte	15,56,203,209
4212299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4213299481Sjkim	movdqa	%xmm12,%xmm3
4214299481Sjkim.byte	102,65,15,58,15,219,4
4215299481Sjkim	paddd	%xmm3,%xmm13
4216299481Sjkim	movups	-48(%rcx),%xmm5
4217299481Sjkim	aesenc	%xmm4,%xmm6
4218299481Sjkim.byte	15,56,203,202
4219299481Sjkim	movdqa	320-128(%rax),%xmm0
4220299481Sjkim	paddd	%xmm12,%xmm0
4221299481Sjkim.byte	69,15,56,205,236
4222299481Sjkim.byte	69,15,56,204,211
4223299481Sjkim	movups	-32(%rcx),%xmm4
4224299481Sjkim	aesenc	%xmm5,%xmm6
4225299481Sjkim.byte	15,56,203,209
4226299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4227299481Sjkim	movdqa	%xmm13,%xmm3
4228299481Sjkim.byte	102,65,15,58,15,220,4
4229299481Sjkim	paddd	%xmm3,%xmm10
4230299481Sjkim	movups	-16(%rcx),%xmm5
4231299481Sjkim	aesenc	%xmm4,%xmm6
4232299481Sjkim.byte	15,56,203,202
4233299481Sjkim	movdqa	352-128(%rax),%xmm0
4234299481Sjkim	paddd	%xmm13,%xmm0
4235299481Sjkim.byte	69,15,56,205,213
4236299481Sjkim.byte	69,15,56,204,220
4237299481Sjkim	movups	0(%rcx),%xmm4
4238299481Sjkim	aesenc	%xmm5,%xmm6
4239299481Sjkim.byte	15,56,203,209
4240299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4241299481Sjkim	movdqa	%xmm10,%xmm3
4242299481Sjkim.byte	102,65,15,58,15,221,4
4243299481Sjkim	paddd	%xmm3,%xmm11
4244299481Sjkim	movups	16(%rcx),%xmm5
4245299481Sjkim	aesenc	%xmm4,%xmm6
4246299481Sjkim.byte	15,56,203,202
4247299481Sjkim	movdqa	384-128(%rax),%xmm0
4248299481Sjkim	paddd	%xmm10,%xmm0
4249299481Sjkim.byte	69,15,56,205,218
4250299481Sjkim.byte	69,15,56,204,229
4251299481Sjkim	movups	32(%rcx),%xmm4
4252299481Sjkim	aesenc	%xmm5,%xmm6
4253299481Sjkim.byte	15,56,203,209
4254299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4255299481Sjkim	movdqa	%xmm11,%xmm3
4256299481Sjkim.byte	102,65,15,58,15,218,4
4257299481Sjkim	paddd	%xmm3,%xmm12
4258299481Sjkim	movups	48(%rcx),%xmm5
4259299481Sjkim	aesenc	%xmm4,%xmm6
4260299481Sjkim.byte	15,56,203,202
4261299481Sjkim	movdqa	416-128(%rax),%xmm0
4262299481Sjkim	paddd	%xmm11,%xmm0
4263299481Sjkim.byte	69,15,56,205,227
4264299481Sjkim.byte	69,15,56,204,234
4265299481Sjkim	cmpl	$11,%r11d
4266299481Sjkim	jb	.Laesenclast3
4267299481Sjkim	movups	64(%rcx),%xmm4
4268299481Sjkim	aesenc	%xmm5,%xmm6
4269299481Sjkim	movups	80(%rcx),%xmm5
4270299481Sjkim	aesenc	%xmm4,%xmm6
4271299481Sjkim	je	.Laesenclast3
4272299481Sjkim	movups	96(%rcx),%xmm4
4273299481Sjkim	aesenc	%xmm5,%xmm6
4274299481Sjkim	movups	112(%rcx),%xmm5
4275299481Sjkim	aesenc	%xmm4,%xmm6
4276299481Sjkim.Laesenclast3:
4277299481Sjkim	aesenclast	%xmm5,%xmm6
4278299481Sjkim	movups	16-112(%rcx),%xmm4
4279299481Sjkim	nop
4280299481Sjkim.byte	15,56,203,209
4281299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4282299481Sjkim	movdqa	%xmm12,%xmm3
4283299481Sjkim.byte	102,65,15,58,15,219,4
4284299481Sjkim	paddd	%xmm3,%xmm13
4285299481Sjkim	movups	48(%rdi),%xmm14
4286299481Sjkim	xorps	%xmm15,%xmm14
4287299481Sjkim	movups	%xmm6,32(%rsi,%rdi,1)
4288299481Sjkim	xorps	%xmm14,%xmm6
4289299481Sjkim	movups	-80(%rcx),%xmm5
4290299481Sjkim	aesenc	%xmm4,%xmm6
4291299481Sjkim	movups	-64(%rcx),%xmm4
4292299481Sjkim	aesenc	%xmm5,%xmm6
4293299481Sjkim.byte	15,56,203,202
4294299481Sjkim
4295299481Sjkim	movdqa	448-128(%rax),%xmm0
4296299481Sjkim	paddd	%xmm12,%xmm0
4297299481Sjkim.byte	69,15,56,205,236
4298299481Sjkim	movdqa	%xmm7,%xmm3
4299299481Sjkim	movups	-48(%rcx),%xmm5
4300299481Sjkim	aesenc	%xmm4,%xmm6
4301299481Sjkim.byte	15,56,203,209
4302299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4303299481Sjkim	movups	-32(%rcx),%xmm4
4304299481Sjkim	aesenc	%xmm5,%xmm6
4305299481Sjkim.byte	15,56,203,202
4306299481Sjkim
4307299481Sjkim	movdqa	480-128(%rax),%xmm0
4308299481Sjkim	paddd	%xmm13,%xmm0
4309299481Sjkim	movups	-16(%rcx),%xmm5
4310299481Sjkim	aesenc	%xmm4,%xmm6
4311299481Sjkim	movups	0(%rcx),%xmm4
4312299481Sjkim	aesenc	%xmm5,%xmm6
4313299481Sjkim.byte	15,56,203,209
4314299481Sjkim	pshufd	$0x0e,%xmm0,%xmm0
4315299481Sjkim	movups	16(%rcx),%xmm5
4316299481Sjkim	aesenc	%xmm4,%xmm6
4317299481Sjkim.byte	15,56,203,202
4318299481Sjkim
4319299481Sjkim	movups	32(%rcx),%xmm4
4320299481Sjkim	aesenc	%xmm5,%xmm6
4321299481Sjkim	movups	48(%rcx),%xmm5
4322299481Sjkim	aesenc	%xmm4,%xmm6
4323299481Sjkim	cmpl	$11,%r11d
4324299481Sjkim	jb	.Laesenclast4
4325299481Sjkim	movups	64(%rcx),%xmm4
4326299481Sjkim	aesenc	%xmm5,%xmm6
4327299481Sjkim	movups	80(%rcx),%xmm5
4328299481Sjkim	aesenc	%xmm4,%xmm6
4329299481Sjkim	je	.Laesenclast4
4330299481Sjkim	movups	96(%rcx),%xmm4
4331299481Sjkim	aesenc	%xmm5,%xmm6
4332299481Sjkim	movups	112(%rcx),%xmm5
4333299481Sjkim	aesenc	%xmm4,%xmm6
4334299481Sjkim.Laesenclast4:
4335299481Sjkim	aesenclast	%xmm5,%xmm6
4336299481Sjkim	movups	16-112(%rcx),%xmm4
4337299481Sjkim	nop
4338299481Sjkim
4339299481Sjkim	paddd	%xmm9,%xmm2
4340299481Sjkim	paddd	%xmm8,%xmm1
4341299481Sjkim
4342299481Sjkim	decq	%rdx
4343299481Sjkim	movups	%xmm6,48(%rsi,%rdi,1)
4344299481Sjkim	leaq	64(%rdi),%rdi
4345299481Sjkim	jnz	.Loop_shaext
4346299481Sjkim
4347299481Sjkim	pshufd	$0xb1,%xmm2,%xmm2
4348299481Sjkim	pshufd	$0x1b,%xmm1,%xmm3
4349299481Sjkim	pshufd	$0xb1,%xmm1,%xmm1
4350299481Sjkim	punpckhqdq	%xmm2,%xmm1
4351299481Sjkim.byte	102,15,58,15,211,8
4352299481Sjkim
4353299481Sjkim	movups	%xmm6,(%r8)
4354299481Sjkim	movdqu	%xmm1,(%r9)
4355299481Sjkim	movdqu	%xmm2,16(%r9)
4356299481Sjkim	.byte	0xf3,0xc3
4357299481Sjkim.size	aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext
4358