Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/crypto/openssl/amd64/aesni-sha256-x86_64.S
39482 views
1
/* Do not modify. This file is auto-generated from aesni-sha256-x86_64.pl. */
2
.text
3
4
5
.globl aesni_cbc_sha256_enc
6
.type aesni_cbc_sha256_enc,@function
7
.align 16
8
aesni_cbc_sha256_enc:
9
.cfi_startproc
10
leaq OPENSSL_ia32cap_P(%rip),%r11
11
movl $1,%eax
12
cmpq $0,%rdi
13
je .Lprobe
14
movl 0(%r11),%eax
15
movq 4(%r11),%r10
16
btq $61,%r10
17
jc aesni_cbc_sha256_enc_shaext
18
movq %r10,%r11
19
shrq $32,%r11
20
21
testl $2048,%r10d
22
jnz aesni_cbc_sha256_enc_xop
23
andl $296,%r11d
24
cmpl $296,%r11d
25
je aesni_cbc_sha256_enc_avx2
26
andl $268435456,%r10d
27
jnz aesni_cbc_sha256_enc_avx
28
ud2
29
xorl %eax,%eax
30
cmpq $0,%rdi
31
je .Lprobe
32
ud2
33
.Lprobe:
34
.byte 0xf3,0xc3
35
.cfi_endproc
36
.size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc
37
38
.section .rodata
39
.align 64
40
.type K256,@object
41
K256:
42
.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
43
.long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
44
.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
45
.long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
46
.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
47
.long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
48
.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
49
.long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
50
.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
51
.long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
52
.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
53
.long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
54
.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
55
.long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
56
.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
57
.long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
58
.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
59
.long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
60
.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
61
.long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
62
.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
63
.long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
64
.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
65
.long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
66
.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
67
.long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
68
.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
69
.long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
70
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
71
.long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
72
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
73
.long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
74
75
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
76
.long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
77
.long 0,0,0,0, 0,0,0,0, -1,-1,-1,-1
78
.long 0,0,0,0, 0,0,0,0
79
.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
80
.align 64
81
.previous
82
.type aesni_cbc_sha256_enc_xop,@function
83
.align 64
84
aesni_cbc_sha256_enc_xop:
85
.cfi_startproc
86
.Lxop_shortcut:
87
movq 8(%rsp),%r10
88
movq %rsp,%rax
89
.cfi_def_cfa_register %rax
90
pushq %rbx
91
.cfi_offset %rbx,-16
92
pushq %rbp
93
.cfi_offset %rbp,-24
94
pushq %r12
95
.cfi_offset %r12,-32
96
pushq %r13
97
.cfi_offset %r13,-40
98
pushq %r14
99
.cfi_offset %r14,-48
100
pushq %r15
101
.cfi_offset %r15,-56
102
subq $128,%rsp
103
andq $-64,%rsp
104
105
shlq $6,%rdx
106
subq %rdi,%rsi
107
subq %rdi,%r10
108
addq %rdi,%rdx
109
110
111
movq %rsi,64+8(%rsp)
112
movq %rdx,64+16(%rsp)
113
114
movq %r8,64+32(%rsp)
115
movq %r9,64+40(%rsp)
116
movq %r10,64+48(%rsp)
117
movq %rax,120(%rsp)
118
.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08
119
.Lprologue_xop:
120
vzeroall
121
122
movq %rdi,%r12
123
leaq 128(%rcx),%rdi
124
leaq K256+544(%rip),%r13
125
movl 240-128(%rdi),%r14d
126
movq %r9,%r15
127
movq %r10,%rsi
128
vmovdqu (%r8),%xmm8
129
subq $9,%r14
130
131
movl 0(%r15),%eax
132
movl 4(%r15),%ebx
133
movl 8(%r15),%ecx
134
movl 12(%r15),%edx
135
movl 16(%r15),%r8d
136
movl 20(%r15),%r9d
137
movl 24(%r15),%r10d
138
movl 28(%r15),%r11d
139
140
vmovdqa 0(%r13,%r14,8),%xmm14
141
vmovdqa 16(%r13,%r14,8),%xmm13
142
vmovdqa 32(%r13,%r14,8),%xmm12
143
vmovdqu 0-128(%rdi),%xmm10
144
jmp .Lloop_xop
145
.align 16
146
.Lloop_xop:
147
vmovdqa K256+512(%rip),%xmm7
148
vmovdqu 0(%rsi,%r12,1),%xmm0
149
vmovdqu 16(%rsi,%r12,1),%xmm1
150
vmovdqu 32(%rsi,%r12,1),%xmm2
151
vmovdqu 48(%rsi,%r12,1),%xmm3
152
vpshufb %xmm7,%xmm0,%xmm0
153
leaq K256(%rip),%rbp
154
vpshufb %xmm7,%xmm1,%xmm1
155
vpshufb %xmm7,%xmm2,%xmm2
156
vpaddd 0(%rbp),%xmm0,%xmm4
157
vpshufb %xmm7,%xmm3,%xmm3
158
vpaddd 32(%rbp),%xmm1,%xmm5
159
vpaddd 64(%rbp),%xmm2,%xmm6
160
vpaddd 96(%rbp),%xmm3,%xmm7
161
vmovdqa %xmm4,0(%rsp)
162
movl %eax,%r14d
163
vmovdqa %xmm5,16(%rsp)
164
movl %ebx,%esi
165
vmovdqa %xmm6,32(%rsp)
166
xorl %ecx,%esi
167
vmovdqa %xmm7,48(%rsp)
168
movl %r8d,%r13d
169
jmp .Lxop_00_47
170
171
.align 16
172
.Lxop_00_47:
173
subq $-32*4,%rbp
174
vmovdqu (%r12),%xmm9
175
movq %r12,64+0(%rsp)
176
vpalignr $4,%xmm0,%xmm1,%xmm4
177
rorl $14,%r13d
178
movl %r14d,%eax
179
vpalignr $4,%xmm2,%xmm3,%xmm7
180
movl %r9d,%r12d
181
xorl %r8d,%r13d
182
.byte 143,232,120,194,236,14
183
rorl $9,%r14d
184
xorl %r10d,%r12d
185
vpsrld $3,%xmm4,%xmm4
186
rorl $5,%r13d
187
xorl %eax,%r14d
188
vpaddd %xmm7,%xmm0,%xmm0
189
andl %r8d,%r12d
190
vpxor %xmm10,%xmm9,%xmm9
191
vmovdqu 16-128(%rdi),%xmm10
192
xorl %r8d,%r13d
193
addl 0(%rsp),%r11d
194
movl %eax,%r15d
195
.byte 143,232,120,194,245,11
196
rorl $11,%r14d
197
xorl %r10d,%r12d
198
vpxor %xmm5,%xmm4,%xmm4
199
xorl %ebx,%r15d
200
rorl $6,%r13d
201
addl %r12d,%r11d
202
andl %r15d,%esi
203
.byte 143,232,120,194,251,13
204
xorl %eax,%r14d
205
addl %r13d,%r11d
206
vpxor %xmm6,%xmm4,%xmm4
207
xorl %ebx,%esi
208
addl %r11d,%edx
209
vpsrld $10,%xmm3,%xmm6
210
rorl $2,%r14d
211
addl %esi,%r11d
212
vpaddd %xmm4,%xmm0,%xmm0
213
movl %edx,%r13d
214
addl %r11d,%r14d
215
.byte 143,232,120,194,239,2
216
rorl $14,%r13d
217
movl %r14d,%r11d
218
vpxor %xmm6,%xmm7,%xmm7
219
movl %r8d,%r12d
220
xorl %edx,%r13d
221
rorl $9,%r14d
222
xorl %r9d,%r12d
223
vpxor %xmm5,%xmm7,%xmm7
224
rorl $5,%r13d
225
xorl %r11d,%r14d
226
andl %edx,%r12d
227
vpxor %xmm8,%xmm9,%xmm9
228
xorl %edx,%r13d
229
vpsrldq $8,%xmm7,%xmm7
230
addl 4(%rsp),%r10d
231
movl %r11d,%esi
232
rorl $11,%r14d
233
xorl %r9d,%r12d
234
vpaddd %xmm7,%xmm0,%xmm0
235
xorl %eax,%esi
236
rorl $6,%r13d
237
addl %r12d,%r10d
238
andl %esi,%r15d
239
.byte 143,232,120,194,248,13
240
xorl %r11d,%r14d
241
addl %r13d,%r10d
242
vpsrld $10,%xmm0,%xmm6
243
xorl %eax,%r15d
244
addl %r10d,%ecx
245
.byte 143,232,120,194,239,2
246
rorl $2,%r14d
247
addl %r15d,%r10d
248
vpxor %xmm6,%xmm7,%xmm7
249
movl %ecx,%r13d
250
addl %r10d,%r14d
251
rorl $14,%r13d
252
movl %r14d,%r10d
253
vpxor %xmm5,%xmm7,%xmm7
254
movl %edx,%r12d
255
xorl %ecx,%r13d
256
rorl $9,%r14d
257
xorl %r8d,%r12d
258
vpslldq $8,%xmm7,%xmm7
259
rorl $5,%r13d
260
xorl %r10d,%r14d
261
andl %ecx,%r12d
262
vaesenc %xmm10,%xmm9,%xmm9
263
vmovdqu 32-128(%rdi),%xmm10
264
xorl %ecx,%r13d
265
vpaddd %xmm7,%xmm0,%xmm0
266
addl 8(%rsp),%r9d
267
movl %r10d,%r15d
268
rorl $11,%r14d
269
xorl %r8d,%r12d
270
vpaddd 0(%rbp),%xmm0,%xmm6
271
xorl %r11d,%r15d
272
rorl $6,%r13d
273
addl %r12d,%r9d
274
andl %r15d,%esi
275
xorl %r10d,%r14d
276
addl %r13d,%r9d
277
xorl %r11d,%esi
278
addl %r9d,%ebx
279
rorl $2,%r14d
280
addl %esi,%r9d
281
movl %ebx,%r13d
282
addl %r9d,%r14d
283
rorl $14,%r13d
284
movl %r14d,%r9d
285
movl %ecx,%r12d
286
xorl %ebx,%r13d
287
rorl $9,%r14d
288
xorl %edx,%r12d
289
rorl $5,%r13d
290
xorl %r9d,%r14d
291
andl %ebx,%r12d
292
vaesenc %xmm10,%xmm9,%xmm9
293
vmovdqu 48-128(%rdi),%xmm10
294
xorl %ebx,%r13d
295
addl 12(%rsp),%r8d
296
movl %r9d,%esi
297
rorl $11,%r14d
298
xorl %edx,%r12d
299
xorl %r10d,%esi
300
rorl $6,%r13d
301
addl %r12d,%r8d
302
andl %esi,%r15d
303
xorl %r9d,%r14d
304
addl %r13d,%r8d
305
xorl %r10d,%r15d
306
addl %r8d,%eax
307
rorl $2,%r14d
308
addl %r15d,%r8d
309
movl %eax,%r13d
310
addl %r8d,%r14d
311
vmovdqa %xmm6,0(%rsp)
312
vpalignr $4,%xmm1,%xmm2,%xmm4
313
rorl $14,%r13d
314
movl %r14d,%r8d
315
vpalignr $4,%xmm3,%xmm0,%xmm7
316
movl %ebx,%r12d
317
xorl %eax,%r13d
318
.byte 143,232,120,194,236,14
319
rorl $9,%r14d
320
xorl %ecx,%r12d
321
vpsrld $3,%xmm4,%xmm4
322
rorl $5,%r13d
323
xorl %r8d,%r14d
324
vpaddd %xmm7,%xmm1,%xmm1
325
andl %eax,%r12d
326
vaesenc %xmm10,%xmm9,%xmm9
327
vmovdqu 64-128(%rdi),%xmm10
328
xorl %eax,%r13d
329
addl 16(%rsp),%edx
330
movl %r8d,%r15d
331
.byte 143,232,120,194,245,11
332
rorl $11,%r14d
333
xorl %ecx,%r12d
334
vpxor %xmm5,%xmm4,%xmm4
335
xorl %r9d,%r15d
336
rorl $6,%r13d
337
addl %r12d,%edx
338
andl %r15d,%esi
339
.byte 143,232,120,194,248,13
340
xorl %r8d,%r14d
341
addl %r13d,%edx
342
vpxor %xmm6,%xmm4,%xmm4
343
xorl %r9d,%esi
344
addl %edx,%r11d
345
vpsrld $10,%xmm0,%xmm6
346
rorl $2,%r14d
347
addl %esi,%edx
348
vpaddd %xmm4,%xmm1,%xmm1
349
movl %r11d,%r13d
350
addl %edx,%r14d
351
.byte 143,232,120,194,239,2
352
rorl $14,%r13d
353
movl %r14d,%edx
354
vpxor %xmm6,%xmm7,%xmm7
355
movl %eax,%r12d
356
xorl %r11d,%r13d
357
rorl $9,%r14d
358
xorl %ebx,%r12d
359
vpxor %xmm5,%xmm7,%xmm7
360
rorl $5,%r13d
361
xorl %edx,%r14d
362
andl %r11d,%r12d
363
vaesenc %xmm10,%xmm9,%xmm9
364
vmovdqu 80-128(%rdi),%xmm10
365
xorl %r11d,%r13d
366
vpsrldq $8,%xmm7,%xmm7
367
addl 20(%rsp),%ecx
368
movl %edx,%esi
369
rorl $11,%r14d
370
xorl %ebx,%r12d
371
vpaddd %xmm7,%xmm1,%xmm1
372
xorl %r8d,%esi
373
rorl $6,%r13d
374
addl %r12d,%ecx
375
andl %esi,%r15d
376
.byte 143,232,120,194,249,13
377
xorl %edx,%r14d
378
addl %r13d,%ecx
379
vpsrld $10,%xmm1,%xmm6
380
xorl %r8d,%r15d
381
addl %ecx,%r10d
382
.byte 143,232,120,194,239,2
383
rorl $2,%r14d
384
addl %r15d,%ecx
385
vpxor %xmm6,%xmm7,%xmm7
386
movl %r10d,%r13d
387
addl %ecx,%r14d
388
rorl $14,%r13d
389
movl %r14d,%ecx
390
vpxor %xmm5,%xmm7,%xmm7
391
movl %r11d,%r12d
392
xorl %r10d,%r13d
393
rorl $9,%r14d
394
xorl %eax,%r12d
395
vpslldq $8,%xmm7,%xmm7
396
rorl $5,%r13d
397
xorl %ecx,%r14d
398
andl %r10d,%r12d
399
vaesenc %xmm10,%xmm9,%xmm9
400
vmovdqu 96-128(%rdi),%xmm10
401
xorl %r10d,%r13d
402
vpaddd %xmm7,%xmm1,%xmm1
403
addl 24(%rsp),%ebx
404
movl %ecx,%r15d
405
rorl $11,%r14d
406
xorl %eax,%r12d
407
vpaddd 32(%rbp),%xmm1,%xmm6
408
xorl %edx,%r15d
409
rorl $6,%r13d
410
addl %r12d,%ebx
411
andl %r15d,%esi
412
xorl %ecx,%r14d
413
addl %r13d,%ebx
414
xorl %edx,%esi
415
addl %ebx,%r9d
416
rorl $2,%r14d
417
addl %esi,%ebx
418
movl %r9d,%r13d
419
addl %ebx,%r14d
420
rorl $14,%r13d
421
movl %r14d,%ebx
422
movl %r10d,%r12d
423
xorl %r9d,%r13d
424
rorl $9,%r14d
425
xorl %r11d,%r12d
426
rorl $5,%r13d
427
xorl %ebx,%r14d
428
andl %r9d,%r12d
429
vaesenc %xmm10,%xmm9,%xmm9
430
vmovdqu 112-128(%rdi),%xmm10
431
xorl %r9d,%r13d
432
addl 28(%rsp),%eax
433
movl %ebx,%esi
434
rorl $11,%r14d
435
xorl %r11d,%r12d
436
xorl %ecx,%esi
437
rorl $6,%r13d
438
addl %r12d,%eax
439
andl %esi,%r15d
440
xorl %ebx,%r14d
441
addl %r13d,%eax
442
xorl %ecx,%r15d
443
addl %eax,%r8d
444
rorl $2,%r14d
445
addl %r15d,%eax
446
movl %r8d,%r13d
447
addl %eax,%r14d
448
vmovdqa %xmm6,16(%rsp)
449
vpalignr $4,%xmm2,%xmm3,%xmm4
450
rorl $14,%r13d
451
movl %r14d,%eax
452
vpalignr $4,%xmm0,%xmm1,%xmm7
453
movl %r9d,%r12d
454
xorl %r8d,%r13d
455
.byte 143,232,120,194,236,14
456
rorl $9,%r14d
457
xorl %r10d,%r12d
458
vpsrld $3,%xmm4,%xmm4
459
rorl $5,%r13d
460
xorl %eax,%r14d
461
vpaddd %xmm7,%xmm2,%xmm2
462
andl %r8d,%r12d
463
vaesenc %xmm10,%xmm9,%xmm9
464
vmovdqu 128-128(%rdi),%xmm10
465
xorl %r8d,%r13d
466
addl 32(%rsp),%r11d
467
movl %eax,%r15d
468
.byte 143,232,120,194,245,11
469
rorl $11,%r14d
470
xorl %r10d,%r12d
471
vpxor %xmm5,%xmm4,%xmm4
472
xorl %ebx,%r15d
473
rorl $6,%r13d
474
addl %r12d,%r11d
475
andl %r15d,%esi
476
.byte 143,232,120,194,249,13
477
xorl %eax,%r14d
478
addl %r13d,%r11d
479
vpxor %xmm6,%xmm4,%xmm4
480
xorl %ebx,%esi
481
addl %r11d,%edx
482
vpsrld $10,%xmm1,%xmm6
483
rorl $2,%r14d
484
addl %esi,%r11d
485
vpaddd %xmm4,%xmm2,%xmm2
486
movl %edx,%r13d
487
addl %r11d,%r14d
488
.byte 143,232,120,194,239,2
489
rorl $14,%r13d
490
movl %r14d,%r11d
491
vpxor %xmm6,%xmm7,%xmm7
492
movl %r8d,%r12d
493
xorl %edx,%r13d
494
rorl $9,%r14d
495
xorl %r9d,%r12d
496
vpxor %xmm5,%xmm7,%xmm7
497
rorl $5,%r13d
498
xorl %r11d,%r14d
499
andl %edx,%r12d
500
vaesenc %xmm10,%xmm9,%xmm9
501
vmovdqu 144-128(%rdi),%xmm10
502
xorl %edx,%r13d
503
vpsrldq $8,%xmm7,%xmm7
504
addl 36(%rsp),%r10d
505
movl %r11d,%esi
506
rorl $11,%r14d
507
xorl %r9d,%r12d
508
vpaddd %xmm7,%xmm2,%xmm2
509
xorl %eax,%esi
510
rorl $6,%r13d
511
addl %r12d,%r10d
512
andl %esi,%r15d
513
.byte 143,232,120,194,250,13
514
xorl %r11d,%r14d
515
addl %r13d,%r10d
516
vpsrld $10,%xmm2,%xmm6
517
xorl %eax,%r15d
518
addl %r10d,%ecx
519
.byte 143,232,120,194,239,2
520
rorl $2,%r14d
521
addl %r15d,%r10d
522
vpxor %xmm6,%xmm7,%xmm7
523
movl %ecx,%r13d
524
addl %r10d,%r14d
525
rorl $14,%r13d
526
movl %r14d,%r10d
527
vpxor %xmm5,%xmm7,%xmm7
528
movl %edx,%r12d
529
xorl %ecx,%r13d
530
rorl $9,%r14d
531
xorl %r8d,%r12d
532
vpslldq $8,%xmm7,%xmm7
533
rorl $5,%r13d
534
xorl %r10d,%r14d
535
andl %ecx,%r12d
536
vaesenc %xmm10,%xmm9,%xmm9
537
vmovdqu 160-128(%rdi),%xmm10
538
xorl %ecx,%r13d
539
vpaddd %xmm7,%xmm2,%xmm2
540
addl 40(%rsp),%r9d
541
movl %r10d,%r15d
542
rorl $11,%r14d
543
xorl %r8d,%r12d
544
vpaddd 64(%rbp),%xmm2,%xmm6
545
xorl %r11d,%r15d
546
rorl $6,%r13d
547
addl %r12d,%r9d
548
andl %r15d,%esi
549
xorl %r10d,%r14d
550
addl %r13d,%r9d
551
xorl %r11d,%esi
552
addl %r9d,%ebx
553
rorl $2,%r14d
554
addl %esi,%r9d
555
movl %ebx,%r13d
556
addl %r9d,%r14d
557
rorl $14,%r13d
558
movl %r14d,%r9d
559
movl %ecx,%r12d
560
xorl %ebx,%r13d
561
rorl $9,%r14d
562
xorl %edx,%r12d
563
rorl $5,%r13d
564
xorl %r9d,%r14d
565
andl %ebx,%r12d
566
vaesenclast %xmm10,%xmm9,%xmm11
567
vaesenc %xmm10,%xmm9,%xmm9
568
vmovdqu 176-128(%rdi),%xmm10
569
xorl %ebx,%r13d
570
addl 44(%rsp),%r8d
571
movl %r9d,%esi
572
rorl $11,%r14d
573
xorl %edx,%r12d
574
xorl %r10d,%esi
575
rorl $6,%r13d
576
addl %r12d,%r8d
577
andl %esi,%r15d
578
xorl %r9d,%r14d
579
addl %r13d,%r8d
580
xorl %r10d,%r15d
581
addl %r8d,%eax
582
rorl $2,%r14d
583
addl %r15d,%r8d
584
movl %eax,%r13d
585
addl %r8d,%r14d
586
vmovdqa %xmm6,32(%rsp)
587
vpalignr $4,%xmm3,%xmm0,%xmm4
588
rorl $14,%r13d
589
movl %r14d,%r8d
590
vpalignr $4,%xmm1,%xmm2,%xmm7
591
movl %ebx,%r12d
592
xorl %eax,%r13d
593
.byte 143,232,120,194,236,14
594
rorl $9,%r14d
595
xorl %ecx,%r12d
596
vpsrld $3,%xmm4,%xmm4
597
rorl $5,%r13d
598
xorl %r8d,%r14d
599
vpaddd %xmm7,%xmm3,%xmm3
600
andl %eax,%r12d
601
vpand %xmm12,%xmm11,%xmm8
602
vaesenc %xmm10,%xmm9,%xmm9
603
vmovdqu 192-128(%rdi),%xmm10
604
xorl %eax,%r13d
605
addl 48(%rsp),%edx
606
movl %r8d,%r15d
607
.byte 143,232,120,194,245,11
608
rorl $11,%r14d
609
xorl %ecx,%r12d
610
vpxor %xmm5,%xmm4,%xmm4
611
xorl %r9d,%r15d
612
rorl $6,%r13d
613
addl %r12d,%edx
614
andl %r15d,%esi
615
.byte 143,232,120,194,250,13
616
xorl %r8d,%r14d
617
addl %r13d,%edx
618
vpxor %xmm6,%xmm4,%xmm4
619
xorl %r9d,%esi
620
addl %edx,%r11d
621
vpsrld $10,%xmm2,%xmm6
622
rorl $2,%r14d
623
addl %esi,%edx
624
vpaddd %xmm4,%xmm3,%xmm3
625
movl %r11d,%r13d
626
addl %edx,%r14d
627
.byte 143,232,120,194,239,2
628
rorl $14,%r13d
629
movl %r14d,%edx
630
vpxor %xmm6,%xmm7,%xmm7
631
movl %eax,%r12d
632
xorl %r11d,%r13d
633
rorl $9,%r14d
634
xorl %ebx,%r12d
635
vpxor %xmm5,%xmm7,%xmm7
636
rorl $5,%r13d
637
xorl %edx,%r14d
638
andl %r11d,%r12d
639
vaesenclast %xmm10,%xmm9,%xmm11
640
vaesenc %xmm10,%xmm9,%xmm9
641
vmovdqu 208-128(%rdi),%xmm10
642
xorl %r11d,%r13d
643
vpsrldq $8,%xmm7,%xmm7
644
addl 52(%rsp),%ecx
645
movl %edx,%esi
646
rorl $11,%r14d
647
xorl %ebx,%r12d
648
vpaddd %xmm7,%xmm3,%xmm3
649
xorl %r8d,%esi
650
rorl $6,%r13d
651
addl %r12d,%ecx
652
andl %esi,%r15d
653
.byte 143,232,120,194,251,13
654
xorl %edx,%r14d
655
addl %r13d,%ecx
656
vpsrld $10,%xmm3,%xmm6
657
xorl %r8d,%r15d
658
addl %ecx,%r10d
659
.byte 143,232,120,194,239,2
660
rorl $2,%r14d
661
addl %r15d,%ecx
662
vpxor %xmm6,%xmm7,%xmm7
663
movl %r10d,%r13d
664
addl %ecx,%r14d
665
rorl $14,%r13d
666
movl %r14d,%ecx
667
vpxor %xmm5,%xmm7,%xmm7
668
movl %r11d,%r12d
669
xorl %r10d,%r13d
670
rorl $9,%r14d
671
xorl %eax,%r12d
672
vpslldq $8,%xmm7,%xmm7
673
rorl $5,%r13d
674
xorl %ecx,%r14d
675
andl %r10d,%r12d
676
vpand %xmm13,%xmm11,%xmm11
677
vaesenc %xmm10,%xmm9,%xmm9
678
vmovdqu 224-128(%rdi),%xmm10
679
xorl %r10d,%r13d
680
vpaddd %xmm7,%xmm3,%xmm3
681
addl 56(%rsp),%ebx
682
movl %ecx,%r15d
683
rorl $11,%r14d
684
xorl %eax,%r12d
685
vpaddd 96(%rbp),%xmm3,%xmm6
686
xorl %edx,%r15d
687
rorl $6,%r13d
688
addl %r12d,%ebx
689
andl %r15d,%esi
690
xorl %ecx,%r14d
691
addl %r13d,%ebx
692
xorl %edx,%esi
693
addl %ebx,%r9d
694
rorl $2,%r14d
695
addl %esi,%ebx
696
movl %r9d,%r13d
697
addl %ebx,%r14d
698
rorl $14,%r13d
699
movl %r14d,%ebx
700
movl %r10d,%r12d
701
xorl %r9d,%r13d
702
rorl $9,%r14d
703
xorl %r11d,%r12d
704
rorl $5,%r13d
705
xorl %ebx,%r14d
706
andl %r9d,%r12d
707
vpor %xmm11,%xmm8,%xmm8
708
vaesenclast %xmm10,%xmm9,%xmm11
709
vmovdqu 0-128(%rdi),%xmm10
710
xorl %r9d,%r13d
711
addl 60(%rsp),%eax
712
movl %ebx,%esi
713
rorl $11,%r14d
714
xorl %r11d,%r12d
715
xorl %ecx,%esi
716
rorl $6,%r13d
717
addl %r12d,%eax
718
andl %esi,%r15d
719
xorl %ebx,%r14d
720
addl %r13d,%eax
721
xorl %ecx,%r15d
722
addl %eax,%r8d
723
rorl $2,%r14d
724
addl %r15d,%eax
725
movl %r8d,%r13d
726
addl %eax,%r14d
727
vmovdqa %xmm6,48(%rsp)
728
movq 64+0(%rsp),%r12
729
vpand %xmm14,%xmm11,%xmm11
730
movq 64+8(%rsp),%r15
731
vpor %xmm11,%xmm8,%xmm8
732
vmovdqu %xmm8,(%r15,%r12,1)
733
leaq 16(%r12),%r12
734
cmpb $0,131(%rbp)
735
jne .Lxop_00_47
736
vmovdqu (%r12),%xmm9
737
movq %r12,64+0(%rsp)
738
rorl $14,%r13d
739
movl %r14d,%eax
740
movl %r9d,%r12d
741
xorl %r8d,%r13d
742
rorl $9,%r14d
743
xorl %r10d,%r12d
744
rorl $5,%r13d
745
xorl %eax,%r14d
746
andl %r8d,%r12d
747
vpxor %xmm10,%xmm9,%xmm9
748
vmovdqu 16-128(%rdi),%xmm10
749
xorl %r8d,%r13d
750
addl 0(%rsp),%r11d
751
movl %eax,%r15d
752
rorl $11,%r14d
753
xorl %r10d,%r12d
754
xorl %ebx,%r15d
755
rorl $6,%r13d
756
addl %r12d,%r11d
757
andl %r15d,%esi
758
xorl %eax,%r14d
759
addl %r13d,%r11d
760
xorl %ebx,%esi
761
addl %r11d,%edx
762
rorl $2,%r14d
763
addl %esi,%r11d
764
movl %edx,%r13d
765
addl %r11d,%r14d
766
rorl $14,%r13d
767
movl %r14d,%r11d
768
movl %r8d,%r12d
769
xorl %edx,%r13d
770
rorl $9,%r14d
771
xorl %r9d,%r12d
772
rorl $5,%r13d
773
xorl %r11d,%r14d
774
andl %edx,%r12d
775
vpxor %xmm8,%xmm9,%xmm9
776
xorl %edx,%r13d
777
addl 4(%rsp),%r10d
778
movl %r11d,%esi
779
rorl $11,%r14d
780
xorl %r9d,%r12d
781
xorl %eax,%esi
782
rorl $6,%r13d
783
addl %r12d,%r10d
784
andl %esi,%r15d
785
xorl %r11d,%r14d
786
addl %r13d,%r10d
787
xorl %eax,%r15d
788
addl %r10d,%ecx
789
rorl $2,%r14d
790
addl %r15d,%r10d
791
movl %ecx,%r13d
792
addl %r10d,%r14d
793
rorl $14,%r13d
794
movl %r14d,%r10d
795
movl %edx,%r12d
796
xorl %ecx,%r13d
797
rorl $9,%r14d
798
xorl %r8d,%r12d
799
rorl $5,%r13d
800
xorl %r10d,%r14d
801
andl %ecx,%r12d
802
vaesenc %xmm10,%xmm9,%xmm9
803
vmovdqu 32-128(%rdi),%xmm10
804
xorl %ecx,%r13d
805
addl 8(%rsp),%r9d
806
movl %r10d,%r15d
807
rorl $11,%r14d
808
xorl %r8d,%r12d
809
xorl %r11d,%r15d
810
rorl $6,%r13d
811
addl %r12d,%r9d
812
andl %r15d,%esi
813
xorl %r10d,%r14d
814
addl %r13d,%r9d
815
xorl %r11d,%esi
816
addl %r9d,%ebx
817
rorl $2,%r14d
818
addl %esi,%r9d
819
movl %ebx,%r13d
820
addl %r9d,%r14d
821
rorl $14,%r13d
822
movl %r14d,%r9d
823
movl %ecx,%r12d
824
xorl %ebx,%r13d
825
rorl $9,%r14d
826
xorl %edx,%r12d
827
rorl $5,%r13d
828
xorl %r9d,%r14d
829
andl %ebx,%r12d
830
vaesenc %xmm10,%xmm9,%xmm9
831
vmovdqu 48-128(%rdi),%xmm10
832
xorl %ebx,%r13d
833
addl 12(%rsp),%r8d
834
movl %r9d,%esi
835
rorl $11,%r14d
836
xorl %edx,%r12d
837
xorl %r10d,%esi
838
rorl $6,%r13d
839
addl %r12d,%r8d
840
andl %esi,%r15d
841
xorl %r9d,%r14d
842
addl %r13d,%r8d
843
xorl %r10d,%r15d
844
addl %r8d,%eax
845
rorl $2,%r14d
846
addl %r15d,%r8d
847
movl %eax,%r13d
848
addl %r8d,%r14d
849
rorl $14,%r13d
850
movl %r14d,%r8d
851
movl %ebx,%r12d
852
xorl %eax,%r13d
853
rorl $9,%r14d
854
xorl %ecx,%r12d
855
rorl $5,%r13d
856
xorl %r8d,%r14d
857
andl %eax,%r12d
858
vaesenc %xmm10,%xmm9,%xmm9
859
vmovdqu 64-128(%rdi),%xmm10
860
xorl %eax,%r13d
861
addl 16(%rsp),%edx
862
movl %r8d,%r15d
863
rorl $11,%r14d
864
xorl %ecx,%r12d
865
xorl %r9d,%r15d
866
rorl $6,%r13d
867
addl %r12d,%edx
868
andl %r15d,%esi
869
xorl %r8d,%r14d
870
addl %r13d,%edx
871
xorl %r9d,%esi
872
addl %edx,%r11d
873
rorl $2,%r14d
874
addl %esi,%edx
875
movl %r11d,%r13d
876
addl %edx,%r14d
877
rorl $14,%r13d
878
movl %r14d,%edx
879
movl %eax,%r12d
880
xorl %r11d,%r13d
881
rorl $9,%r14d
882
xorl %ebx,%r12d
883
rorl $5,%r13d
884
xorl %edx,%r14d
885
andl %r11d,%r12d
886
vaesenc %xmm10,%xmm9,%xmm9
887
vmovdqu 80-128(%rdi),%xmm10
888
xorl %r11d,%r13d
889
addl 20(%rsp),%ecx
890
movl %edx,%esi
891
rorl $11,%r14d
892
xorl %ebx,%r12d
893
xorl %r8d,%esi
894
rorl $6,%r13d
895
addl %r12d,%ecx
896
andl %esi,%r15d
897
xorl %edx,%r14d
898
addl %r13d,%ecx
899
xorl %r8d,%r15d
900
addl %ecx,%r10d
901
rorl $2,%r14d
902
addl %r15d,%ecx
903
movl %r10d,%r13d
904
addl %ecx,%r14d
905
rorl $14,%r13d
906
movl %r14d,%ecx
907
movl %r11d,%r12d
908
xorl %r10d,%r13d
909
rorl $9,%r14d
910
xorl %eax,%r12d
911
rorl $5,%r13d
912
xorl %ecx,%r14d
913
andl %r10d,%r12d
914
vaesenc %xmm10,%xmm9,%xmm9
915
vmovdqu 96-128(%rdi),%xmm10
916
xorl %r10d,%r13d
917
addl 24(%rsp),%ebx
918
movl %ecx,%r15d
919
rorl $11,%r14d
920
xorl %eax,%r12d
921
xorl %edx,%r15d
922
rorl $6,%r13d
923
addl %r12d,%ebx
924
andl %r15d,%esi
925
xorl %ecx,%r14d
926
addl %r13d,%ebx
927
xorl %edx,%esi
928
addl %ebx,%r9d
929
rorl $2,%r14d
930
addl %esi,%ebx
931
movl %r9d,%r13d
932
addl %ebx,%r14d
933
rorl $14,%r13d
934
movl %r14d,%ebx
935
movl %r10d,%r12d
936
xorl %r9d,%r13d
937
rorl $9,%r14d
938
xorl %r11d,%r12d
939
rorl $5,%r13d
940
xorl %ebx,%r14d
941
andl %r9d,%r12d
942
vaesenc %xmm10,%xmm9,%xmm9
943
vmovdqu 112-128(%rdi),%xmm10
944
xorl %r9d,%r13d
945
addl 28(%rsp),%eax
946
movl %ebx,%esi
947
rorl $11,%r14d
948
xorl %r11d,%r12d
949
xorl %ecx,%esi
950
rorl $6,%r13d
951
addl %r12d,%eax
952
andl %esi,%r15d
953
xorl %ebx,%r14d
954
addl %r13d,%eax
955
xorl %ecx,%r15d
956
addl %eax,%r8d
957
rorl $2,%r14d
958
addl %r15d,%eax
959
movl %r8d,%r13d
960
addl %eax,%r14d
961
rorl $14,%r13d
962
movl %r14d,%eax
963
movl %r9d,%r12d
964
xorl %r8d,%r13d
965
rorl $9,%r14d
966
xorl %r10d,%r12d
967
rorl $5,%r13d
968
xorl %eax,%r14d
969
andl %r8d,%r12d
970
vaesenc %xmm10,%xmm9,%xmm9
971
vmovdqu 128-128(%rdi),%xmm10
972
xorl %r8d,%r13d
973
addl 32(%rsp),%r11d
974
movl %eax,%r15d
975
rorl $11,%r14d
976
xorl %r10d,%r12d
977
xorl %ebx,%r15d
978
rorl $6,%r13d
979
addl %r12d,%r11d
980
andl %r15d,%esi
981
xorl %eax,%r14d
982
addl %r13d,%r11d
983
xorl %ebx,%esi
984
addl %r11d,%edx
985
rorl $2,%r14d
986
addl %esi,%r11d
987
movl %edx,%r13d
988
addl %r11d,%r14d
989
rorl $14,%r13d
990
movl %r14d,%r11d
991
movl %r8d,%r12d
992
xorl %edx,%r13d
993
rorl $9,%r14d
994
xorl %r9d,%r12d
995
rorl $5,%r13d
996
xorl %r11d,%r14d
997
andl %edx,%r12d
998
vaesenc %xmm10,%xmm9,%xmm9
999
vmovdqu 144-128(%rdi),%xmm10
1000
xorl %edx,%r13d
1001
addl 36(%rsp),%r10d
1002
movl %r11d,%esi
1003
rorl $11,%r14d
1004
xorl %r9d,%r12d
1005
xorl %eax,%esi
1006
rorl $6,%r13d
1007
addl %r12d,%r10d
1008
andl %esi,%r15d
1009
xorl %r11d,%r14d
1010
addl %r13d,%r10d
1011
xorl %eax,%r15d
1012
addl %r10d,%ecx
1013
rorl $2,%r14d
1014
addl %r15d,%r10d
1015
movl %ecx,%r13d
1016
addl %r10d,%r14d
1017
rorl $14,%r13d
1018
movl %r14d,%r10d
1019
movl %edx,%r12d
1020
xorl %ecx,%r13d
1021
rorl $9,%r14d
1022
xorl %r8d,%r12d
1023
rorl $5,%r13d
1024
xorl %r10d,%r14d
1025
andl %ecx,%r12d
1026
vaesenc %xmm10,%xmm9,%xmm9
1027
vmovdqu 160-128(%rdi),%xmm10
1028
xorl %ecx,%r13d
1029
addl 40(%rsp),%r9d
1030
movl %r10d,%r15d
1031
rorl $11,%r14d
1032
xorl %r8d,%r12d
1033
xorl %r11d,%r15d
1034
rorl $6,%r13d
1035
addl %r12d,%r9d
1036
andl %r15d,%esi
1037
xorl %r10d,%r14d
1038
addl %r13d,%r9d
1039
xorl %r11d,%esi
1040
addl %r9d,%ebx
1041
rorl $2,%r14d
1042
addl %esi,%r9d
1043
movl %ebx,%r13d
1044
addl %r9d,%r14d
1045
rorl $14,%r13d
1046
movl %r14d,%r9d
1047
movl %ecx,%r12d
1048
xorl %ebx,%r13d
1049
rorl $9,%r14d
1050
xorl %edx,%r12d
1051
rorl $5,%r13d
1052
xorl %r9d,%r14d
1053
andl %ebx,%r12d
1054
vaesenclast %xmm10,%xmm9,%xmm11
1055
vaesenc %xmm10,%xmm9,%xmm9
1056
vmovdqu 176-128(%rdi),%xmm10
1057
xorl %ebx,%r13d
1058
addl 44(%rsp),%r8d
1059
movl %r9d,%esi
1060
rorl $11,%r14d
1061
xorl %edx,%r12d
1062
xorl %r10d,%esi
1063
rorl $6,%r13d
1064
addl %r12d,%r8d
1065
andl %esi,%r15d
1066
xorl %r9d,%r14d
1067
addl %r13d,%r8d
1068
xorl %r10d,%r15d
1069
addl %r8d,%eax
1070
rorl $2,%r14d
1071
addl %r15d,%r8d
1072
movl %eax,%r13d
1073
addl %r8d,%r14d
1074
rorl $14,%r13d
1075
movl %r14d,%r8d
1076
movl %ebx,%r12d
1077
xorl %eax,%r13d
1078
rorl $9,%r14d
1079
xorl %ecx,%r12d
1080
rorl $5,%r13d
1081
xorl %r8d,%r14d
1082
andl %eax,%r12d
1083
vpand %xmm12,%xmm11,%xmm8
1084
vaesenc %xmm10,%xmm9,%xmm9
1085
vmovdqu 192-128(%rdi),%xmm10
1086
xorl %eax,%r13d
1087
addl 48(%rsp),%edx
1088
movl %r8d,%r15d
1089
rorl $11,%r14d
1090
xorl %ecx,%r12d
1091
xorl %r9d,%r15d
1092
rorl $6,%r13d
1093
addl %r12d,%edx
1094
andl %r15d,%esi
1095
xorl %r8d,%r14d
1096
addl %r13d,%edx
1097
xorl %r9d,%esi
1098
addl %edx,%r11d
1099
rorl $2,%r14d
1100
addl %esi,%edx
1101
movl %r11d,%r13d
1102
addl %edx,%r14d
1103
rorl $14,%r13d
1104
movl %r14d,%edx
1105
movl %eax,%r12d
1106
xorl %r11d,%r13d
1107
rorl $9,%r14d
1108
xorl %ebx,%r12d
1109
rorl $5,%r13d
1110
xorl %edx,%r14d
1111
andl %r11d,%r12d
1112
vaesenclast %xmm10,%xmm9,%xmm11
1113
vaesenc %xmm10,%xmm9,%xmm9
1114
vmovdqu 208-128(%rdi),%xmm10
1115
xorl %r11d,%r13d
1116
addl 52(%rsp),%ecx
1117
movl %edx,%esi
1118
rorl $11,%r14d
1119
xorl %ebx,%r12d
1120
xorl %r8d,%esi
1121
rorl $6,%r13d
1122
addl %r12d,%ecx
1123
andl %esi,%r15d
1124
xorl %edx,%r14d
1125
addl %r13d,%ecx
1126
xorl %r8d,%r15d
1127
addl %ecx,%r10d
1128
rorl $2,%r14d
1129
addl %r15d,%ecx
1130
movl %r10d,%r13d
1131
addl %ecx,%r14d
1132
rorl $14,%r13d
1133
movl %r14d,%ecx
1134
movl %r11d,%r12d
1135
xorl %r10d,%r13d
1136
rorl $9,%r14d
1137
xorl %eax,%r12d
1138
rorl $5,%r13d
1139
xorl %ecx,%r14d
1140
andl %r10d,%r12d
1141
vpand %xmm13,%xmm11,%xmm11
1142
vaesenc %xmm10,%xmm9,%xmm9
1143
vmovdqu 224-128(%rdi),%xmm10
1144
xorl %r10d,%r13d
1145
addl 56(%rsp),%ebx
1146
movl %ecx,%r15d
1147
rorl $11,%r14d
1148
xorl %eax,%r12d
1149
xorl %edx,%r15d
1150
rorl $6,%r13d
1151
addl %r12d,%ebx
1152
andl %r15d,%esi
1153
xorl %ecx,%r14d
1154
addl %r13d,%ebx
1155
xorl %edx,%esi
1156
addl %ebx,%r9d
1157
rorl $2,%r14d
1158
addl %esi,%ebx
1159
movl %r9d,%r13d
1160
addl %ebx,%r14d
1161
rorl $14,%r13d
1162
movl %r14d,%ebx
1163
movl %r10d,%r12d
1164
xorl %r9d,%r13d
1165
rorl $9,%r14d
1166
xorl %r11d,%r12d
1167
rorl $5,%r13d
1168
xorl %ebx,%r14d
1169
andl %r9d,%r12d
1170
vpor %xmm11,%xmm8,%xmm8
1171
vaesenclast %xmm10,%xmm9,%xmm11
1172
vmovdqu 0-128(%rdi),%xmm10
1173
xorl %r9d,%r13d
1174
addl 60(%rsp),%eax
1175
movl %ebx,%esi
1176
rorl $11,%r14d
1177
xorl %r11d,%r12d
1178
xorl %ecx,%esi
1179
rorl $6,%r13d
1180
addl %r12d,%eax
1181
andl %esi,%r15d
1182
xorl %ebx,%r14d
1183
addl %r13d,%eax
1184
xorl %ecx,%r15d
1185
addl %eax,%r8d
1186
rorl $2,%r14d
1187
addl %r15d,%eax
1188
movl %r8d,%r13d
1189
addl %eax,%r14d
1190
movq 64+0(%rsp),%r12
1191
movq 64+8(%rsp),%r13
1192
movq 64+40(%rsp),%r15
1193
movq 64+48(%rsp),%rsi
1194
1195
vpand %xmm14,%xmm11,%xmm11
1196
movl %r14d,%eax
1197
vpor %xmm11,%xmm8,%xmm8
1198
vmovdqu %xmm8,(%r12,%r13,1)
1199
leaq 16(%r12),%r12
1200
1201
addl 0(%r15),%eax
1202
addl 4(%r15),%ebx
1203
addl 8(%r15),%ecx
1204
addl 12(%r15),%edx
1205
addl 16(%r15),%r8d
1206
addl 20(%r15),%r9d
1207
addl 24(%r15),%r10d
1208
addl 28(%r15),%r11d
1209
1210
cmpq 64+16(%rsp),%r12
1211
1212
movl %eax,0(%r15)
1213
movl %ebx,4(%r15)
1214
movl %ecx,8(%r15)
1215
movl %edx,12(%r15)
1216
movl %r8d,16(%r15)
1217
movl %r9d,20(%r15)
1218
movl %r10d,24(%r15)
1219
movl %r11d,28(%r15)
1220
1221
jb .Lloop_xop
1222
1223
movq 64+32(%rsp),%r8
1224
movq 120(%rsp),%rsi
1225
.cfi_def_cfa %rsi,8
1226
vmovdqu %xmm8,(%r8)
1227
vzeroall
1228
movq -48(%rsi),%r15
1229
.cfi_restore %r15
1230
movq -40(%rsi),%r14
1231
.cfi_restore %r14
1232
movq -32(%rsi),%r13
1233
.cfi_restore %r13
1234
movq -24(%rsi),%r12
1235
.cfi_restore %r12
1236
movq -16(%rsi),%rbp
1237
.cfi_restore %rbp
1238
movq -8(%rsi),%rbx
1239
.cfi_restore %rbx
1240
leaq (%rsi),%rsp
1241
.cfi_def_cfa_register %rsp
1242
.Lepilogue_xop:
1243
.byte 0xf3,0xc3
1244
.cfi_endproc
1245
.size aesni_cbc_sha256_enc_xop,.-aesni_cbc_sha256_enc_xop
1246
.type aesni_cbc_sha256_enc_avx,@function
1247
.align 64
1248
aesni_cbc_sha256_enc_avx:
1249
.cfi_startproc
1250
.Lavx_shortcut:
1251
movq 8(%rsp),%r10
1252
movq %rsp,%rax
1253
.cfi_def_cfa_register %rax
1254
pushq %rbx
1255
.cfi_offset %rbx,-16
1256
pushq %rbp
1257
.cfi_offset %rbp,-24
1258
pushq %r12
1259
.cfi_offset %r12,-32
1260
pushq %r13
1261
.cfi_offset %r13,-40
1262
pushq %r14
1263
.cfi_offset %r14,-48
1264
pushq %r15
1265
.cfi_offset %r15,-56
1266
subq $128,%rsp
1267
andq $-64,%rsp
1268
1269
shlq $6,%rdx
1270
subq %rdi,%rsi
1271
subq %rdi,%r10
1272
addq %rdi,%rdx
1273
1274
1275
movq %rsi,64+8(%rsp)
1276
movq %rdx,64+16(%rsp)
1277
1278
movq %r8,64+32(%rsp)
1279
movq %r9,64+40(%rsp)
1280
movq %r10,64+48(%rsp)
1281
movq %rax,120(%rsp)
1282
.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08
1283
.Lprologue_avx:
1284
vzeroall
1285
1286
movq %rdi,%r12
1287
leaq 128(%rcx),%rdi
1288
leaq K256+544(%rip),%r13
1289
movl 240-128(%rdi),%r14d
1290
movq %r9,%r15
1291
movq %r10,%rsi
1292
vmovdqu (%r8),%xmm8
1293
subq $9,%r14
1294
1295
movl 0(%r15),%eax
1296
movl 4(%r15),%ebx
1297
movl 8(%r15),%ecx
1298
movl 12(%r15),%edx
1299
movl 16(%r15),%r8d
1300
movl 20(%r15),%r9d
1301
movl 24(%r15),%r10d
1302
movl 28(%r15),%r11d
1303
1304
vmovdqa 0(%r13,%r14,8),%xmm14
1305
vmovdqa 16(%r13,%r14,8),%xmm13
1306
vmovdqa 32(%r13,%r14,8),%xmm12
1307
vmovdqu 0-128(%rdi),%xmm10
1308
jmp .Lloop_avx
1309
.align 16
1310
.Lloop_avx:
1311
vmovdqa K256+512(%rip),%xmm7
1312
vmovdqu 0(%rsi,%r12,1),%xmm0
1313
vmovdqu 16(%rsi,%r12,1),%xmm1
1314
vmovdqu 32(%rsi,%r12,1),%xmm2
1315
vmovdqu 48(%rsi,%r12,1),%xmm3
1316
vpshufb %xmm7,%xmm0,%xmm0
1317
leaq K256(%rip),%rbp
1318
vpshufb %xmm7,%xmm1,%xmm1
1319
vpshufb %xmm7,%xmm2,%xmm2
1320
vpaddd 0(%rbp),%xmm0,%xmm4
1321
vpshufb %xmm7,%xmm3,%xmm3
1322
vpaddd 32(%rbp),%xmm1,%xmm5
1323
vpaddd 64(%rbp),%xmm2,%xmm6
1324
vpaddd 96(%rbp),%xmm3,%xmm7
1325
vmovdqa %xmm4,0(%rsp)
1326
movl %eax,%r14d
1327
vmovdqa %xmm5,16(%rsp)
1328
movl %ebx,%esi
1329
vmovdqa %xmm6,32(%rsp)
1330
xorl %ecx,%esi
1331
vmovdqa %xmm7,48(%rsp)
1332
movl %r8d,%r13d
1333
jmp .Lavx_00_47
1334
1335
.align 16
1336
.Lavx_00_47:
1337
subq $-32*4,%rbp
1338
vmovdqu (%r12),%xmm9
1339
movq %r12,64+0(%rsp)
1340
vpalignr $4,%xmm0,%xmm1,%xmm4
1341
shrdl $14,%r13d,%r13d
1342
movl %r14d,%eax
1343
movl %r9d,%r12d
1344
vpalignr $4,%xmm2,%xmm3,%xmm7
1345
xorl %r8d,%r13d
1346
shrdl $9,%r14d,%r14d
1347
xorl %r10d,%r12d
1348
vpsrld $7,%xmm4,%xmm6
1349
shrdl $5,%r13d,%r13d
1350
xorl %eax,%r14d
1351
andl %r8d,%r12d
1352
vpaddd %xmm7,%xmm0,%xmm0
1353
vpxor %xmm10,%xmm9,%xmm9
1354
vmovdqu 16-128(%rdi),%xmm10
1355
xorl %r8d,%r13d
1356
addl 0(%rsp),%r11d
1357
movl %eax,%r15d
1358
vpsrld $3,%xmm4,%xmm7
1359
shrdl $11,%r14d,%r14d
1360
xorl %r10d,%r12d
1361
xorl %ebx,%r15d
1362
vpslld $14,%xmm4,%xmm5
1363
shrdl $6,%r13d,%r13d
1364
addl %r12d,%r11d
1365
andl %r15d,%esi
1366
vpxor %xmm6,%xmm7,%xmm4
1367
xorl %eax,%r14d
1368
addl %r13d,%r11d
1369
xorl %ebx,%esi
1370
vpshufd $250,%xmm3,%xmm7
1371
addl %r11d,%edx
1372
shrdl $2,%r14d,%r14d
1373
addl %esi,%r11d
1374
vpsrld $11,%xmm6,%xmm6
1375
movl %edx,%r13d
1376
addl %r11d,%r14d
1377
shrdl $14,%r13d,%r13d
1378
vpxor %xmm5,%xmm4,%xmm4
1379
movl %r14d,%r11d
1380
movl %r8d,%r12d
1381
xorl %edx,%r13d
1382
vpslld $11,%xmm5,%xmm5
1383
shrdl $9,%r14d,%r14d
1384
xorl %r9d,%r12d
1385
shrdl $5,%r13d,%r13d
1386
vpxor %xmm6,%xmm4,%xmm4
1387
xorl %r11d,%r14d
1388
andl %edx,%r12d
1389
vpxor %xmm8,%xmm9,%xmm9
1390
xorl %edx,%r13d
1391
vpsrld $10,%xmm7,%xmm6
1392
addl 4(%rsp),%r10d
1393
movl %r11d,%esi
1394
shrdl $11,%r14d,%r14d
1395
vpxor %xmm5,%xmm4,%xmm4
1396
xorl %r9d,%r12d
1397
xorl %eax,%esi
1398
shrdl $6,%r13d,%r13d
1399
vpsrlq $17,%xmm7,%xmm7
1400
addl %r12d,%r10d
1401
andl %esi,%r15d
1402
xorl %r11d,%r14d
1403
vpaddd %xmm4,%xmm0,%xmm0
1404
addl %r13d,%r10d
1405
xorl %eax,%r15d
1406
addl %r10d,%ecx
1407
vpxor %xmm7,%xmm6,%xmm6
1408
shrdl $2,%r14d,%r14d
1409
addl %r15d,%r10d
1410
movl %ecx,%r13d
1411
vpsrlq $2,%xmm7,%xmm7
1412
addl %r10d,%r14d
1413
shrdl $14,%r13d,%r13d
1414
movl %r14d,%r10d
1415
vpxor %xmm7,%xmm6,%xmm6
1416
movl %edx,%r12d
1417
xorl %ecx,%r13d
1418
shrdl $9,%r14d,%r14d
1419
vpshufd $132,%xmm6,%xmm6
1420
xorl %r8d,%r12d
1421
shrdl $5,%r13d,%r13d
1422
xorl %r10d,%r14d
1423
vpsrldq $8,%xmm6,%xmm6
1424
andl %ecx,%r12d
1425
vaesenc %xmm10,%xmm9,%xmm9
1426
vmovdqu 32-128(%rdi),%xmm10
1427
xorl %ecx,%r13d
1428
addl 8(%rsp),%r9d
1429
vpaddd %xmm6,%xmm0,%xmm0
1430
movl %r10d,%r15d
1431
shrdl $11,%r14d,%r14d
1432
xorl %r8d,%r12d
1433
vpshufd $80,%xmm0,%xmm7
1434
xorl %r11d,%r15d
1435
shrdl $6,%r13d,%r13d
1436
addl %r12d,%r9d
1437
vpsrld $10,%xmm7,%xmm6
1438
andl %r15d,%esi
1439
xorl %r10d,%r14d
1440
addl %r13d,%r9d
1441
vpsrlq $17,%xmm7,%xmm7
1442
xorl %r11d,%esi
1443
addl %r9d,%ebx
1444
shrdl $2,%r14d,%r14d
1445
vpxor %xmm7,%xmm6,%xmm6
1446
addl %esi,%r9d
1447
movl %ebx,%r13d
1448
addl %r9d,%r14d
1449
vpsrlq $2,%xmm7,%xmm7
1450
shrdl $14,%r13d,%r13d
1451
movl %r14d,%r9d
1452
movl %ecx,%r12d
1453
vpxor %xmm7,%xmm6,%xmm6
1454
xorl %ebx,%r13d
1455
shrdl $9,%r14d,%r14d
1456
xorl %edx,%r12d
1457
vpshufd $232,%xmm6,%xmm6
1458
shrdl $5,%r13d,%r13d
1459
xorl %r9d,%r14d
1460
andl %ebx,%r12d
1461
vpslldq $8,%xmm6,%xmm6
1462
vaesenc %xmm10,%xmm9,%xmm9
1463
vmovdqu 48-128(%rdi),%xmm10
1464
xorl %ebx,%r13d
1465
addl 12(%rsp),%r8d
1466
movl %r9d,%esi
1467
vpaddd %xmm6,%xmm0,%xmm0
1468
shrdl $11,%r14d,%r14d
1469
xorl %edx,%r12d
1470
xorl %r10d,%esi
1471
vpaddd 0(%rbp),%xmm0,%xmm6
1472
shrdl $6,%r13d,%r13d
1473
addl %r12d,%r8d
1474
andl %esi,%r15d
1475
xorl %r9d,%r14d
1476
addl %r13d,%r8d
1477
xorl %r10d,%r15d
1478
addl %r8d,%eax
1479
shrdl $2,%r14d,%r14d
1480
addl %r15d,%r8d
1481
movl %eax,%r13d
1482
addl %r8d,%r14d
1483
vmovdqa %xmm6,0(%rsp)
1484
vpalignr $4,%xmm1,%xmm2,%xmm4
1485
shrdl $14,%r13d,%r13d
1486
movl %r14d,%r8d
1487
movl %ebx,%r12d
1488
vpalignr $4,%xmm3,%xmm0,%xmm7
1489
xorl %eax,%r13d
1490
shrdl $9,%r14d,%r14d
1491
xorl %ecx,%r12d
1492
vpsrld $7,%xmm4,%xmm6
1493
shrdl $5,%r13d,%r13d
1494
xorl %r8d,%r14d
1495
andl %eax,%r12d
1496
vpaddd %xmm7,%xmm1,%xmm1
1497
vaesenc %xmm10,%xmm9,%xmm9
1498
vmovdqu 64-128(%rdi),%xmm10
1499
xorl %eax,%r13d
1500
addl 16(%rsp),%edx
1501
movl %r8d,%r15d
1502
vpsrld $3,%xmm4,%xmm7
1503
shrdl $11,%r14d,%r14d
1504
xorl %ecx,%r12d
1505
xorl %r9d,%r15d
1506
vpslld $14,%xmm4,%xmm5
1507
shrdl $6,%r13d,%r13d
1508
addl %r12d,%edx
1509
andl %r15d,%esi
1510
vpxor %xmm6,%xmm7,%xmm4
1511
xorl %r8d,%r14d
1512
addl %r13d,%edx
1513
xorl %r9d,%esi
1514
vpshufd $250,%xmm0,%xmm7
1515
addl %edx,%r11d
1516
shrdl $2,%r14d,%r14d
1517
addl %esi,%edx
1518
vpsrld $11,%xmm6,%xmm6
1519
movl %r11d,%r13d
1520
addl %edx,%r14d
1521
shrdl $14,%r13d,%r13d
1522
vpxor %xmm5,%xmm4,%xmm4
1523
movl %r14d,%edx
1524
movl %eax,%r12d
1525
xorl %r11d,%r13d
1526
vpslld $11,%xmm5,%xmm5
1527
shrdl $9,%r14d,%r14d
1528
xorl %ebx,%r12d
1529
shrdl $5,%r13d,%r13d
1530
vpxor %xmm6,%xmm4,%xmm4
1531
xorl %edx,%r14d
1532
andl %r11d,%r12d
1533
vaesenc %xmm10,%xmm9,%xmm9
1534
vmovdqu 80-128(%rdi),%xmm10
1535
xorl %r11d,%r13d
1536
vpsrld $10,%xmm7,%xmm6
1537
addl 20(%rsp),%ecx
1538
movl %edx,%esi
1539
shrdl $11,%r14d,%r14d
1540
vpxor %xmm5,%xmm4,%xmm4
1541
xorl %ebx,%r12d
1542
xorl %r8d,%esi
1543
shrdl $6,%r13d,%r13d
1544
vpsrlq $17,%xmm7,%xmm7
1545
addl %r12d,%ecx
1546
andl %esi,%r15d
1547
xorl %edx,%r14d
1548
vpaddd %xmm4,%xmm1,%xmm1
1549
addl %r13d,%ecx
1550
xorl %r8d,%r15d
1551
addl %ecx,%r10d
1552
vpxor %xmm7,%xmm6,%xmm6
1553
shrdl $2,%r14d,%r14d
1554
addl %r15d,%ecx
1555
movl %r10d,%r13d
1556
vpsrlq $2,%xmm7,%xmm7
1557
addl %ecx,%r14d
1558
shrdl $14,%r13d,%r13d
1559
movl %r14d,%ecx
1560
vpxor %xmm7,%xmm6,%xmm6
1561
movl %r11d,%r12d
1562
xorl %r10d,%r13d
1563
shrdl $9,%r14d,%r14d
1564
vpshufd $132,%xmm6,%xmm6
1565
xorl %eax,%r12d
1566
shrdl $5,%r13d,%r13d
1567
xorl %ecx,%r14d
1568
vpsrldq $8,%xmm6,%xmm6
1569
andl %r10d,%r12d
1570
vaesenc %xmm10,%xmm9,%xmm9
1571
vmovdqu 96-128(%rdi),%xmm10
1572
xorl %r10d,%r13d
1573
addl 24(%rsp),%ebx
1574
vpaddd %xmm6,%xmm1,%xmm1
1575
movl %ecx,%r15d
1576
shrdl $11,%r14d,%r14d
1577
xorl %eax,%r12d
1578
vpshufd $80,%xmm1,%xmm7
1579
xorl %edx,%r15d
1580
shrdl $6,%r13d,%r13d
1581
addl %r12d,%ebx
1582
vpsrld $10,%xmm7,%xmm6
1583
andl %r15d,%esi
1584
xorl %ecx,%r14d
1585
addl %r13d,%ebx
1586
vpsrlq $17,%xmm7,%xmm7
1587
xorl %edx,%esi
1588
addl %ebx,%r9d
1589
shrdl $2,%r14d,%r14d
1590
vpxor %xmm7,%xmm6,%xmm6
1591
addl %esi,%ebx
1592
movl %r9d,%r13d
1593
addl %ebx,%r14d
1594
vpsrlq $2,%xmm7,%xmm7
1595
shrdl $14,%r13d,%r13d
1596
movl %r14d,%ebx
1597
movl %r10d,%r12d
1598
vpxor %xmm7,%xmm6,%xmm6
1599
xorl %r9d,%r13d
1600
shrdl $9,%r14d,%r14d
1601
xorl %r11d,%r12d
1602
vpshufd $232,%xmm6,%xmm6
1603
shrdl $5,%r13d,%r13d
1604
xorl %ebx,%r14d
1605
andl %r9d,%r12d
1606
vpslldq $8,%xmm6,%xmm6
1607
vaesenc %xmm10,%xmm9,%xmm9
1608
vmovdqu 112-128(%rdi),%xmm10
1609
xorl %r9d,%r13d
1610
addl 28(%rsp),%eax
1611
movl %ebx,%esi
1612
vpaddd %xmm6,%xmm1,%xmm1
1613
shrdl $11,%r14d,%r14d
1614
xorl %r11d,%r12d
1615
xorl %ecx,%esi
1616
vpaddd 32(%rbp),%xmm1,%xmm6
1617
shrdl $6,%r13d,%r13d
1618
addl %r12d,%eax
1619
andl %esi,%r15d
1620
xorl %ebx,%r14d
1621
addl %r13d,%eax
1622
xorl %ecx,%r15d
1623
addl %eax,%r8d
1624
shrdl $2,%r14d,%r14d
1625
addl %r15d,%eax
1626
movl %r8d,%r13d
1627
addl %eax,%r14d
1628
vmovdqa %xmm6,16(%rsp)
1629
vpalignr $4,%xmm2,%xmm3,%xmm4
1630
shrdl $14,%r13d,%r13d
1631
movl %r14d,%eax
1632
movl %r9d,%r12d
1633
vpalignr $4,%xmm0,%xmm1,%xmm7
1634
xorl %r8d,%r13d
1635
shrdl $9,%r14d,%r14d
1636
xorl %r10d,%r12d
1637
vpsrld $7,%xmm4,%xmm6
1638
shrdl $5,%r13d,%r13d
1639
xorl %eax,%r14d
1640
andl %r8d,%r12d
1641
vpaddd %xmm7,%xmm2,%xmm2
1642
vaesenc %xmm10,%xmm9,%xmm9
1643
vmovdqu 128-128(%rdi),%xmm10
1644
xorl %r8d,%r13d
1645
addl 32(%rsp),%r11d
1646
movl %eax,%r15d
1647
vpsrld $3,%xmm4,%xmm7
1648
shrdl $11,%r14d,%r14d
1649
xorl %r10d,%r12d
1650
xorl %ebx,%r15d
1651
vpslld $14,%xmm4,%xmm5
1652
shrdl $6,%r13d,%r13d
1653
addl %r12d,%r11d
1654
andl %r15d,%esi
1655
vpxor %xmm6,%xmm7,%xmm4
1656
xorl %eax,%r14d
1657
addl %r13d,%r11d
1658
xorl %ebx,%esi
1659
vpshufd $250,%xmm1,%xmm7
1660
addl %r11d,%edx
1661
shrdl $2,%r14d,%r14d
1662
addl %esi,%r11d
1663
vpsrld $11,%xmm6,%xmm6
1664
movl %edx,%r13d
1665
addl %r11d,%r14d
1666
shrdl $14,%r13d,%r13d
1667
vpxor %xmm5,%xmm4,%xmm4
1668
movl %r14d,%r11d
1669
movl %r8d,%r12d
1670
xorl %edx,%r13d
1671
vpslld $11,%xmm5,%xmm5
1672
shrdl $9,%r14d,%r14d
1673
xorl %r9d,%r12d
1674
shrdl $5,%r13d,%r13d
1675
vpxor %xmm6,%xmm4,%xmm4
1676
xorl %r11d,%r14d
1677
andl %edx,%r12d
1678
vaesenc %xmm10,%xmm9,%xmm9
1679
vmovdqu 144-128(%rdi),%xmm10
1680
xorl %edx,%r13d
1681
vpsrld $10,%xmm7,%xmm6
1682
addl 36(%rsp),%r10d
1683
movl %r11d,%esi
1684
shrdl $11,%r14d,%r14d
1685
vpxor %xmm5,%xmm4,%xmm4
1686
xorl %r9d,%r12d
1687
xorl %eax,%esi
1688
shrdl $6,%r13d,%r13d
1689
vpsrlq $17,%xmm7,%xmm7
1690
addl %r12d,%r10d
1691
andl %esi,%r15d
1692
xorl %r11d,%r14d
1693
vpaddd %xmm4,%xmm2,%xmm2
1694
addl %r13d,%r10d
1695
xorl %eax,%r15d
1696
addl %r10d,%ecx
1697
vpxor %xmm7,%xmm6,%xmm6
1698
shrdl $2,%r14d,%r14d
1699
addl %r15d,%r10d
1700
movl %ecx,%r13d
1701
vpsrlq $2,%xmm7,%xmm7
1702
addl %r10d,%r14d
1703
shrdl $14,%r13d,%r13d
1704
movl %r14d,%r10d
1705
vpxor %xmm7,%xmm6,%xmm6
1706
movl %edx,%r12d
1707
xorl %ecx,%r13d
1708
shrdl $9,%r14d,%r14d
1709
vpshufd $132,%xmm6,%xmm6
1710
xorl %r8d,%r12d
1711
shrdl $5,%r13d,%r13d
1712
xorl %r10d,%r14d
1713
vpsrldq $8,%xmm6,%xmm6
1714
andl %ecx,%r12d
1715
vaesenc %xmm10,%xmm9,%xmm9
1716
vmovdqu 160-128(%rdi),%xmm10
1717
xorl %ecx,%r13d
1718
addl 40(%rsp),%r9d
1719
vpaddd %xmm6,%xmm2,%xmm2
1720
movl %r10d,%r15d
1721
shrdl $11,%r14d,%r14d
1722
xorl %r8d,%r12d
1723
vpshufd $80,%xmm2,%xmm7
1724
xorl %r11d,%r15d
1725
shrdl $6,%r13d,%r13d
1726
addl %r12d,%r9d
1727
vpsrld $10,%xmm7,%xmm6
1728
andl %r15d,%esi
1729
xorl %r10d,%r14d
1730
addl %r13d,%r9d
1731
vpsrlq $17,%xmm7,%xmm7
1732
xorl %r11d,%esi
1733
addl %r9d,%ebx
1734
shrdl $2,%r14d,%r14d
1735
vpxor %xmm7,%xmm6,%xmm6
1736
addl %esi,%r9d
1737
movl %ebx,%r13d
1738
addl %r9d,%r14d
1739
vpsrlq $2,%xmm7,%xmm7
1740
shrdl $14,%r13d,%r13d
1741
movl %r14d,%r9d
1742
movl %ecx,%r12d
1743
vpxor %xmm7,%xmm6,%xmm6
1744
xorl %ebx,%r13d
1745
shrdl $9,%r14d,%r14d
1746
xorl %edx,%r12d
1747
vpshufd $232,%xmm6,%xmm6
1748
shrdl $5,%r13d,%r13d
1749
xorl %r9d,%r14d
1750
andl %ebx,%r12d
1751
vpslldq $8,%xmm6,%xmm6
1752
vaesenclast %xmm10,%xmm9,%xmm11
1753
vaesenc %xmm10,%xmm9,%xmm9
1754
vmovdqu 176-128(%rdi),%xmm10
1755
xorl %ebx,%r13d
1756
addl 44(%rsp),%r8d
1757
movl %r9d,%esi
1758
vpaddd %xmm6,%xmm2,%xmm2
1759
shrdl $11,%r14d,%r14d
1760
xorl %edx,%r12d
1761
xorl %r10d,%esi
1762
vpaddd 64(%rbp),%xmm2,%xmm6
1763
shrdl $6,%r13d,%r13d
1764
addl %r12d,%r8d
1765
andl %esi,%r15d
1766
xorl %r9d,%r14d
1767
addl %r13d,%r8d
1768
xorl %r10d,%r15d
1769
addl %r8d,%eax
1770
shrdl $2,%r14d,%r14d
1771
addl %r15d,%r8d
1772
movl %eax,%r13d
1773
addl %r8d,%r14d
1774
vmovdqa %xmm6,32(%rsp)
1775
vpalignr $4,%xmm3,%xmm0,%xmm4
1776
shrdl $14,%r13d,%r13d
1777
movl %r14d,%r8d
1778
movl %ebx,%r12d
1779
vpalignr $4,%xmm1,%xmm2,%xmm7
1780
xorl %eax,%r13d
1781
shrdl $9,%r14d,%r14d
1782
xorl %ecx,%r12d
1783
vpsrld $7,%xmm4,%xmm6
1784
shrdl $5,%r13d,%r13d
1785
xorl %r8d,%r14d
1786
andl %eax,%r12d
1787
vpaddd %xmm7,%xmm3,%xmm3
1788
vpand %xmm12,%xmm11,%xmm8
1789
vaesenc %xmm10,%xmm9,%xmm9
1790
vmovdqu 192-128(%rdi),%xmm10
1791
xorl %eax,%r13d
1792
addl 48(%rsp),%edx
1793
movl %r8d,%r15d
1794
vpsrld $3,%xmm4,%xmm7
1795
shrdl $11,%r14d,%r14d
1796
xorl %ecx,%r12d
1797
xorl %r9d,%r15d
1798
vpslld $14,%xmm4,%xmm5
1799
shrdl $6,%r13d,%r13d
1800
addl %r12d,%edx
1801
andl %r15d,%esi
1802
vpxor %xmm6,%xmm7,%xmm4
1803
xorl %r8d,%r14d
1804
addl %r13d,%edx
1805
xorl %r9d,%esi
1806
vpshufd $250,%xmm2,%xmm7
1807
addl %edx,%r11d
1808
shrdl $2,%r14d,%r14d
1809
addl %esi,%edx
1810
vpsrld $11,%xmm6,%xmm6
1811
movl %r11d,%r13d
1812
addl %edx,%r14d
1813
shrdl $14,%r13d,%r13d
1814
vpxor %xmm5,%xmm4,%xmm4
1815
movl %r14d,%edx
1816
movl %eax,%r12d
1817
xorl %r11d,%r13d
1818
vpslld $11,%xmm5,%xmm5
1819
shrdl $9,%r14d,%r14d
1820
xorl %ebx,%r12d
1821
shrdl $5,%r13d,%r13d
1822
vpxor %xmm6,%xmm4,%xmm4
1823
xorl %edx,%r14d
1824
andl %r11d,%r12d
1825
vaesenclast %xmm10,%xmm9,%xmm11
1826
vaesenc %xmm10,%xmm9,%xmm9
1827
vmovdqu 208-128(%rdi),%xmm10
1828
xorl %r11d,%r13d
1829
vpsrld $10,%xmm7,%xmm6
1830
addl 52(%rsp),%ecx
1831
movl %edx,%esi
1832
shrdl $11,%r14d,%r14d
1833
vpxor %xmm5,%xmm4,%xmm4
1834
xorl %ebx,%r12d
1835
xorl %r8d,%esi
1836
shrdl $6,%r13d,%r13d
1837
vpsrlq $17,%xmm7,%xmm7
1838
addl %r12d,%ecx
1839
andl %esi,%r15d
1840
xorl %edx,%r14d
1841
vpaddd %xmm4,%xmm3,%xmm3
1842
addl %r13d,%ecx
1843
xorl %r8d,%r15d
1844
addl %ecx,%r10d
1845
vpxor %xmm7,%xmm6,%xmm6
1846
shrdl $2,%r14d,%r14d
1847
addl %r15d,%ecx
1848
movl %r10d,%r13d
1849
vpsrlq $2,%xmm7,%xmm7
1850
addl %ecx,%r14d
1851
shrdl $14,%r13d,%r13d
1852
movl %r14d,%ecx
1853
vpxor %xmm7,%xmm6,%xmm6
1854
movl %r11d,%r12d
1855
xorl %r10d,%r13d
1856
shrdl $9,%r14d,%r14d
1857
vpshufd $132,%xmm6,%xmm6
1858
xorl %eax,%r12d
1859
shrdl $5,%r13d,%r13d
1860
xorl %ecx,%r14d
1861
vpsrldq $8,%xmm6,%xmm6
1862
andl %r10d,%r12d
1863
vpand %xmm13,%xmm11,%xmm11
1864
vaesenc %xmm10,%xmm9,%xmm9
1865
vmovdqu 224-128(%rdi),%xmm10
1866
xorl %r10d,%r13d
1867
addl 56(%rsp),%ebx
1868
vpaddd %xmm6,%xmm3,%xmm3
1869
movl %ecx,%r15d
1870
shrdl $11,%r14d,%r14d
1871
xorl %eax,%r12d
1872
vpshufd $80,%xmm3,%xmm7
1873
xorl %edx,%r15d
1874
shrdl $6,%r13d,%r13d
1875
addl %r12d,%ebx
1876
vpsrld $10,%xmm7,%xmm6
1877
andl %r15d,%esi
1878
xorl %ecx,%r14d
1879
addl %r13d,%ebx
1880
vpsrlq $17,%xmm7,%xmm7
1881
xorl %edx,%esi
1882
addl %ebx,%r9d
1883
shrdl $2,%r14d,%r14d
1884
vpxor %xmm7,%xmm6,%xmm6
1885
addl %esi,%ebx
1886
movl %r9d,%r13d
1887
addl %ebx,%r14d
1888
vpsrlq $2,%xmm7,%xmm7
1889
shrdl $14,%r13d,%r13d
1890
movl %r14d,%ebx
1891
movl %r10d,%r12d
1892
vpxor %xmm7,%xmm6,%xmm6
1893
xorl %r9d,%r13d
1894
shrdl $9,%r14d,%r14d
1895
xorl %r11d,%r12d
1896
vpshufd $232,%xmm6,%xmm6
1897
shrdl $5,%r13d,%r13d
1898
xorl %ebx,%r14d
1899
andl %r9d,%r12d
1900
vpslldq $8,%xmm6,%xmm6
1901
vpor %xmm11,%xmm8,%xmm8
1902
vaesenclast %xmm10,%xmm9,%xmm11
1903
vmovdqu 0-128(%rdi),%xmm10
1904
xorl %r9d,%r13d
1905
addl 60(%rsp),%eax
1906
movl %ebx,%esi
1907
vpaddd %xmm6,%xmm3,%xmm3
1908
shrdl $11,%r14d,%r14d
1909
xorl %r11d,%r12d
1910
xorl %ecx,%esi
1911
vpaddd 96(%rbp),%xmm3,%xmm6
1912
shrdl $6,%r13d,%r13d
1913
addl %r12d,%eax
1914
andl %esi,%r15d
1915
xorl %ebx,%r14d
1916
addl %r13d,%eax
1917
xorl %ecx,%r15d
1918
addl %eax,%r8d
1919
shrdl $2,%r14d,%r14d
1920
addl %r15d,%eax
1921
movl %r8d,%r13d
1922
addl %eax,%r14d
1923
vmovdqa %xmm6,48(%rsp)
1924
movq 64+0(%rsp),%r12
1925
vpand %xmm14,%xmm11,%xmm11
1926
movq 64+8(%rsp),%r15
1927
vpor %xmm11,%xmm8,%xmm8
1928
vmovdqu %xmm8,(%r15,%r12,1)
1929
leaq 16(%r12),%r12
1930
cmpb $0,131(%rbp)
1931
jne .Lavx_00_47
1932
vmovdqu (%r12),%xmm9
1933
movq %r12,64+0(%rsp)
1934
shrdl $14,%r13d,%r13d
1935
movl %r14d,%eax
1936
movl %r9d,%r12d
1937
xorl %r8d,%r13d
1938
shrdl $9,%r14d,%r14d
1939
xorl %r10d,%r12d
1940
shrdl $5,%r13d,%r13d
1941
xorl %eax,%r14d
1942
andl %r8d,%r12d
1943
vpxor %xmm10,%xmm9,%xmm9
1944
vmovdqu 16-128(%rdi),%xmm10
1945
xorl %r8d,%r13d
1946
addl 0(%rsp),%r11d
1947
movl %eax,%r15d
1948
shrdl $11,%r14d,%r14d
1949
xorl %r10d,%r12d
1950
xorl %ebx,%r15d
1951
shrdl $6,%r13d,%r13d
1952
addl %r12d,%r11d
1953
andl %r15d,%esi
1954
xorl %eax,%r14d
1955
addl %r13d,%r11d
1956
xorl %ebx,%esi
1957
addl %r11d,%edx
1958
shrdl $2,%r14d,%r14d
1959
addl %esi,%r11d
1960
movl %edx,%r13d
1961
addl %r11d,%r14d
1962
shrdl $14,%r13d,%r13d
1963
movl %r14d,%r11d
1964
movl %r8d,%r12d
1965
xorl %edx,%r13d
1966
shrdl $9,%r14d,%r14d
1967
xorl %r9d,%r12d
1968
shrdl $5,%r13d,%r13d
1969
xorl %r11d,%r14d
1970
andl %edx,%r12d
1971
vpxor %xmm8,%xmm9,%xmm9
1972
xorl %edx,%r13d
1973
addl 4(%rsp),%r10d
1974
movl %r11d,%esi
1975
shrdl $11,%r14d,%r14d
1976
xorl %r9d,%r12d
1977
xorl %eax,%esi
1978
shrdl $6,%r13d,%r13d
1979
addl %r12d,%r10d
1980
andl %esi,%r15d
1981
xorl %r11d,%r14d
1982
addl %r13d,%r10d
1983
xorl %eax,%r15d
1984
addl %r10d,%ecx
1985
shrdl $2,%r14d,%r14d
1986
addl %r15d,%r10d
1987
movl %ecx,%r13d
1988
addl %r10d,%r14d
1989
shrdl $14,%r13d,%r13d
1990
movl %r14d,%r10d
1991
movl %edx,%r12d
1992
xorl %ecx,%r13d
1993
shrdl $9,%r14d,%r14d
1994
xorl %r8d,%r12d
1995
shrdl $5,%r13d,%r13d
1996
xorl %r10d,%r14d
1997
andl %ecx,%r12d
1998
vaesenc %xmm10,%xmm9,%xmm9
1999
vmovdqu 32-128(%rdi),%xmm10
2000
xorl %ecx,%r13d
2001
addl 8(%rsp),%r9d
2002
movl %r10d,%r15d
2003
shrdl $11,%r14d,%r14d
2004
xorl %r8d,%r12d
2005
xorl %r11d,%r15d
2006
shrdl $6,%r13d,%r13d
2007
addl %r12d,%r9d
2008
andl %r15d,%esi
2009
xorl %r10d,%r14d
2010
addl %r13d,%r9d
2011
xorl %r11d,%esi
2012
addl %r9d,%ebx
2013
shrdl $2,%r14d,%r14d
2014
addl %esi,%r9d
2015
movl %ebx,%r13d
2016
addl %r9d,%r14d
2017
shrdl $14,%r13d,%r13d
2018
movl %r14d,%r9d
2019
movl %ecx,%r12d
2020
xorl %ebx,%r13d
2021
shrdl $9,%r14d,%r14d
2022
xorl %edx,%r12d
2023
shrdl $5,%r13d,%r13d
2024
xorl %r9d,%r14d
2025
andl %ebx,%r12d
2026
vaesenc %xmm10,%xmm9,%xmm9
2027
vmovdqu 48-128(%rdi),%xmm10
2028
xorl %ebx,%r13d
2029
addl 12(%rsp),%r8d
2030
movl %r9d,%esi
2031
shrdl $11,%r14d,%r14d
2032
xorl %edx,%r12d
2033
xorl %r10d,%esi
2034
shrdl $6,%r13d,%r13d
2035
addl %r12d,%r8d
2036
andl %esi,%r15d
2037
xorl %r9d,%r14d
2038
addl %r13d,%r8d
2039
xorl %r10d,%r15d
2040
addl %r8d,%eax
2041
shrdl $2,%r14d,%r14d
2042
addl %r15d,%r8d
2043
movl %eax,%r13d
2044
addl %r8d,%r14d
2045
shrdl $14,%r13d,%r13d
2046
movl %r14d,%r8d
2047
movl %ebx,%r12d
2048
xorl %eax,%r13d
2049
shrdl $9,%r14d,%r14d
2050
xorl %ecx,%r12d
2051
shrdl $5,%r13d,%r13d
2052
xorl %r8d,%r14d
2053
andl %eax,%r12d
2054
vaesenc %xmm10,%xmm9,%xmm9
2055
vmovdqu 64-128(%rdi),%xmm10
2056
xorl %eax,%r13d
2057
addl 16(%rsp),%edx
2058
movl %r8d,%r15d
2059
shrdl $11,%r14d,%r14d
2060
xorl %ecx,%r12d
2061
xorl %r9d,%r15d
2062
shrdl $6,%r13d,%r13d
2063
addl %r12d,%edx
2064
andl %r15d,%esi
2065
xorl %r8d,%r14d
2066
addl %r13d,%edx
2067
xorl %r9d,%esi
2068
addl %edx,%r11d
2069
shrdl $2,%r14d,%r14d
2070
addl %esi,%edx
2071
movl %r11d,%r13d
2072
addl %edx,%r14d
2073
shrdl $14,%r13d,%r13d
2074
movl %r14d,%edx
2075
movl %eax,%r12d
2076
xorl %r11d,%r13d
2077
shrdl $9,%r14d,%r14d
2078
xorl %ebx,%r12d
2079
shrdl $5,%r13d,%r13d
2080
xorl %edx,%r14d
2081
andl %r11d,%r12d
2082
vaesenc %xmm10,%xmm9,%xmm9
2083
vmovdqu 80-128(%rdi),%xmm10
2084
xorl %r11d,%r13d
2085
addl 20(%rsp),%ecx
2086
movl %edx,%esi
2087
shrdl $11,%r14d,%r14d
2088
xorl %ebx,%r12d
2089
xorl %r8d,%esi
2090
shrdl $6,%r13d,%r13d
2091
addl %r12d,%ecx
2092
andl %esi,%r15d
2093
xorl %edx,%r14d
2094
addl %r13d,%ecx
2095
xorl %r8d,%r15d
2096
addl %ecx,%r10d
2097
shrdl $2,%r14d,%r14d
2098
addl %r15d,%ecx
2099
movl %r10d,%r13d
2100
addl %ecx,%r14d
2101
shrdl $14,%r13d,%r13d
2102
movl %r14d,%ecx
2103
movl %r11d,%r12d
2104
xorl %r10d,%r13d
2105
shrdl $9,%r14d,%r14d
2106
xorl %eax,%r12d
2107
shrdl $5,%r13d,%r13d
2108
xorl %ecx,%r14d
2109
andl %r10d,%r12d
2110
vaesenc %xmm10,%xmm9,%xmm9
2111
vmovdqu 96-128(%rdi),%xmm10
2112
xorl %r10d,%r13d
2113
addl 24(%rsp),%ebx
2114
movl %ecx,%r15d
2115
shrdl $11,%r14d,%r14d
2116
xorl %eax,%r12d
2117
xorl %edx,%r15d
2118
shrdl $6,%r13d,%r13d
2119
addl %r12d,%ebx
2120
andl %r15d,%esi
2121
xorl %ecx,%r14d
2122
addl %r13d,%ebx
2123
xorl %edx,%esi
2124
addl %ebx,%r9d
2125
shrdl $2,%r14d,%r14d
2126
addl %esi,%ebx
2127
movl %r9d,%r13d
2128
addl %ebx,%r14d
2129
shrdl $14,%r13d,%r13d
2130
movl %r14d,%ebx
2131
movl %r10d,%r12d
2132
xorl %r9d,%r13d
2133
shrdl $9,%r14d,%r14d
2134
xorl %r11d,%r12d
2135
shrdl $5,%r13d,%r13d
2136
xorl %ebx,%r14d
2137
andl %r9d,%r12d
2138
vaesenc %xmm10,%xmm9,%xmm9
2139
vmovdqu 112-128(%rdi),%xmm10
2140
xorl %r9d,%r13d
2141
addl 28(%rsp),%eax
2142
movl %ebx,%esi
2143
shrdl $11,%r14d,%r14d
2144
xorl %r11d,%r12d
2145
xorl %ecx,%esi
2146
shrdl $6,%r13d,%r13d
2147
addl %r12d,%eax
2148
andl %esi,%r15d
2149
xorl %ebx,%r14d
2150
addl %r13d,%eax
2151
xorl %ecx,%r15d
2152
addl %eax,%r8d
2153
shrdl $2,%r14d,%r14d
2154
addl %r15d,%eax
2155
movl %r8d,%r13d
2156
addl %eax,%r14d
2157
shrdl $14,%r13d,%r13d
2158
movl %r14d,%eax
2159
movl %r9d,%r12d
2160
xorl %r8d,%r13d
2161
shrdl $9,%r14d,%r14d
2162
xorl %r10d,%r12d
2163
shrdl $5,%r13d,%r13d
2164
xorl %eax,%r14d
2165
andl %r8d,%r12d
2166
vaesenc %xmm10,%xmm9,%xmm9
2167
vmovdqu 128-128(%rdi),%xmm10
2168
xorl %r8d,%r13d
2169
addl 32(%rsp),%r11d
2170
movl %eax,%r15d
2171
shrdl $11,%r14d,%r14d
2172
xorl %r10d,%r12d
2173
xorl %ebx,%r15d
2174
shrdl $6,%r13d,%r13d
2175
addl %r12d,%r11d
2176
andl %r15d,%esi
2177
xorl %eax,%r14d
2178
addl %r13d,%r11d
2179
xorl %ebx,%esi
2180
addl %r11d,%edx
2181
shrdl $2,%r14d,%r14d
2182
addl %esi,%r11d
2183
movl %edx,%r13d
2184
addl %r11d,%r14d
2185
shrdl $14,%r13d,%r13d
2186
movl %r14d,%r11d
2187
movl %r8d,%r12d
2188
xorl %edx,%r13d
2189
shrdl $9,%r14d,%r14d
2190
xorl %r9d,%r12d
2191
shrdl $5,%r13d,%r13d
2192
xorl %r11d,%r14d
2193
andl %edx,%r12d
2194
vaesenc %xmm10,%xmm9,%xmm9
2195
vmovdqu 144-128(%rdi),%xmm10
2196
xorl %edx,%r13d
2197
addl 36(%rsp),%r10d
2198
movl %r11d,%esi
2199
shrdl $11,%r14d,%r14d
2200
xorl %r9d,%r12d
2201
xorl %eax,%esi
2202
shrdl $6,%r13d,%r13d
2203
addl %r12d,%r10d
2204
andl %esi,%r15d
2205
xorl %r11d,%r14d
2206
addl %r13d,%r10d
2207
xorl %eax,%r15d
2208
addl %r10d,%ecx
2209
shrdl $2,%r14d,%r14d
2210
addl %r15d,%r10d
2211
movl %ecx,%r13d
2212
addl %r10d,%r14d
2213
shrdl $14,%r13d,%r13d
2214
movl %r14d,%r10d
2215
movl %edx,%r12d
2216
xorl %ecx,%r13d
2217
shrdl $9,%r14d,%r14d
2218
xorl %r8d,%r12d
2219
shrdl $5,%r13d,%r13d
2220
xorl %r10d,%r14d
2221
andl %ecx,%r12d
2222
vaesenc %xmm10,%xmm9,%xmm9
2223
vmovdqu 160-128(%rdi),%xmm10
2224
xorl %ecx,%r13d
2225
addl 40(%rsp),%r9d
2226
movl %r10d,%r15d
2227
shrdl $11,%r14d,%r14d
2228
xorl %r8d,%r12d
2229
xorl %r11d,%r15d
2230
shrdl $6,%r13d,%r13d
2231
addl %r12d,%r9d
2232
andl %r15d,%esi
2233
xorl %r10d,%r14d
2234
addl %r13d,%r9d
2235
xorl %r11d,%esi
2236
addl %r9d,%ebx
2237
shrdl $2,%r14d,%r14d
2238
addl %esi,%r9d
2239
movl %ebx,%r13d
2240
addl %r9d,%r14d
2241
shrdl $14,%r13d,%r13d
2242
movl %r14d,%r9d
2243
movl %ecx,%r12d
2244
xorl %ebx,%r13d
2245
shrdl $9,%r14d,%r14d
2246
xorl %edx,%r12d
2247
shrdl $5,%r13d,%r13d
2248
xorl %r9d,%r14d
2249
andl %ebx,%r12d
2250
vaesenclast %xmm10,%xmm9,%xmm11
2251
vaesenc %xmm10,%xmm9,%xmm9
2252
vmovdqu 176-128(%rdi),%xmm10
2253
xorl %ebx,%r13d
2254
addl 44(%rsp),%r8d
2255
movl %r9d,%esi
2256
shrdl $11,%r14d,%r14d
2257
xorl %edx,%r12d
2258
xorl %r10d,%esi
2259
shrdl $6,%r13d,%r13d
2260
addl %r12d,%r8d
2261
andl %esi,%r15d
2262
xorl %r9d,%r14d
2263
addl %r13d,%r8d
2264
xorl %r10d,%r15d
2265
addl %r8d,%eax
2266
shrdl $2,%r14d,%r14d
2267
addl %r15d,%r8d
2268
movl %eax,%r13d
2269
addl %r8d,%r14d
2270
shrdl $14,%r13d,%r13d
2271
movl %r14d,%r8d
2272
movl %ebx,%r12d
2273
xorl %eax,%r13d
2274
shrdl $9,%r14d,%r14d
2275
xorl %ecx,%r12d
2276
shrdl $5,%r13d,%r13d
2277
xorl %r8d,%r14d
2278
andl %eax,%r12d
2279
vpand %xmm12,%xmm11,%xmm8
2280
vaesenc %xmm10,%xmm9,%xmm9
2281
vmovdqu 192-128(%rdi),%xmm10
2282
xorl %eax,%r13d
2283
addl 48(%rsp),%edx
2284
movl %r8d,%r15d
2285
shrdl $11,%r14d,%r14d
2286
xorl %ecx,%r12d
2287
xorl %r9d,%r15d
2288
shrdl $6,%r13d,%r13d
2289
addl %r12d,%edx
2290
andl %r15d,%esi
2291
xorl %r8d,%r14d
2292
addl %r13d,%edx
2293
xorl %r9d,%esi
2294
addl %edx,%r11d
2295
shrdl $2,%r14d,%r14d
2296
addl %esi,%edx
2297
movl %r11d,%r13d
2298
addl %edx,%r14d
2299
shrdl $14,%r13d,%r13d
2300
movl %r14d,%edx
2301
movl %eax,%r12d
2302
xorl %r11d,%r13d
2303
shrdl $9,%r14d,%r14d
2304
xorl %ebx,%r12d
2305
shrdl $5,%r13d,%r13d
2306
xorl %edx,%r14d
2307
andl %r11d,%r12d
2308
vaesenclast %xmm10,%xmm9,%xmm11
2309
vaesenc %xmm10,%xmm9,%xmm9
2310
vmovdqu 208-128(%rdi),%xmm10
2311
xorl %r11d,%r13d
2312
addl 52(%rsp),%ecx
2313
movl %edx,%esi
2314
shrdl $11,%r14d,%r14d
2315
xorl %ebx,%r12d
2316
xorl %r8d,%esi
2317
shrdl $6,%r13d,%r13d
2318
addl %r12d,%ecx
2319
andl %esi,%r15d
2320
xorl %edx,%r14d
2321
addl %r13d,%ecx
2322
xorl %r8d,%r15d
2323
addl %ecx,%r10d
2324
shrdl $2,%r14d,%r14d
2325
addl %r15d,%ecx
2326
movl %r10d,%r13d
2327
addl %ecx,%r14d
2328
shrdl $14,%r13d,%r13d
2329
movl %r14d,%ecx
2330
movl %r11d,%r12d
2331
xorl %r10d,%r13d
2332
shrdl $9,%r14d,%r14d
2333
xorl %eax,%r12d
2334
shrdl $5,%r13d,%r13d
2335
xorl %ecx,%r14d
2336
andl %r10d,%r12d
2337
vpand %xmm13,%xmm11,%xmm11
2338
vaesenc %xmm10,%xmm9,%xmm9
2339
vmovdqu 224-128(%rdi),%xmm10
2340
xorl %r10d,%r13d
2341
addl 56(%rsp),%ebx
2342
movl %ecx,%r15d
2343
shrdl $11,%r14d,%r14d
2344
xorl %eax,%r12d
2345
xorl %edx,%r15d
2346
shrdl $6,%r13d,%r13d
2347
addl %r12d,%ebx
2348
andl %r15d,%esi
2349
xorl %ecx,%r14d
2350
addl %r13d,%ebx
2351
xorl %edx,%esi
2352
addl %ebx,%r9d
2353
shrdl $2,%r14d,%r14d
2354
addl %esi,%ebx
2355
movl %r9d,%r13d
2356
addl %ebx,%r14d
2357
shrdl $14,%r13d,%r13d
2358
movl %r14d,%ebx
2359
movl %r10d,%r12d
2360
xorl %r9d,%r13d
2361
shrdl $9,%r14d,%r14d
2362
xorl %r11d,%r12d
2363
shrdl $5,%r13d,%r13d
2364
xorl %ebx,%r14d
2365
andl %r9d,%r12d
2366
vpor %xmm11,%xmm8,%xmm8
2367
vaesenclast %xmm10,%xmm9,%xmm11
2368
vmovdqu 0-128(%rdi),%xmm10
2369
xorl %r9d,%r13d
2370
addl 60(%rsp),%eax
2371
movl %ebx,%esi
2372
shrdl $11,%r14d,%r14d
2373
xorl %r11d,%r12d
2374
xorl %ecx,%esi
2375
shrdl $6,%r13d,%r13d
2376
addl %r12d,%eax
2377
andl %esi,%r15d
2378
xorl %ebx,%r14d
2379
addl %r13d,%eax
2380
xorl %ecx,%r15d
2381
addl %eax,%r8d
2382
shrdl $2,%r14d,%r14d
2383
addl %r15d,%eax
2384
movl %r8d,%r13d
2385
addl %eax,%r14d
2386
movq 64+0(%rsp),%r12
2387
movq 64+8(%rsp),%r13
2388
movq 64+40(%rsp),%r15
2389
movq 64+48(%rsp),%rsi
2390
2391
vpand %xmm14,%xmm11,%xmm11
2392
movl %r14d,%eax
2393
vpor %xmm11,%xmm8,%xmm8
2394
vmovdqu %xmm8,(%r12,%r13,1)
2395
leaq 16(%r12),%r12
2396
2397
addl 0(%r15),%eax
2398
addl 4(%r15),%ebx
2399
addl 8(%r15),%ecx
2400
addl 12(%r15),%edx
2401
addl 16(%r15),%r8d
2402
addl 20(%r15),%r9d
2403
addl 24(%r15),%r10d
2404
addl 28(%r15),%r11d
2405
2406
cmpq 64+16(%rsp),%r12
2407
2408
movl %eax,0(%r15)
2409
movl %ebx,4(%r15)
2410
movl %ecx,8(%r15)
2411
movl %edx,12(%r15)
2412
movl %r8d,16(%r15)
2413
movl %r9d,20(%r15)
2414
movl %r10d,24(%r15)
2415
movl %r11d,28(%r15)
2416
jb .Lloop_avx
2417
2418
movq 64+32(%rsp),%r8
2419
movq 120(%rsp),%rsi
2420
.cfi_def_cfa %rsi,8
2421
vmovdqu %xmm8,(%r8)
2422
vzeroall
2423
movq -48(%rsi),%r15
2424
.cfi_restore %r15
2425
movq -40(%rsi),%r14
2426
.cfi_restore %r14
2427
movq -32(%rsi),%r13
2428
.cfi_restore %r13
2429
movq -24(%rsi),%r12
2430
.cfi_restore %r12
2431
movq -16(%rsi),%rbp
2432
.cfi_restore %rbp
2433
movq -8(%rsi),%rbx
2434
.cfi_restore %rbx
2435
leaq (%rsi),%rsp
2436
.cfi_def_cfa_register %rsp
2437
.Lepilogue_avx:
2438
.byte 0xf3,0xc3
2439
.cfi_endproc
2440
.size aesni_cbc_sha256_enc_avx,.-aesni_cbc_sha256_enc_avx
2441
.type aesni_cbc_sha256_enc_avx2,@function
2442
.align 64
2443
aesni_cbc_sha256_enc_avx2:
2444
.cfi_startproc
2445
.Lavx2_shortcut:
2446
movq 8(%rsp),%r10
2447
movq %rsp,%rax
2448
.cfi_def_cfa_register %rax
2449
pushq %rbx
2450
.cfi_offset %rbx,-16
2451
pushq %rbp
2452
.cfi_offset %rbp,-24
2453
pushq %r12
2454
.cfi_offset %r12,-32
2455
pushq %r13
2456
.cfi_offset %r13,-40
2457
pushq %r14
2458
.cfi_offset %r14,-48
2459
pushq %r15
2460
.cfi_offset %r15,-56
2461
subq $576,%rsp
2462
andq $-1024,%rsp
2463
addq $448,%rsp
2464
2465
shlq $6,%rdx
2466
subq %rdi,%rsi
2467
subq %rdi,%r10
2468
addq %rdi,%rdx
2469
2470
2471
2472
movq %rdx,64+16(%rsp)
2473
2474
movq %r8,64+32(%rsp)
2475
movq %r9,64+40(%rsp)
2476
movq %r10,64+48(%rsp)
2477
movq %rax,120(%rsp)
2478
.cfi_escape 0x0f,0x06,0x77,0xf8,0x00,0x06,0x23,0x08
2479
.Lprologue_avx2:
2480
vzeroall
2481
2482
movq %rdi,%r13
2483
vpinsrq $1,%rsi,%xmm15,%xmm15
2484
leaq 128(%rcx),%rdi
2485
leaq K256+544(%rip),%r12
2486
movl 240-128(%rdi),%r14d
2487
movq %r9,%r15
2488
movq %r10,%rsi
2489
vmovdqu (%r8),%xmm8
2490
leaq -9(%r14),%r14
2491
2492
vmovdqa 0(%r12,%r14,8),%xmm14
2493
vmovdqa 16(%r12,%r14,8),%xmm13
2494
vmovdqa 32(%r12,%r14,8),%xmm12
2495
2496
subq $-64,%r13
2497
movl 0(%r15),%eax
2498
leaq (%rsi,%r13,1),%r12
2499
movl 4(%r15),%ebx
2500
cmpq %rdx,%r13
2501
movl 8(%r15),%ecx
2502
cmoveq %rsp,%r12
2503
movl 12(%r15),%edx
2504
movl 16(%r15),%r8d
2505
movl 20(%r15),%r9d
2506
movl 24(%r15),%r10d
2507
movl 28(%r15),%r11d
2508
vmovdqu 0-128(%rdi),%xmm10
2509
jmp .Loop_avx2
2510
.align 16
2511
.Loop_avx2:
2512
vmovdqa K256+512(%rip),%ymm7
2513
vmovdqu -64+0(%rsi,%r13,1),%xmm0
2514
vmovdqu -64+16(%rsi,%r13,1),%xmm1
2515
vmovdqu -64+32(%rsi,%r13,1),%xmm2
2516
vmovdqu -64+48(%rsi,%r13,1),%xmm3
2517
2518
vinserti128 $1,(%r12),%ymm0,%ymm0
2519
vinserti128 $1,16(%r12),%ymm1,%ymm1
2520
vpshufb %ymm7,%ymm0,%ymm0
2521
vinserti128 $1,32(%r12),%ymm2,%ymm2
2522
vpshufb %ymm7,%ymm1,%ymm1
2523
vinserti128 $1,48(%r12),%ymm3,%ymm3
2524
2525
leaq K256(%rip),%rbp
2526
vpshufb %ymm7,%ymm2,%ymm2
2527
leaq -64(%r13),%r13
2528
vpaddd 0(%rbp),%ymm0,%ymm4
2529
vpshufb %ymm7,%ymm3,%ymm3
2530
vpaddd 32(%rbp),%ymm1,%ymm5
2531
vpaddd 64(%rbp),%ymm2,%ymm6
2532
vpaddd 96(%rbp),%ymm3,%ymm7
2533
vmovdqa %ymm4,0(%rsp)
2534
xorl %r14d,%r14d
2535
vmovdqa %ymm5,32(%rsp)
2536
2537
movq 120(%rsp),%rsi
2538
.cfi_def_cfa %rsi,8
2539
leaq -64(%rsp),%rsp
2540
2541
2542
2543
movq %rsi,-8(%rsp)
2544
.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
2545
movl %ebx,%esi
2546
vmovdqa %ymm6,0(%rsp)
2547
xorl %ecx,%esi
2548
vmovdqa %ymm7,32(%rsp)
2549
movl %r9d,%r12d
2550
subq $-32*4,%rbp
2551
jmp .Lavx2_00_47
2552
2553
.align 16
2554
.Lavx2_00_47:
2555
vmovdqu (%r13),%xmm9
2556
vpinsrq $0,%r13,%xmm15,%xmm15
2557
leaq -64(%rsp),%rsp
2558
.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
2559
2560
pushq 64-8(%rsp)
2561
.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
2562
leaq 8(%rsp),%rsp
2563
.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
2564
vpalignr $4,%ymm0,%ymm1,%ymm4
2565
addl 0+128(%rsp),%r11d
2566
andl %r8d,%r12d
2567
rorxl $25,%r8d,%r13d
2568
vpalignr $4,%ymm2,%ymm3,%ymm7
2569
rorxl $11,%r8d,%r15d
2570
leal (%rax,%r14,1),%eax
2571
leal (%r11,%r12,1),%r11d
2572
vpsrld $7,%ymm4,%ymm6
2573
andnl %r10d,%r8d,%r12d
2574
xorl %r15d,%r13d
2575
rorxl $6,%r8d,%r14d
2576
vpaddd %ymm7,%ymm0,%ymm0
2577
leal (%r11,%r12,1),%r11d
2578
xorl %r14d,%r13d
2579
movl %eax,%r15d
2580
vpsrld $3,%ymm4,%ymm7
2581
rorxl $22,%eax,%r12d
2582
leal (%r11,%r13,1),%r11d
2583
xorl %ebx,%r15d
2584
vpslld $14,%ymm4,%ymm5
2585
rorxl $13,%eax,%r14d
2586
rorxl $2,%eax,%r13d
2587
leal (%rdx,%r11,1),%edx
2588
vpxor %ymm6,%ymm7,%ymm4
2589
andl %r15d,%esi
2590
vpxor %xmm10,%xmm9,%xmm9
2591
vmovdqu 16-128(%rdi),%xmm10
2592
xorl %r12d,%r14d
2593
xorl %ebx,%esi
2594
vpshufd $250,%ymm3,%ymm7
2595
xorl %r13d,%r14d
2596
leal (%r11,%rsi,1),%r11d
2597
movl %r8d,%r12d
2598
vpsrld $11,%ymm6,%ymm6
2599
addl 4+128(%rsp),%r10d
2600
andl %edx,%r12d
2601
rorxl $25,%edx,%r13d
2602
vpxor %ymm5,%ymm4,%ymm4
2603
rorxl $11,%edx,%esi
2604
leal (%r11,%r14,1),%r11d
2605
leal (%r10,%r12,1),%r10d
2606
vpslld $11,%ymm5,%ymm5
2607
andnl %r9d,%edx,%r12d
2608
xorl %esi,%r13d
2609
rorxl $6,%edx,%r14d
2610
vpxor %ymm6,%ymm4,%ymm4
2611
leal (%r10,%r12,1),%r10d
2612
xorl %r14d,%r13d
2613
movl %r11d,%esi
2614
vpsrld $10,%ymm7,%ymm6
2615
rorxl $22,%r11d,%r12d
2616
leal (%r10,%r13,1),%r10d
2617
xorl %eax,%esi
2618
vpxor %ymm5,%ymm4,%ymm4
2619
rorxl $13,%r11d,%r14d
2620
rorxl $2,%r11d,%r13d
2621
leal (%rcx,%r10,1),%ecx
2622
vpsrlq $17,%ymm7,%ymm7
2623
andl %esi,%r15d
2624
vpxor %xmm8,%xmm9,%xmm9
2625
xorl %r12d,%r14d
2626
xorl %eax,%r15d
2627
vpaddd %ymm4,%ymm0,%ymm0
2628
xorl %r13d,%r14d
2629
leal (%r10,%r15,1),%r10d
2630
movl %edx,%r12d
2631
vpxor %ymm7,%ymm6,%ymm6
2632
addl 8+128(%rsp),%r9d
2633
andl %ecx,%r12d
2634
rorxl $25,%ecx,%r13d
2635
vpsrlq $2,%ymm7,%ymm7
2636
rorxl $11,%ecx,%r15d
2637
leal (%r10,%r14,1),%r10d
2638
leal (%r9,%r12,1),%r9d
2639
vpxor %ymm7,%ymm6,%ymm6
2640
andnl %r8d,%ecx,%r12d
2641
xorl %r15d,%r13d
2642
rorxl $6,%ecx,%r14d
2643
vpshufd $132,%ymm6,%ymm6
2644
leal (%r9,%r12,1),%r9d
2645
xorl %r14d,%r13d
2646
movl %r10d,%r15d
2647
vpsrldq $8,%ymm6,%ymm6
2648
rorxl $22,%r10d,%r12d
2649
leal (%r9,%r13,1),%r9d
2650
xorl %r11d,%r15d
2651
vpaddd %ymm6,%ymm0,%ymm0
2652
rorxl $13,%r10d,%r14d
2653
rorxl $2,%r10d,%r13d
2654
leal (%rbx,%r9,1),%ebx
2655
vpshufd $80,%ymm0,%ymm7
2656
andl %r15d,%esi
2657
vaesenc %xmm10,%xmm9,%xmm9
2658
vmovdqu 32-128(%rdi),%xmm10
2659
xorl %r12d,%r14d
2660
xorl %r11d,%esi
2661
vpsrld $10,%ymm7,%ymm6
2662
xorl %r13d,%r14d
2663
leal (%r9,%rsi,1),%r9d
2664
movl %ecx,%r12d
2665
vpsrlq $17,%ymm7,%ymm7
2666
addl 12+128(%rsp),%r8d
2667
andl %ebx,%r12d
2668
rorxl $25,%ebx,%r13d
2669
vpxor %ymm7,%ymm6,%ymm6
2670
rorxl $11,%ebx,%esi
2671
leal (%r9,%r14,1),%r9d
2672
leal (%r8,%r12,1),%r8d
2673
vpsrlq $2,%ymm7,%ymm7
2674
andnl %edx,%ebx,%r12d
2675
xorl %esi,%r13d
2676
rorxl $6,%ebx,%r14d
2677
vpxor %ymm7,%ymm6,%ymm6
2678
leal (%r8,%r12,1),%r8d
2679
xorl %r14d,%r13d
2680
movl %r9d,%esi
2681
vpshufd $232,%ymm6,%ymm6
2682
rorxl $22,%r9d,%r12d
2683
leal (%r8,%r13,1),%r8d
2684
xorl %r10d,%esi
2685
vpslldq $8,%ymm6,%ymm6
2686
rorxl $13,%r9d,%r14d
2687
rorxl $2,%r9d,%r13d
2688
leal (%rax,%r8,1),%eax
2689
vpaddd %ymm6,%ymm0,%ymm0
2690
andl %esi,%r15d
2691
vaesenc %xmm10,%xmm9,%xmm9
2692
vmovdqu 48-128(%rdi),%xmm10
2693
xorl %r12d,%r14d
2694
xorl %r10d,%r15d
2695
vpaddd 0(%rbp),%ymm0,%ymm6
2696
xorl %r13d,%r14d
2697
leal (%r8,%r15,1),%r8d
2698
movl %ebx,%r12d
2699
vmovdqa %ymm6,0(%rsp)
2700
vpalignr $4,%ymm1,%ymm2,%ymm4
2701
addl 32+128(%rsp),%edx
2702
andl %eax,%r12d
2703
rorxl $25,%eax,%r13d
2704
vpalignr $4,%ymm3,%ymm0,%ymm7
2705
rorxl $11,%eax,%r15d
2706
leal (%r8,%r14,1),%r8d
2707
leal (%rdx,%r12,1),%edx
2708
vpsrld $7,%ymm4,%ymm6
2709
andnl %ecx,%eax,%r12d
2710
xorl %r15d,%r13d
2711
rorxl $6,%eax,%r14d
2712
vpaddd %ymm7,%ymm1,%ymm1
2713
leal (%rdx,%r12,1),%edx
2714
xorl %r14d,%r13d
2715
movl %r8d,%r15d
2716
vpsrld $3,%ymm4,%ymm7
2717
rorxl $22,%r8d,%r12d
2718
leal (%rdx,%r13,1),%edx
2719
xorl %r9d,%r15d
2720
vpslld $14,%ymm4,%ymm5
2721
rorxl $13,%r8d,%r14d
2722
rorxl $2,%r8d,%r13d
2723
leal (%r11,%rdx,1),%r11d
2724
vpxor %ymm6,%ymm7,%ymm4
2725
andl %r15d,%esi
2726
vaesenc %xmm10,%xmm9,%xmm9
2727
vmovdqu 64-128(%rdi),%xmm10
2728
xorl %r12d,%r14d
2729
xorl %r9d,%esi
2730
vpshufd $250,%ymm0,%ymm7
2731
xorl %r13d,%r14d
2732
leal (%rdx,%rsi,1),%edx
2733
movl %eax,%r12d
2734
vpsrld $11,%ymm6,%ymm6
2735
addl 36+128(%rsp),%ecx
2736
andl %r11d,%r12d
2737
rorxl $25,%r11d,%r13d
2738
vpxor %ymm5,%ymm4,%ymm4
2739
rorxl $11,%r11d,%esi
2740
leal (%rdx,%r14,1),%edx
2741
leal (%rcx,%r12,1),%ecx
2742
vpslld $11,%ymm5,%ymm5
2743
andnl %ebx,%r11d,%r12d
2744
xorl %esi,%r13d
2745
rorxl $6,%r11d,%r14d
2746
vpxor %ymm6,%ymm4,%ymm4
2747
leal (%rcx,%r12,1),%ecx
2748
xorl %r14d,%r13d
2749
movl %edx,%esi
2750
vpsrld $10,%ymm7,%ymm6
2751
rorxl $22,%edx,%r12d
2752
leal (%rcx,%r13,1),%ecx
2753
xorl %r8d,%esi
2754
vpxor %ymm5,%ymm4,%ymm4
2755
rorxl $13,%edx,%r14d
2756
rorxl $2,%edx,%r13d
2757
leal (%r10,%rcx,1),%r10d
2758
vpsrlq $17,%ymm7,%ymm7
2759
andl %esi,%r15d
2760
vaesenc %xmm10,%xmm9,%xmm9
2761
vmovdqu 80-128(%rdi),%xmm10
2762
xorl %r12d,%r14d
2763
xorl %r8d,%r15d
2764
vpaddd %ymm4,%ymm1,%ymm1
2765
xorl %r13d,%r14d
2766
leal (%rcx,%r15,1),%ecx
2767
movl %r11d,%r12d
2768
vpxor %ymm7,%ymm6,%ymm6
2769
addl 40+128(%rsp),%ebx
2770
andl %r10d,%r12d
2771
rorxl $25,%r10d,%r13d
2772
vpsrlq $2,%ymm7,%ymm7
2773
rorxl $11,%r10d,%r15d
2774
leal (%rcx,%r14,1),%ecx
2775
leal (%rbx,%r12,1),%ebx
2776
vpxor %ymm7,%ymm6,%ymm6
2777
andnl %eax,%r10d,%r12d
2778
xorl %r15d,%r13d
2779
rorxl $6,%r10d,%r14d
2780
vpshufd $132,%ymm6,%ymm6
2781
leal (%rbx,%r12,1),%ebx
2782
xorl %r14d,%r13d
2783
movl %ecx,%r15d
2784
vpsrldq $8,%ymm6,%ymm6
2785
rorxl $22,%ecx,%r12d
2786
leal (%rbx,%r13,1),%ebx
2787
xorl %edx,%r15d
2788
vpaddd %ymm6,%ymm1,%ymm1
2789
rorxl $13,%ecx,%r14d
2790
rorxl $2,%ecx,%r13d
2791
leal (%r9,%rbx,1),%r9d
2792
vpshufd $80,%ymm1,%ymm7
2793
andl %r15d,%esi
2794
vaesenc %xmm10,%xmm9,%xmm9
2795
vmovdqu 96-128(%rdi),%xmm10
2796
xorl %r12d,%r14d
2797
xorl %edx,%esi
2798
vpsrld $10,%ymm7,%ymm6
2799
xorl %r13d,%r14d
2800
leal (%rbx,%rsi,1),%ebx
2801
movl %r10d,%r12d
2802
vpsrlq $17,%ymm7,%ymm7
2803
addl 44+128(%rsp),%eax
2804
andl %r9d,%r12d
2805
rorxl $25,%r9d,%r13d
2806
vpxor %ymm7,%ymm6,%ymm6
2807
rorxl $11,%r9d,%esi
2808
leal (%rbx,%r14,1),%ebx
2809
leal (%rax,%r12,1),%eax
2810
vpsrlq $2,%ymm7,%ymm7
2811
andnl %r11d,%r9d,%r12d
2812
xorl %esi,%r13d
2813
rorxl $6,%r9d,%r14d
2814
vpxor %ymm7,%ymm6,%ymm6
2815
leal (%rax,%r12,1),%eax
2816
xorl %r14d,%r13d
2817
movl %ebx,%esi
2818
vpshufd $232,%ymm6,%ymm6
2819
rorxl $22,%ebx,%r12d
2820
leal (%rax,%r13,1),%eax
2821
xorl %ecx,%esi
2822
vpslldq $8,%ymm6,%ymm6
2823
rorxl $13,%ebx,%r14d
2824
rorxl $2,%ebx,%r13d
2825
leal (%r8,%rax,1),%r8d
2826
vpaddd %ymm6,%ymm1,%ymm1
2827
andl %esi,%r15d
2828
vaesenc %xmm10,%xmm9,%xmm9
2829
vmovdqu 112-128(%rdi),%xmm10
2830
xorl %r12d,%r14d
2831
xorl %ecx,%r15d
2832
vpaddd 32(%rbp),%ymm1,%ymm6
2833
xorl %r13d,%r14d
2834
leal (%rax,%r15,1),%eax
2835
movl %r9d,%r12d
2836
vmovdqa %ymm6,32(%rsp)
2837
leaq -64(%rsp),%rsp
2838
.cfi_escape 0x0f,0x05,0x77,0x38,0x06,0x23,0x08
2839
2840
pushq 64-8(%rsp)
2841
.cfi_escape 0x0f,0x05,0x77,0x00,0x06,0x23,0x08
2842
leaq 8(%rsp),%rsp
2843
.cfi_escape 0x0f,0x05,0x77,0x78,0x06,0x23,0x08
2844
vpalignr $4,%ymm2,%ymm3,%ymm4
2845
addl 0+128(%rsp),%r11d
2846
andl %r8d,%r12d
2847
rorxl $25,%r8d,%r13d
2848
vpalignr $4,%ymm0,%ymm1,%ymm7
2849
rorxl $11,%r8d,%r15d
2850
leal (%rax,%r14,1),%eax
2851
leal (%r11,%r12,1),%r11d
2852
vpsrld $7,%ymm4,%ymm6
2853
andnl %r10d,%r8d,%r12d
2854
xorl %r15d,%r13d
2855
rorxl $6,%r8d,%r14d
2856
vpaddd %ymm7,%ymm2,%ymm2
2857
leal (%r11,%r12,1),%r11d
2858
xorl %r14d,%r13d
2859
movl %eax,%r15d
2860
vpsrld $3,%ymm4,%ymm7
2861
rorxl $22,%eax,%r12d
2862
leal (%r11,%r13,1),%r11d
2863
xorl %ebx,%r15d
2864
vpslld $14,%ymm4,%ymm5
2865
rorxl $13,%eax,%r14d
2866
rorxl $2,%eax,%r13d
2867
leal (%rdx,%r11,1),%edx
2868
vpxor %ymm6,%ymm7,%ymm4
2869
andl %r15d,%esi
2870
vaesenc %xmm10,%xmm9,%xmm9
2871
vmovdqu 128-128(%rdi),%xmm10
2872
xorl %r12d,%r14d
2873
xorl %ebx,%esi
2874
vpshufd $250,%ymm1,%ymm7
2875
xorl %r13d,%r14d
2876
leal (%r11,%rsi,1),%r11d
2877
movl %r8d,%r12d
2878
vpsrld $11,%ymm6,%ymm6
2879
addl 4+128(%rsp),%r10d
2880
andl %edx,%r12d
2881
rorxl $25,%edx,%r13d
2882
vpxor %ymm5,%ymm4,%ymm4
2883
rorxl $11,%edx,%esi
2884
leal (%r11,%r14,1),%r11d
2885
leal (%r10,%r12,1),%r10d
2886
vpslld $11,%ymm5,%ymm5
2887
andnl %r9d,%edx,%r12d
2888
xorl %esi,%r13d
2889
rorxl $6,%edx,%r14d
2890
vpxor %ymm6,%ymm4,%ymm4
2891
leal (%r10,%r12,1),%r10d
2892
xorl %r14d,%r13d
2893
movl %r11d,%esi
2894
vpsrld $10,%ymm7,%ymm6
2895
rorxl $22,%r11d,%r12d
2896
leal (%r10,%r13,1),%r10d
2897
xorl %eax,%esi
2898
vpxor %ymm5,%ymm4,%ymm4
2899
rorxl $13,%r11d,%r14d
2900
rorxl $2,%r11d,%r13d
2901
leal (%rcx,%r10,1),%ecx
2902
vpsrlq $17,%ymm7,%ymm7
2903
andl %esi,%r15d
2904
vaesenc %xmm10,%xmm9,%xmm9
2905
vmovdqu 144-128(%rdi),%xmm10
2906
xorl %r12d,%r14d
2907
xorl %eax,%r15d
2908
vpaddd %ymm4,%ymm2,%ymm2
2909
xorl %r13d,%r14d
2910
leal (%r10,%r15,1),%r10d
2911
movl %edx,%r12d
2912
vpxor %ymm7,%ymm6,%ymm6
2913
addl 8+128(%rsp),%r9d
2914
andl %ecx,%r12d
2915
rorxl $25,%ecx,%r13d
2916
vpsrlq $2,%ymm7,%ymm7
2917
rorxl $11,%ecx,%r15d
2918
leal (%r10,%r14,1),%r10d
2919
leal (%r9,%r12,1),%r9d
2920
vpxor %ymm7,%ymm6,%ymm6
2921
andnl %r8d,%ecx,%r12d
2922
xorl %r15d,%r13d
2923
rorxl $6,%ecx,%r14d
2924
vpshufd $132,%ymm6,%ymm6
2925
leal (%r9,%r12,1),%r9d
2926
xorl %r14d,%r13d
2927
movl %r10d,%r15d
2928
vpsrldq $8,%ymm6,%ymm6
2929
rorxl $22,%r10d,%r12d
2930
leal (%r9,%r13,1),%r9d
2931
xorl %r11d,%r15d
2932
vpaddd %ymm6,%ymm2,%ymm2
2933
rorxl $13,%r10d,%r14d
2934
rorxl $2,%r10d,%r13d
2935
leal (%rbx,%r9,1),%ebx
2936
vpshufd $80,%ymm2,%ymm7
2937
andl %r15d,%esi
2938
vaesenc %xmm10,%xmm9,%xmm9
2939
vmovdqu 160-128(%rdi),%xmm10
2940
xorl %r12d,%r14d
2941
xorl %r11d,%esi
2942
vpsrld $10,%ymm7,%ymm6
2943
xorl %r13d,%r14d
2944
leal (%r9,%rsi,1),%r9d
2945
movl %ecx,%r12d
2946
vpsrlq $17,%ymm7,%ymm7
2947
addl 12+128(%rsp),%r8d
2948
andl %ebx,%r12d
2949
rorxl $25,%ebx,%r13d
2950
vpxor %ymm7,%ymm6,%ymm6
2951
rorxl $11,%ebx,%esi
2952
leal (%r9,%r14,1),%r9d
2953
leal (%r8,%r12,1),%r8d
2954
vpsrlq $2,%ymm7,%ymm7
2955
andnl %edx,%ebx,%r12d
2956
xorl %esi,%r13d
2957
rorxl $6,%ebx,%r14d
2958
vpxor %ymm7,%ymm6,%ymm6
2959
leal (%r8,%r12,1),%r8d
2960
xorl %r14d,%r13d
2961
movl %r9d,%esi
2962
vpshufd $232,%ymm6,%ymm6
2963
rorxl $22,%r9d,%r12d
2964
leal (%r8,%r13,1),%r8d
2965
xorl %r10d,%esi
2966
vpslldq $8,%ymm6,%ymm6
2967
rorxl $13,%r9d,%r14d
2968
rorxl $2,%r9d,%r13d
2969
leal (%rax,%r8,1),%eax
2970
vpaddd %ymm6,%ymm2,%ymm2
2971
andl %esi,%r15d
2972
vaesenclast %xmm10,%xmm9,%xmm11
2973
vaesenc %xmm10,%xmm9,%xmm9
2974
vmovdqu 176-128(%rdi),%xmm10
2975
xorl %r12d,%r14d
2976
xorl %r10d,%r15d
2977
vpaddd 64(%rbp),%ymm2,%ymm6
2978
xorl %r13d,%r14d
2979
leal (%r8,%r15,1),%r8d
2980
movl %ebx,%r12d
2981
vmovdqa %ymm6,0(%rsp)
2982
vpalignr $4,%ymm3,%ymm0,%ymm4
2983
addl 32+128(%rsp),%edx
2984
andl %eax,%r12d
2985
rorxl $25,%eax,%r13d
2986
vpalignr $4,%ymm1,%ymm2,%ymm7
2987
rorxl $11,%eax,%r15d
2988
leal (%r8,%r14,1),%r8d
2989
leal (%rdx,%r12,1),%edx
2990
vpsrld $7,%ymm4,%ymm6
2991
andnl %ecx,%eax,%r12d
2992
xorl %r15d,%r13d
2993
rorxl $6,%eax,%r14d
2994
vpaddd %ymm7,%ymm3,%ymm3
2995
leal (%rdx,%r12,1),%edx
2996
xorl %r14d,%r13d
2997
movl %r8d,%r15d
2998
vpsrld $3,%ymm4,%ymm7
2999
rorxl $22,%r8d,%r12d
3000
leal (%rdx,%r13,1),%edx
3001
xorl %r9d,%r15d
3002
vpslld $14,%ymm4,%ymm5
3003
rorxl $13,%r8d,%r14d
3004
rorxl $2,%r8d,%r13d
3005
leal (%r11,%rdx,1),%r11d
3006
vpxor %ymm6,%ymm7,%ymm4
3007
andl %r15d,%esi
3008
vpand %xmm12,%xmm11,%xmm8
3009
vaesenc %xmm10,%xmm9,%xmm9
3010
vmovdqu 192-128(%rdi),%xmm10
3011
xorl %r12d,%r14d
3012
xorl %r9d,%esi
3013
vpshufd $250,%ymm2,%ymm7
3014
xorl %r13d,%r14d
3015
leal (%rdx,%rsi,1),%edx
3016
movl %eax,%r12d
3017
vpsrld $11,%ymm6,%ymm6
3018
addl 36+128(%rsp),%ecx
3019
andl %r11d,%r12d
3020
rorxl $25,%r11d,%r13d
3021
vpxor %ymm5,%ymm4,%ymm4
3022
rorxl $11,%r11d,%esi
3023
leal (%rdx,%r14,1),%edx
3024
leal (%rcx,%r12,1),%ecx
3025
vpslld $11,%ymm5,%ymm5
3026
andnl %ebx,%r11d,%r12d
3027
xorl %esi,%r13d
3028
rorxl $6,%r11d,%r14d
3029
vpxor %ymm6,%ymm4,%ymm4
3030
leal (%rcx,%r12,1),%ecx
3031
xorl %r14d,%r13d
3032
movl %edx,%esi
3033
vpsrld $10,%ymm7,%ymm6
3034
rorxl $22,%edx,%r12d
3035
leal (%rcx,%r13,1),%ecx
3036
xorl %r8d,%esi
3037
vpxor %ymm5,%ymm4,%ymm4
3038
rorxl $13,%edx,%r14d
3039
rorxl $2,%edx,%r13d
3040
leal (%r10,%rcx,1),%r10d
3041
vpsrlq $17,%ymm7,%ymm7
3042
andl %esi,%r15d
3043
vaesenclast %xmm10,%xmm9,%xmm11
3044
vaesenc %xmm10,%xmm9,%xmm9
3045
vmovdqu 208-128(%rdi),%xmm10
3046
xorl %r12d,%r14d
3047
xorl %r8d,%r15d
3048
vpaddd %ymm4,%ymm3,%ymm3
3049
xorl %r13d,%r14d
3050
leal (%rcx,%r15,1),%ecx
3051
movl %r11d,%r12d
3052
vpxor %ymm7,%ymm6,%ymm6
3053
addl 40+128(%rsp),%ebx
3054
andl %r10d,%r12d
3055
rorxl $25,%r10d,%r13d
3056
vpsrlq $2,%ymm7,%ymm7
3057
rorxl $11,%r10d,%r15d
3058
leal (%rcx,%r14,1),%ecx
3059
leal (%rbx,%r12,1),%ebx
3060
vpxor %ymm7,%ymm6,%ymm6
3061
andnl %eax,%r10d,%r12d
3062
xorl %r15d,%r13d
3063
rorxl $6,%r10d,%r14d
3064
vpshufd $132,%ymm6,%ymm6
3065
leal (%rbx,%r12,1),%ebx
3066
xorl %r14d,%r13d
3067
movl %ecx,%r15d
3068
vpsrldq $8,%ymm6,%ymm6
3069
rorxl $22,%ecx,%r12d
3070
leal (%rbx,%r13,1),%ebx
3071
xorl %edx,%r15d
3072
vpaddd %ymm6,%ymm3,%ymm3
3073
rorxl $13,%ecx,%r14d
3074
rorxl $2,%ecx,%r13d
3075
leal (%r9,%rbx,1),%r9d
3076
vpshufd $80,%ymm3,%ymm7
3077
andl %r15d,%esi
3078
vpand %xmm13,%xmm11,%xmm11
3079
vaesenc %xmm10,%xmm9,%xmm9
3080
vmovdqu 224-128(%rdi),%xmm10
3081
xorl %r12d,%r14d
3082
xorl %edx,%esi
3083
vpsrld $10,%ymm7,%ymm6
3084
xorl %r13d,%r14d
3085
leal (%rbx,%rsi,1),%ebx
3086
movl %r10d,%r12d
3087
vpsrlq $17,%ymm7,%ymm7
3088
addl 44+128(%rsp),%eax
3089
andl %r9d,%r12d
3090
rorxl $25,%r9d,%r13d
3091
vpxor %ymm7,%ymm6,%ymm6
3092
rorxl $11,%r9d,%esi
3093
leal (%rbx,%r14,1),%ebx
3094
leal (%rax,%r12,1),%eax
3095
vpsrlq $2,%ymm7,%ymm7
3096
andnl %r11d,%r9d,%r12d
3097
xorl %esi,%r13d
3098
rorxl $6,%r9d,%r14d
3099
vpxor %ymm7,%ymm6,%ymm6
3100
leal (%rax,%r12,1),%eax
3101
xorl %r14d,%r13d
3102
movl %ebx,%esi
3103
vpshufd $232,%ymm6,%ymm6
3104
rorxl $22,%ebx,%r12d
3105
leal (%rax,%r13,1),%eax
3106
xorl %ecx,%esi
3107
vpslldq $8,%ymm6,%ymm6
3108
rorxl $13,%ebx,%r14d
3109
rorxl $2,%ebx,%r13d
3110
leal (%r8,%rax,1),%r8d
3111
vpaddd %ymm6,%ymm3,%ymm3
3112
andl %esi,%r15d
3113
vpor %xmm11,%xmm8,%xmm8
3114
vaesenclast %xmm10,%xmm9,%xmm11
3115
vmovdqu 0-128(%rdi),%xmm10
3116
xorl %r12d,%r14d
3117
xorl %ecx,%r15d
3118
vpaddd 96(%rbp),%ymm3,%ymm6
3119
xorl %r13d,%r14d
3120
leal (%rax,%r15,1),%eax
3121
movl %r9d,%r12d
3122
vmovdqa %ymm6,32(%rsp)
3123
vmovq %xmm15,%r13
3124
vpextrq $1,%xmm15,%r15
3125
vpand %xmm14,%xmm11,%xmm11
3126
vpor %xmm11,%xmm8,%xmm8
3127
vmovdqu %xmm8,(%r15,%r13,1)
3128
leaq 16(%r13),%r13
3129
leaq 128(%rbp),%rbp
3130
cmpb $0,3(%rbp)
3131
jne .Lavx2_00_47
3132
vmovdqu (%r13),%xmm9
3133
vpinsrq $0,%r13,%xmm15,%xmm15
3134
addl 0+64(%rsp),%r11d
3135
andl %r8d,%r12d
3136
rorxl $25,%r8d,%r13d
3137
rorxl $11,%r8d,%r15d
3138
leal (%rax,%r14,1),%eax
3139
leal (%r11,%r12,1),%r11d
3140
andnl %r10d,%r8d,%r12d
3141
xorl %r15d,%r13d
3142
rorxl $6,%r8d,%r14d
3143
leal (%r11,%r12,1),%r11d
3144
xorl %r14d,%r13d
3145
movl %eax,%r15d
3146
rorxl $22,%eax,%r12d
3147
leal (%r11,%r13,1),%r11d
3148
xorl %ebx,%r15d
3149
rorxl $13,%eax,%r14d
3150
rorxl $2,%eax,%r13d
3151
leal (%rdx,%r11,1),%edx
3152
andl %r15d,%esi
3153
vpxor %xmm10,%xmm9,%xmm9
3154
vmovdqu 16-128(%rdi),%xmm10
3155
xorl %r12d,%r14d
3156
xorl %ebx,%esi
3157
xorl %r13d,%r14d
3158
leal (%r11,%rsi,1),%r11d
3159
movl %r8d,%r12d
3160
addl 4+64(%rsp),%r10d
3161
andl %edx,%r12d
3162
rorxl $25,%edx,%r13d
3163
rorxl $11,%edx,%esi
3164
leal (%r11,%r14,1),%r11d
3165
leal (%r10,%r12,1),%r10d
3166
andnl %r9d,%edx,%r12d
3167
xorl %esi,%r13d
3168
rorxl $6,%edx,%r14d
3169
leal (%r10,%r12,1),%r10d
3170
xorl %r14d,%r13d
3171
movl %r11d,%esi
3172
rorxl $22,%r11d,%r12d
3173
leal (%r10,%r13,1),%r10d
3174
xorl %eax,%esi
3175
rorxl $13,%r11d,%r14d
3176
rorxl $2,%r11d,%r13d
3177
leal (%rcx,%r10,1),%ecx
3178
andl %esi,%r15d
3179
vpxor %xmm8,%xmm9,%xmm9
3180
xorl %r12d,%r14d
3181
xorl %eax,%r15d
3182
xorl %r13d,%r14d
3183
leal (%r10,%r15,1),%r10d
3184
movl %edx,%r12d
3185
addl 8+64(%rsp),%r9d
3186
andl %ecx,%r12d
3187
rorxl $25,%ecx,%r13d
3188
rorxl $11,%ecx,%r15d
3189
leal (%r10,%r14,1),%r10d
3190
leal (%r9,%r12,1),%r9d
3191
andnl %r8d,%ecx,%r12d
3192
xorl %r15d,%r13d
3193
rorxl $6,%ecx,%r14d
3194
leal (%r9,%r12,1),%r9d
3195
xorl %r14d,%r13d
3196
movl %r10d,%r15d
3197
rorxl $22,%r10d,%r12d
3198
leal (%r9,%r13,1),%r9d
3199
xorl %r11d,%r15d
3200
rorxl $13,%r10d,%r14d
3201
rorxl $2,%r10d,%r13d
3202
leal (%rbx,%r9,1),%ebx
3203
andl %r15d,%esi
3204
vaesenc %xmm10,%xmm9,%xmm9
3205
vmovdqu 32-128(%rdi),%xmm10
3206
xorl %r12d,%r14d
3207
xorl %r11d,%esi
3208
xorl %r13d,%r14d
3209
leal (%r9,%rsi,1),%r9d
3210
movl %ecx,%r12d
3211
addl 12+64(%rsp),%r8d
3212
andl %ebx,%r12d
3213
rorxl $25,%ebx,%r13d
3214
rorxl $11,%ebx,%esi
3215
leal (%r9,%r14,1),%r9d
3216
leal (%r8,%r12,1),%r8d
3217
andnl %edx,%ebx,%r12d
3218
xorl %esi,%r13d
3219
rorxl $6,%ebx,%r14d
3220
leal (%r8,%r12,1),%r8d
3221
xorl %r14d,%r13d
3222
movl %r9d,%esi
3223
rorxl $22,%r9d,%r12d
3224
leal (%r8,%r13,1),%r8d
3225
xorl %r10d,%esi
3226
rorxl $13,%r9d,%r14d
3227
rorxl $2,%r9d,%r13d
3228
leal (%rax,%r8,1),%eax
3229
andl %esi,%r15d
3230
vaesenc %xmm10,%xmm9,%xmm9
3231
vmovdqu 48-128(%rdi),%xmm10
3232
xorl %r12d,%r14d
3233
xorl %r10d,%r15d
3234
xorl %r13d,%r14d
3235
leal (%r8,%r15,1),%r8d
3236
movl %ebx,%r12d
3237
addl 32+64(%rsp),%edx
3238
andl %eax,%r12d
3239
rorxl $25,%eax,%r13d
3240
rorxl $11,%eax,%r15d
3241
leal (%r8,%r14,1),%r8d
3242
leal (%rdx,%r12,1),%edx
3243
andnl %ecx,%eax,%r12d
3244
xorl %r15d,%r13d
3245
rorxl $6,%eax,%r14d
3246
leal (%rdx,%r12,1),%edx
3247
xorl %r14d,%r13d
3248
movl %r8d,%r15d
3249
rorxl $22,%r8d,%r12d
3250
leal (%rdx,%r13,1),%edx
3251
xorl %r9d,%r15d
3252
rorxl $13,%r8d,%r14d
3253
rorxl $2,%r8d,%r13d
3254
leal (%r11,%rdx,1),%r11d
3255
andl %r15d,%esi
3256
vaesenc %xmm10,%xmm9,%xmm9
3257
vmovdqu 64-128(%rdi),%xmm10
3258
xorl %r12d,%r14d
3259
xorl %r9d,%esi
3260
xorl %r13d,%r14d
3261
leal (%rdx,%rsi,1),%edx
3262
movl %eax,%r12d
3263
addl 36+64(%rsp),%ecx
3264
andl %r11d,%r12d
3265
rorxl $25,%r11d,%r13d
3266
rorxl $11,%r11d,%esi
3267
leal (%rdx,%r14,1),%edx
3268
leal (%rcx,%r12,1),%ecx
3269
andnl %ebx,%r11d,%r12d
3270
xorl %esi,%r13d
3271
rorxl $6,%r11d,%r14d
3272
leal (%rcx,%r12,1),%ecx
3273
xorl %r14d,%r13d
3274
movl %edx,%esi
3275
rorxl $22,%edx,%r12d
3276
leal (%rcx,%r13,1),%ecx
3277
xorl %r8d,%esi
3278
rorxl $13,%edx,%r14d
3279
rorxl $2,%edx,%r13d
3280
leal (%r10,%rcx,1),%r10d
3281
andl %esi,%r15d
3282
vaesenc %xmm10,%xmm9,%xmm9
3283
vmovdqu 80-128(%rdi),%xmm10
3284
xorl %r12d,%r14d
3285
xorl %r8d,%r15d
3286
xorl %r13d,%r14d
3287
leal (%rcx,%r15,1),%ecx
3288
movl %r11d,%r12d
3289
addl 40+64(%rsp),%ebx
3290
andl %r10d,%r12d
3291
rorxl $25,%r10d,%r13d
3292
rorxl $11,%r10d,%r15d
3293
leal (%rcx,%r14,1),%ecx
3294
leal (%rbx,%r12,1),%ebx
3295
andnl %eax,%r10d,%r12d
3296
xorl %r15d,%r13d
3297
rorxl $6,%r10d,%r14d
3298
leal (%rbx,%r12,1),%ebx
3299
xorl %r14d,%r13d
3300
movl %ecx,%r15d
3301
rorxl $22,%ecx,%r12d
3302
leal (%rbx,%r13,1),%ebx
3303
xorl %edx,%r15d
3304
rorxl $13,%ecx,%r14d
3305
rorxl $2,%ecx,%r13d
3306
leal (%r9,%rbx,1),%r9d
3307
andl %r15d,%esi
3308
vaesenc %xmm10,%xmm9,%xmm9
3309
vmovdqu 96-128(%rdi),%xmm10
3310
xorl %r12d,%r14d
3311
xorl %edx,%esi
3312
xorl %r13d,%r14d
3313
leal (%rbx,%rsi,1),%ebx
3314
movl %r10d,%r12d
3315
addl 44+64(%rsp),%eax
3316
andl %r9d,%r12d
3317
rorxl $25,%r9d,%r13d
3318
rorxl $11,%r9d,%esi
3319
leal (%rbx,%r14,1),%ebx
3320
leal (%rax,%r12,1),%eax
3321
andnl %r11d,%r9d,%r12d
3322
xorl %esi,%r13d
3323
rorxl $6,%r9d,%r14d
3324
leal (%rax,%r12,1),%eax
3325
xorl %r14d,%r13d
3326
movl %ebx,%esi
3327
rorxl $22,%ebx,%r12d
3328
leal (%rax,%r13,1),%eax
3329
xorl %ecx,%esi
3330
rorxl $13,%ebx,%r14d
3331
rorxl $2,%ebx,%r13d
3332
leal (%r8,%rax,1),%r8d
3333
andl %esi,%r15d
3334
vaesenc %xmm10,%xmm9,%xmm9
3335
vmovdqu 112-128(%rdi),%xmm10
3336
xorl %r12d,%r14d
3337
xorl %ecx,%r15d
3338
xorl %r13d,%r14d
3339
leal (%rax,%r15,1),%eax
3340
movl %r9d,%r12d
3341
addl 0(%rsp),%r11d
3342
andl %r8d,%r12d
3343
rorxl $25,%r8d,%r13d
3344
rorxl $11,%r8d,%r15d
3345
leal (%rax,%r14,1),%eax
3346
leal (%r11,%r12,1),%r11d
3347
andnl %r10d,%r8d,%r12d
3348
xorl %r15d,%r13d
3349
rorxl $6,%r8d,%r14d
3350
leal (%r11,%r12,1),%r11d
3351
xorl %r14d,%r13d
3352
movl %eax,%r15d
3353
rorxl $22,%eax,%r12d
3354
leal (%r11,%r13,1),%r11d
3355
xorl %ebx,%r15d
3356
rorxl $13,%eax,%r14d
3357
rorxl $2,%eax,%r13d
3358
leal (%rdx,%r11,1),%edx
3359
andl %r15d,%esi
3360
vaesenc %xmm10,%xmm9,%xmm9
3361
vmovdqu 128-128(%rdi),%xmm10
3362
xorl %r12d,%r14d
3363
xorl %ebx,%esi
3364
xorl %r13d,%r14d
3365
leal (%r11,%rsi,1),%r11d
3366
movl %r8d,%r12d
3367
addl 4(%rsp),%r10d
3368
andl %edx,%r12d
3369
rorxl $25,%edx,%r13d
3370
rorxl $11,%edx,%esi
3371
leal (%r11,%r14,1),%r11d
3372
leal (%r10,%r12,1),%r10d
3373
andnl %r9d,%edx,%r12d
3374
xorl %esi,%r13d
3375
rorxl $6,%edx,%r14d
3376
leal (%r10,%r12,1),%r10d
3377
xorl %r14d,%r13d
3378
movl %r11d,%esi
3379
rorxl $22,%r11d,%r12d
3380
leal (%r10,%r13,1),%r10d
3381
xorl %eax,%esi
3382
rorxl $13,%r11d,%r14d
3383
rorxl $2,%r11d,%r13d
3384
leal (%rcx,%r10,1),%ecx
3385
andl %esi,%r15d
3386
vaesenc %xmm10,%xmm9,%xmm9
3387
vmovdqu 144-128(%rdi),%xmm10
3388
xorl %r12d,%r14d
3389
xorl %eax,%r15d
3390
xorl %r13d,%r14d
3391
leal (%r10,%r15,1),%r10d
3392
movl %edx,%r12d
3393
addl 8(%rsp),%r9d
3394
andl %ecx,%r12d
3395
rorxl $25,%ecx,%r13d
3396
rorxl $11,%ecx,%r15d
3397
leal (%r10,%r14,1),%r10d
3398
leal (%r9,%r12,1),%r9d
3399
andnl %r8d,%ecx,%r12d
3400
xorl %r15d,%r13d
3401
rorxl $6,%ecx,%r14d
3402
leal (%r9,%r12,1),%r9d
3403
xorl %r14d,%r13d
3404
movl %r10d,%r15d
3405
rorxl $22,%r10d,%r12d
3406
leal (%r9,%r13,1),%r9d
3407
xorl %r11d,%r15d
3408
rorxl $13,%r10d,%r14d
3409
rorxl $2,%r10d,%r13d
3410
leal (%rbx,%r9,1),%ebx
3411
andl %r15d,%esi
3412
vaesenc %xmm10,%xmm9,%xmm9
3413
vmovdqu 160-128(%rdi),%xmm10
3414
xorl %r12d,%r14d
3415
xorl %r11d,%esi
3416
xorl %r13d,%r14d
3417
leal (%r9,%rsi,1),%r9d
3418
movl %ecx,%r12d
3419
addl 12(%rsp),%r8d
3420
andl %ebx,%r12d
3421
rorxl $25,%ebx,%r13d
3422
rorxl $11,%ebx,%esi
3423
leal (%r9,%r14,1),%r9d
3424
leal (%r8,%r12,1),%r8d
3425
andnl %edx,%ebx,%r12d
3426
xorl %esi,%r13d
3427
rorxl $6,%ebx,%r14d
3428
leal (%r8,%r12,1),%r8d
3429
xorl %r14d,%r13d
3430
movl %r9d,%esi
3431
rorxl $22,%r9d,%r12d
3432
leal (%r8,%r13,1),%r8d
3433
xorl %r10d,%esi
3434
rorxl $13,%r9d,%r14d
3435
rorxl $2,%r9d,%r13d
3436
leal (%rax,%r8,1),%eax
3437
andl %esi,%r15d
3438
vaesenclast %xmm10,%xmm9,%xmm11
3439
vaesenc %xmm10,%xmm9,%xmm9
3440
vmovdqu 176-128(%rdi),%xmm10
3441
xorl %r12d,%r14d
3442
xorl %r10d,%r15d
3443
xorl %r13d,%r14d
3444
leal (%r8,%r15,1),%r8d
3445
movl %ebx,%r12d
3446
addl 32(%rsp),%edx
3447
andl %eax,%r12d
3448
rorxl $25,%eax,%r13d
3449
rorxl $11,%eax,%r15d
3450
leal (%r8,%r14,1),%r8d
3451
leal (%rdx,%r12,1),%edx
3452
andnl %ecx,%eax,%r12d
3453
xorl %r15d,%r13d
3454
rorxl $6,%eax,%r14d
3455
leal (%rdx,%r12,1),%edx
3456
xorl %r14d,%r13d
3457
movl %r8d,%r15d
3458
rorxl $22,%r8d,%r12d
3459
leal (%rdx,%r13,1),%edx
3460
xorl %r9d,%r15d
3461
rorxl $13,%r8d,%r14d
3462
rorxl $2,%r8d,%r13d
3463
leal (%r11,%rdx,1),%r11d
3464
andl %r15d,%esi
3465
vpand %xmm12,%xmm11,%xmm8
3466
vaesenc %xmm10,%xmm9,%xmm9
3467
vmovdqu 192-128(%rdi),%xmm10
3468
xorl %r12d,%r14d
3469
xorl %r9d,%esi
3470
xorl %r13d,%r14d
3471
leal (%rdx,%rsi,1),%edx
3472
movl %eax,%r12d
3473
addl 36(%rsp),%ecx
3474
andl %r11d,%r12d
3475
rorxl $25,%r11d,%r13d
3476
rorxl $11,%r11d,%esi
3477
leal (%rdx,%r14,1),%edx
3478
leal (%rcx,%r12,1),%ecx
3479
andnl %ebx,%r11d,%r12d
3480
xorl %esi,%r13d
3481
rorxl $6,%r11d,%r14d
3482
leal (%rcx,%r12,1),%ecx
3483
xorl %r14d,%r13d
3484
movl %edx,%esi
3485
rorxl $22,%edx,%r12d
3486
leal (%rcx,%r13,1),%ecx
3487
xorl %r8d,%esi
3488
rorxl $13,%edx,%r14d
3489
rorxl $2,%edx,%r13d
3490
leal (%r10,%rcx,1),%r10d
3491
andl %esi,%r15d
3492
vaesenclast %xmm10,%xmm9,%xmm11
3493
vaesenc %xmm10,%xmm9,%xmm9
3494
vmovdqu 208-128(%rdi),%xmm10
3495
xorl %r12d,%r14d
3496
xorl %r8d,%r15d
3497
xorl %r13d,%r14d
3498
leal (%rcx,%r15,1),%ecx
3499
movl %r11d,%r12d
3500
addl 40(%rsp),%ebx
3501
andl %r10d,%r12d
3502
rorxl $25,%r10d,%r13d
3503
rorxl $11,%r10d,%r15d
3504
leal (%rcx,%r14,1),%ecx
3505
leal (%rbx,%r12,1),%ebx
3506
andnl %eax,%r10d,%r12d
3507
xorl %r15d,%r13d
3508
rorxl $6,%r10d,%r14d
3509
leal (%rbx,%r12,1),%ebx
3510
xorl %r14d,%r13d
3511
movl %ecx,%r15d
3512
rorxl $22,%ecx,%r12d
3513
leal (%rbx,%r13,1),%ebx
3514
xorl %edx,%r15d
3515
rorxl $13,%ecx,%r14d
3516
rorxl $2,%ecx,%r13d
3517
leal (%r9,%rbx,1),%r9d
3518
andl %r15d,%esi
3519
vpand %xmm13,%xmm11,%xmm11
3520
vaesenc %xmm10,%xmm9,%xmm9
3521
vmovdqu 224-128(%rdi),%xmm10
3522
xorl %r12d,%r14d
3523
xorl %edx,%esi
3524
xorl %r13d,%r14d
3525
leal (%rbx,%rsi,1),%ebx
3526
movl %r10d,%r12d
3527
addl 44(%rsp),%eax
3528
andl %r9d,%r12d
3529
rorxl $25,%r9d,%r13d
3530
rorxl $11,%r9d,%esi
3531
leal (%rbx,%r14,1),%ebx
3532
leal (%rax,%r12,1),%eax
3533
andnl %r11d,%r9d,%r12d
3534
xorl %esi,%r13d
3535
rorxl $6,%r9d,%r14d
3536
leal (%rax,%r12,1),%eax
3537
xorl %r14d,%r13d
3538
movl %ebx,%esi
3539
rorxl $22,%ebx,%r12d
3540
leal (%rax,%r13,1),%eax
3541
xorl %ecx,%esi
3542
rorxl $13,%ebx,%r14d
3543
rorxl $2,%ebx,%r13d
3544
leal (%r8,%rax,1),%r8d
3545
andl %esi,%r15d
3546
vpor %xmm11,%xmm8,%xmm8
3547
vaesenclast %xmm10,%xmm9,%xmm11
3548
vmovdqu 0-128(%rdi),%xmm10
3549
xorl %r12d,%r14d
3550
xorl %ecx,%r15d
3551
xorl %r13d,%r14d
3552
leal (%rax,%r15,1),%eax
3553
movl %r9d,%r12d
3554
vpextrq $1,%xmm15,%r12
3555
vmovq %xmm15,%r13
3556
movq 552(%rsp),%r15
3557
addl %r14d,%eax
3558
leaq 448(%rsp),%rbp
3559
3560
vpand %xmm14,%xmm11,%xmm11
3561
vpor %xmm11,%xmm8,%xmm8
3562
vmovdqu %xmm8,(%r12,%r13,1)
3563
leaq 16(%r13),%r13
3564
3565
addl 0(%r15),%eax
3566
addl 4(%r15),%ebx
3567
addl 8(%r15),%ecx
3568
addl 12(%r15),%edx
3569
addl 16(%r15),%r8d
3570
addl 20(%r15),%r9d
3571
addl 24(%r15),%r10d
3572
addl 28(%r15),%r11d
3573
3574
movl %eax,0(%r15)
3575
movl %ebx,4(%r15)
3576
movl %ecx,8(%r15)
3577
movl %edx,12(%r15)
3578
movl %r8d,16(%r15)
3579
movl %r9d,20(%r15)
3580
movl %r10d,24(%r15)
3581
movl %r11d,28(%r15)
3582
3583
cmpq 80(%rbp),%r13
3584
je .Ldone_avx2
3585
3586
xorl %r14d,%r14d
3587
movl %ebx,%esi
3588
movl %r9d,%r12d
3589
xorl %ecx,%esi
3590
jmp .Lower_avx2
3591
.align 16
3592
.Lower_avx2:
3593
vmovdqu (%r13),%xmm9
3594
vpinsrq $0,%r13,%xmm15,%xmm15
3595
addl 0+16(%rbp),%r11d
3596
andl %r8d,%r12d
3597
rorxl $25,%r8d,%r13d
3598
rorxl $11,%r8d,%r15d
3599
leal (%rax,%r14,1),%eax
3600
leal (%r11,%r12,1),%r11d
3601
andnl %r10d,%r8d,%r12d
3602
xorl %r15d,%r13d
3603
rorxl $6,%r8d,%r14d
3604
leal (%r11,%r12,1),%r11d
3605
xorl %r14d,%r13d
3606
movl %eax,%r15d
3607
rorxl $22,%eax,%r12d
3608
leal (%r11,%r13,1),%r11d
3609
xorl %ebx,%r15d
3610
rorxl $13,%eax,%r14d
3611
rorxl $2,%eax,%r13d
3612
leal (%rdx,%r11,1),%edx
3613
andl %r15d,%esi
3614
vpxor %xmm10,%xmm9,%xmm9
3615
vmovdqu 16-128(%rdi),%xmm10
3616
xorl %r12d,%r14d
3617
xorl %ebx,%esi
3618
xorl %r13d,%r14d
3619
leal (%r11,%rsi,1),%r11d
3620
movl %r8d,%r12d
3621
addl 4+16(%rbp),%r10d
3622
andl %edx,%r12d
3623
rorxl $25,%edx,%r13d
3624
rorxl $11,%edx,%esi
3625
leal (%r11,%r14,1),%r11d
3626
leal (%r10,%r12,1),%r10d
3627
andnl %r9d,%edx,%r12d
3628
xorl %esi,%r13d
3629
rorxl $6,%edx,%r14d
3630
leal (%r10,%r12,1),%r10d
3631
xorl %r14d,%r13d
3632
movl %r11d,%esi
3633
rorxl $22,%r11d,%r12d
3634
leal (%r10,%r13,1),%r10d
3635
xorl %eax,%esi
3636
rorxl $13,%r11d,%r14d
3637
rorxl $2,%r11d,%r13d
3638
leal (%rcx,%r10,1),%ecx
3639
andl %esi,%r15d
3640
vpxor %xmm8,%xmm9,%xmm9
3641
xorl %r12d,%r14d
3642
xorl %eax,%r15d
3643
xorl %r13d,%r14d
3644
leal (%r10,%r15,1),%r10d
3645
movl %edx,%r12d
3646
addl 8+16(%rbp),%r9d
3647
andl %ecx,%r12d
3648
rorxl $25,%ecx,%r13d
3649
rorxl $11,%ecx,%r15d
3650
leal (%r10,%r14,1),%r10d
3651
leal (%r9,%r12,1),%r9d
3652
andnl %r8d,%ecx,%r12d
3653
xorl %r15d,%r13d
3654
rorxl $6,%ecx,%r14d
3655
leal (%r9,%r12,1),%r9d
3656
xorl %r14d,%r13d
3657
movl %r10d,%r15d
3658
rorxl $22,%r10d,%r12d
3659
leal (%r9,%r13,1),%r9d
3660
xorl %r11d,%r15d
3661
rorxl $13,%r10d,%r14d
3662
rorxl $2,%r10d,%r13d
3663
leal (%rbx,%r9,1),%ebx
3664
andl %r15d,%esi
3665
vaesenc %xmm10,%xmm9,%xmm9
3666
vmovdqu 32-128(%rdi),%xmm10
3667
xorl %r12d,%r14d
3668
xorl %r11d,%esi
3669
xorl %r13d,%r14d
3670
leal (%r9,%rsi,1),%r9d
3671
movl %ecx,%r12d
3672
addl 12+16(%rbp),%r8d
3673
andl %ebx,%r12d
3674
rorxl $25,%ebx,%r13d
3675
rorxl $11,%ebx,%esi
3676
leal (%r9,%r14,1),%r9d
3677
leal (%r8,%r12,1),%r8d
3678
andnl %edx,%ebx,%r12d
3679
xorl %esi,%r13d
3680
rorxl $6,%ebx,%r14d
3681
leal (%r8,%r12,1),%r8d
3682
xorl %r14d,%r13d
3683
movl %r9d,%esi
3684
rorxl $22,%r9d,%r12d
3685
leal (%r8,%r13,1),%r8d
3686
xorl %r10d,%esi
3687
rorxl $13,%r9d,%r14d
3688
rorxl $2,%r9d,%r13d
3689
leal (%rax,%r8,1),%eax
3690
andl %esi,%r15d
3691
vaesenc %xmm10,%xmm9,%xmm9
3692
vmovdqu 48-128(%rdi),%xmm10
3693
xorl %r12d,%r14d
3694
xorl %r10d,%r15d
3695
xorl %r13d,%r14d
3696
leal (%r8,%r15,1),%r8d
3697
movl %ebx,%r12d
3698
addl 32+16(%rbp),%edx
3699
andl %eax,%r12d
3700
rorxl $25,%eax,%r13d
3701
rorxl $11,%eax,%r15d
3702
leal (%r8,%r14,1),%r8d
3703
leal (%rdx,%r12,1),%edx
3704
andnl %ecx,%eax,%r12d
3705
xorl %r15d,%r13d
3706
rorxl $6,%eax,%r14d
3707
leal (%rdx,%r12,1),%edx
3708
xorl %r14d,%r13d
3709
movl %r8d,%r15d
3710
rorxl $22,%r8d,%r12d
3711
leal (%rdx,%r13,1),%edx
3712
xorl %r9d,%r15d
3713
rorxl $13,%r8d,%r14d
3714
rorxl $2,%r8d,%r13d
3715
leal (%r11,%rdx,1),%r11d
3716
andl %r15d,%esi
3717
vaesenc %xmm10,%xmm9,%xmm9
3718
vmovdqu 64-128(%rdi),%xmm10
3719
xorl %r12d,%r14d
3720
xorl %r9d,%esi
3721
xorl %r13d,%r14d
3722
leal (%rdx,%rsi,1),%edx
3723
movl %eax,%r12d
3724
addl 36+16(%rbp),%ecx
3725
andl %r11d,%r12d
3726
rorxl $25,%r11d,%r13d
3727
rorxl $11,%r11d,%esi
3728
leal (%rdx,%r14,1),%edx
3729
leal (%rcx,%r12,1),%ecx
3730
andnl %ebx,%r11d,%r12d
3731
xorl %esi,%r13d
3732
rorxl $6,%r11d,%r14d
3733
leal (%rcx,%r12,1),%ecx
3734
xorl %r14d,%r13d
3735
movl %edx,%esi
3736
rorxl $22,%edx,%r12d
3737
leal (%rcx,%r13,1),%ecx
3738
xorl %r8d,%esi
3739
rorxl $13,%edx,%r14d
3740
rorxl $2,%edx,%r13d
3741
leal (%r10,%rcx,1),%r10d
3742
andl %esi,%r15d
3743
vaesenc %xmm10,%xmm9,%xmm9
3744
vmovdqu 80-128(%rdi),%xmm10
3745
xorl %r12d,%r14d
3746
xorl %r8d,%r15d
3747
xorl %r13d,%r14d
3748
leal (%rcx,%r15,1),%ecx
3749
movl %r11d,%r12d
3750
addl 40+16(%rbp),%ebx
3751
andl %r10d,%r12d
3752
rorxl $25,%r10d,%r13d
3753
rorxl $11,%r10d,%r15d
3754
leal (%rcx,%r14,1),%ecx
3755
leal (%rbx,%r12,1),%ebx
3756
andnl %eax,%r10d,%r12d
3757
xorl %r15d,%r13d
3758
rorxl $6,%r10d,%r14d
3759
leal (%rbx,%r12,1),%ebx
3760
xorl %r14d,%r13d
3761
movl %ecx,%r15d
3762
rorxl $22,%ecx,%r12d
3763
leal (%rbx,%r13,1),%ebx
3764
xorl %edx,%r15d
3765
rorxl $13,%ecx,%r14d
3766
rorxl $2,%ecx,%r13d
3767
leal (%r9,%rbx,1),%r9d
3768
andl %r15d,%esi
3769
vaesenc %xmm10,%xmm9,%xmm9
3770
vmovdqu 96-128(%rdi),%xmm10
3771
xorl %r12d,%r14d
3772
xorl %edx,%esi
3773
xorl %r13d,%r14d
3774
leal (%rbx,%rsi,1),%ebx
3775
movl %r10d,%r12d
3776
addl 44+16(%rbp),%eax
3777
andl %r9d,%r12d
3778
rorxl $25,%r9d,%r13d
3779
rorxl $11,%r9d,%esi
3780
leal (%rbx,%r14,1),%ebx
3781
leal (%rax,%r12,1),%eax
3782
andnl %r11d,%r9d,%r12d
3783
xorl %esi,%r13d
3784
rorxl $6,%r9d,%r14d
3785
leal (%rax,%r12,1),%eax
3786
xorl %r14d,%r13d
3787
movl %ebx,%esi
3788
rorxl $22,%ebx,%r12d
3789
leal (%rax,%r13,1),%eax
3790
xorl %ecx,%esi
3791
rorxl $13,%ebx,%r14d
3792
rorxl $2,%ebx,%r13d
3793
leal (%r8,%rax,1),%r8d
3794
andl %esi,%r15d
3795
vaesenc %xmm10,%xmm9,%xmm9
3796
vmovdqu 112-128(%rdi),%xmm10
3797
xorl %r12d,%r14d
3798
xorl %ecx,%r15d
3799
xorl %r13d,%r14d
3800
leal (%rax,%r15,1),%eax
3801
movl %r9d,%r12d
3802
leaq -64(%rbp),%rbp
3803
addl 0+16(%rbp),%r11d
3804
andl %r8d,%r12d
3805
rorxl $25,%r8d,%r13d
3806
rorxl $11,%r8d,%r15d
3807
leal (%rax,%r14,1),%eax
3808
leal (%r11,%r12,1),%r11d
3809
andnl %r10d,%r8d,%r12d
3810
xorl %r15d,%r13d
3811
rorxl $6,%r8d,%r14d
3812
leal (%r11,%r12,1),%r11d
3813
xorl %r14d,%r13d
3814
movl %eax,%r15d
3815
rorxl $22,%eax,%r12d
3816
leal (%r11,%r13,1),%r11d
3817
xorl %ebx,%r15d
3818
rorxl $13,%eax,%r14d
3819
rorxl $2,%eax,%r13d
3820
leal (%rdx,%r11,1),%edx
3821
andl %r15d,%esi
3822
vaesenc %xmm10,%xmm9,%xmm9
3823
vmovdqu 128-128(%rdi),%xmm10
3824
xorl %r12d,%r14d
3825
xorl %ebx,%esi
3826
xorl %r13d,%r14d
3827
leal (%r11,%rsi,1),%r11d
3828
movl %r8d,%r12d
3829
addl 4+16(%rbp),%r10d
3830
andl %edx,%r12d
3831
rorxl $25,%edx,%r13d
3832
rorxl $11,%edx,%esi
3833
leal (%r11,%r14,1),%r11d
3834
leal (%r10,%r12,1),%r10d
3835
andnl %r9d,%edx,%r12d
3836
xorl %esi,%r13d
3837
rorxl $6,%edx,%r14d
3838
leal (%r10,%r12,1),%r10d
3839
xorl %r14d,%r13d
3840
movl %r11d,%esi
3841
rorxl $22,%r11d,%r12d
3842
leal (%r10,%r13,1),%r10d
3843
xorl %eax,%esi
3844
rorxl $13,%r11d,%r14d
3845
rorxl $2,%r11d,%r13d
3846
leal (%rcx,%r10,1),%ecx
3847
andl %esi,%r15d
3848
vaesenc %xmm10,%xmm9,%xmm9
3849
vmovdqu 144-128(%rdi),%xmm10
3850
xorl %r12d,%r14d
3851
xorl %eax,%r15d
3852
xorl %r13d,%r14d
3853
leal (%r10,%r15,1),%r10d
3854
movl %edx,%r12d
3855
addl 8+16(%rbp),%r9d
3856
andl %ecx,%r12d
3857
rorxl $25,%ecx,%r13d
3858
rorxl $11,%ecx,%r15d
3859
leal (%r10,%r14,1),%r10d
3860
leal (%r9,%r12,1),%r9d
3861
andnl %r8d,%ecx,%r12d
3862
xorl %r15d,%r13d
3863
rorxl $6,%ecx,%r14d
3864
leal (%r9,%r12,1),%r9d
3865
xorl %r14d,%r13d
3866
movl %r10d,%r15d
3867
rorxl $22,%r10d,%r12d
3868
leal (%r9,%r13,1),%r9d
3869
xorl %r11d,%r15d
3870
rorxl $13,%r10d,%r14d
3871
rorxl $2,%r10d,%r13d
3872
leal (%rbx,%r9,1),%ebx
3873
andl %r15d,%esi
3874
vaesenc %xmm10,%xmm9,%xmm9
3875
vmovdqu 160-128(%rdi),%xmm10
3876
xorl %r12d,%r14d
3877
xorl %r11d,%esi
3878
xorl %r13d,%r14d
3879
leal (%r9,%rsi,1),%r9d
3880
movl %ecx,%r12d
3881
addl 12+16(%rbp),%r8d
3882
andl %ebx,%r12d
3883
rorxl $25,%ebx,%r13d
3884
rorxl $11,%ebx,%esi
3885
leal (%r9,%r14,1),%r9d
3886
leal (%r8,%r12,1),%r8d
3887
andnl %edx,%ebx,%r12d
3888
xorl %esi,%r13d
3889
rorxl $6,%ebx,%r14d
3890
leal (%r8,%r12,1),%r8d
3891
xorl %r14d,%r13d
3892
movl %r9d,%esi
3893
rorxl $22,%r9d,%r12d
3894
leal (%r8,%r13,1),%r8d
3895
xorl %r10d,%esi
3896
rorxl $13,%r9d,%r14d
3897
rorxl $2,%r9d,%r13d
3898
leal (%rax,%r8,1),%eax
3899
andl %esi,%r15d
3900
vaesenclast %xmm10,%xmm9,%xmm11
3901
vaesenc %xmm10,%xmm9,%xmm9
3902
vmovdqu 176-128(%rdi),%xmm10
3903
xorl %r12d,%r14d
3904
xorl %r10d,%r15d
3905
xorl %r13d,%r14d
3906
leal (%r8,%r15,1),%r8d
3907
movl %ebx,%r12d
3908
addl 32+16(%rbp),%edx
3909
andl %eax,%r12d
3910
rorxl $25,%eax,%r13d
3911
rorxl $11,%eax,%r15d
3912
leal (%r8,%r14,1),%r8d
3913
leal (%rdx,%r12,1),%edx
3914
andnl %ecx,%eax,%r12d
3915
xorl %r15d,%r13d
3916
rorxl $6,%eax,%r14d
3917
leal (%rdx,%r12,1),%edx
3918
xorl %r14d,%r13d
3919
movl %r8d,%r15d
3920
rorxl $22,%r8d,%r12d
3921
leal (%rdx,%r13,1),%edx
3922
xorl %r9d,%r15d
3923
rorxl $13,%r8d,%r14d
3924
rorxl $2,%r8d,%r13d
3925
leal (%r11,%rdx,1),%r11d
3926
andl %r15d,%esi
3927
vpand %xmm12,%xmm11,%xmm8
3928
vaesenc %xmm10,%xmm9,%xmm9
3929
vmovdqu 192-128(%rdi),%xmm10
3930
xorl %r12d,%r14d
3931
xorl %r9d,%esi
3932
xorl %r13d,%r14d
3933
leal (%rdx,%rsi,1),%edx
3934
movl %eax,%r12d
3935
addl 36+16(%rbp),%ecx
3936
andl %r11d,%r12d
3937
rorxl $25,%r11d,%r13d
3938
rorxl $11,%r11d,%esi
3939
leal (%rdx,%r14,1),%edx
3940
leal (%rcx,%r12,1),%ecx
3941
andnl %ebx,%r11d,%r12d
3942
xorl %esi,%r13d
3943
rorxl $6,%r11d,%r14d
3944
leal (%rcx,%r12,1),%ecx
3945
xorl %r14d,%r13d
3946
movl %edx,%esi
3947
rorxl $22,%edx,%r12d
3948
leal (%rcx,%r13,1),%ecx
3949
xorl %r8d,%esi
3950
rorxl $13,%edx,%r14d
3951
rorxl $2,%edx,%r13d
3952
leal (%r10,%rcx,1),%r10d
3953
andl %esi,%r15d
3954
vaesenclast %xmm10,%xmm9,%xmm11
3955
vaesenc %xmm10,%xmm9,%xmm9
3956
vmovdqu 208-128(%rdi),%xmm10
3957
xorl %r12d,%r14d
3958
xorl %r8d,%r15d
3959
xorl %r13d,%r14d
3960
leal (%rcx,%r15,1),%ecx
3961
movl %r11d,%r12d
3962
addl 40+16(%rbp),%ebx
3963
andl %r10d,%r12d
3964
rorxl $25,%r10d,%r13d
3965
rorxl $11,%r10d,%r15d
3966
leal (%rcx,%r14,1),%ecx
3967
leal (%rbx,%r12,1),%ebx
3968
andnl %eax,%r10d,%r12d
3969
xorl %r15d,%r13d
3970
rorxl $6,%r10d,%r14d
3971
leal (%rbx,%r12,1),%ebx
3972
xorl %r14d,%r13d
3973
movl %ecx,%r15d
3974
rorxl $22,%ecx,%r12d
3975
leal (%rbx,%r13,1),%ebx
3976
xorl %edx,%r15d
3977
rorxl $13,%ecx,%r14d
3978
rorxl $2,%ecx,%r13d
3979
leal (%r9,%rbx,1),%r9d
3980
andl %r15d,%esi
3981
vpand %xmm13,%xmm11,%xmm11
3982
vaesenc %xmm10,%xmm9,%xmm9
3983
vmovdqu 224-128(%rdi),%xmm10
3984
xorl %r12d,%r14d
3985
xorl %edx,%esi
3986
xorl %r13d,%r14d
3987
leal (%rbx,%rsi,1),%ebx
3988
movl %r10d,%r12d
3989
addl 44+16(%rbp),%eax
3990
andl %r9d,%r12d
3991
rorxl $25,%r9d,%r13d
3992
rorxl $11,%r9d,%esi
3993
leal (%rbx,%r14,1),%ebx
3994
leal (%rax,%r12,1),%eax
3995
andnl %r11d,%r9d,%r12d
3996
xorl %esi,%r13d
3997
rorxl $6,%r9d,%r14d
3998
leal (%rax,%r12,1),%eax
3999
xorl %r14d,%r13d
4000
movl %ebx,%esi
4001
rorxl $22,%ebx,%r12d
4002
leal (%rax,%r13,1),%eax
4003
xorl %ecx,%esi
4004
rorxl $13,%ebx,%r14d
4005
rorxl $2,%ebx,%r13d
4006
leal (%r8,%rax,1),%r8d
4007
andl %esi,%r15d
4008
vpor %xmm11,%xmm8,%xmm8
4009
vaesenclast %xmm10,%xmm9,%xmm11
4010
vmovdqu 0-128(%rdi),%xmm10
4011
xorl %r12d,%r14d
4012
xorl %ecx,%r15d
4013
xorl %r13d,%r14d
4014
leal (%rax,%r15,1),%eax
4015
movl %r9d,%r12d
4016
vmovq %xmm15,%r13
4017
vpextrq $1,%xmm15,%r15
4018
vpand %xmm14,%xmm11,%xmm11
4019
vpor %xmm11,%xmm8,%xmm8
4020
leaq -64(%rbp),%rbp
4021
vmovdqu %xmm8,(%r15,%r13,1)
4022
leaq 16(%r13),%r13
4023
cmpq %rsp,%rbp
4024
jae .Lower_avx2
4025
4026
movq 552(%rsp),%r15
4027
leaq 64(%r13),%r13
4028
movq 560(%rsp),%rsi
4029
addl %r14d,%eax
4030
leaq 448(%rsp),%rsp
4031
4032
addl 0(%r15),%eax
4033
addl 4(%r15),%ebx
4034
addl 8(%r15),%ecx
4035
addl 12(%r15),%edx
4036
addl 16(%r15),%r8d
4037
addl 20(%r15),%r9d
4038
addl 24(%r15),%r10d
4039
leaq (%rsi,%r13,1),%r12
4040
addl 28(%r15),%r11d
4041
4042
cmpq 64+16(%rsp),%r13
4043
4044
movl %eax,0(%r15)
4045
cmoveq %rsp,%r12
4046
movl %ebx,4(%r15)
4047
movl %ecx,8(%r15)
4048
movl %edx,12(%r15)
4049
movl %r8d,16(%r15)
4050
movl %r9d,20(%r15)
4051
movl %r10d,24(%r15)
4052
movl %r11d,28(%r15)
4053
4054
jbe .Loop_avx2
4055
leaq (%rsp),%rbp
4056
4057
4058
.cfi_escape 0x0f,0x06,0x76,0xf8,0x00,0x06,0x23,0x08
4059
4060
.Ldone_avx2:
4061
movq 64+32(%rbp),%r8
4062
movq 64+56(%rbp),%rsi
4063
.cfi_def_cfa %rsi,8
4064
vmovdqu %xmm8,(%r8)
4065
vzeroall
4066
movq -48(%rsi),%r15
4067
.cfi_restore %r15
4068
movq -40(%rsi),%r14
4069
.cfi_restore %r14
4070
movq -32(%rsi),%r13
4071
.cfi_restore %r13
4072
movq -24(%rsi),%r12
4073
.cfi_restore %r12
4074
movq -16(%rsi),%rbp
4075
.cfi_restore %rbp
4076
movq -8(%rsi),%rbx
4077
.cfi_restore %rbx
4078
leaq (%rsi),%rsp
4079
.cfi_def_cfa_register %rsp
4080
.Lepilogue_avx2:
4081
.byte 0xf3,0xc3
4082
.cfi_endproc
4083
.size aesni_cbc_sha256_enc_avx2,.-aesni_cbc_sha256_enc_avx2
4084
.type aesni_cbc_sha256_enc_shaext,@function
4085
.align 32
4086
aesni_cbc_sha256_enc_shaext:
4087
.cfi_startproc
4088
movq 8(%rsp),%r10
4089
leaq K256+128(%rip),%rax
4090
movdqu (%r9),%xmm1
4091
movdqu 16(%r9),%xmm2
4092
movdqa 512-128(%rax),%xmm3
4093
4094
movl 240(%rcx),%r11d
4095
subq %rdi,%rsi
4096
movups (%rcx),%xmm15
4097
movups (%r8),%xmm6
4098
movups 16(%rcx),%xmm4
4099
leaq 112(%rcx),%rcx
4100
4101
pshufd $0x1b,%xmm1,%xmm0
4102
pshufd $0xb1,%xmm1,%xmm1
4103
pshufd $0x1b,%xmm2,%xmm2
4104
movdqa %xmm3,%xmm7
4105
.byte 102,15,58,15,202,8
4106
punpcklqdq %xmm0,%xmm2
4107
4108
jmp .Loop_shaext
4109
4110
.align 16
4111
.Loop_shaext:
4112
movdqu (%r10),%xmm10
4113
movdqu 16(%r10),%xmm11
4114
movdqu 32(%r10),%xmm12
4115
.byte 102,68,15,56,0,211
4116
movdqu 48(%r10),%xmm13
4117
4118
movdqa 0-128(%rax),%xmm0
4119
paddd %xmm10,%xmm0
4120
.byte 102,68,15,56,0,219
4121
movdqa %xmm2,%xmm9
4122
movdqa %xmm1,%xmm8
4123
movups 0(%rdi),%xmm14
4124
xorps %xmm15,%xmm14
4125
xorps %xmm14,%xmm6
4126
movups -80(%rcx),%xmm5
4127
aesenc %xmm4,%xmm6
4128
.byte 15,56,203,209
4129
pshufd $0x0e,%xmm0,%xmm0
4130
movups -64(%rcx),%xmm4
4131
aesenc %xmm5,%xmm6
4132
.byte 15,56,203,202
4133
4134
movdqa 32-128(%rax),%xmm0
4135
paddd %xmm11,%xmm0
4136
.byte 102,68,15,56,0,227
4137
leaq 64(%r10),%r10
4138
movups -48(%rcx),%xmm5
4139
aesenc %xmm4,%xmm6
4140
.byte 15,56,203,209
4141
pshufd $0x0e,%xmm0,%xmm0
4142
movups -32(%rcx),%xmm4
4143
aesenc %xmm5,%xmm6
4144
.byte 15,56,203,202
4145
4146
movdqa 64-128(%rax),%xmm0
4147
paddd %xmm12,%xmm0
4148
.byte 102,68,15,56,0,235
4149
.byte 69,15,56,204,211
4150
movups -16(%rcx),%xmm5
4151
aesenc %xmm4,%xmm6
4152
.byte 15,56,203,209
4153
pshufd $0x0e,%xmm0,%xmm0
4154
movdqa %xmm13,%xmm3
4155
.byte 102,65,15,58,15,220,4
4156
paddd %xmm3,%xmm10
4157
movups 0(%rcx),%xmm4
4158
aesenc %xmm5,%xmm6
4159
.byte 15,56,203,202
4160
4161
movdqa 96-128(%rax),%xmm0
4162
paddd %xmm13,%xmm0
4163
.byte 69,15,56,205,213
4164
.byte 69,15,56,204,220
4165
movups 16(%rcx),%xmm5
4166
aesenc %xmm4,%xmm6
4167
.byte 15,56,203,209
4168
pshufd $0x0e,%xmm0,%xmm0
4169
movups 32(%rcx),%xmm4
4170
aesenc %xmm5,%xmm6
4171
movdqa %xmm10,%xmm3
4172
.byte 102,65,15,58,15,221,4
4173
paddd %xmm3,%xmm11
4174
.byte 15,56,203,202
4175
movdqa 128-128(%rax),%xmm0
4176
paddd %xmm10,%xmm0
4177
.byte 69,15,56,205,218
4178
.byte 69,15,56,204,229
4179
movups 48(%rcx),%xmm5
4180
aesenc %xmm4,%xmm6
4181
.byte 15,56,203,209
4182
pshufd $0x0e,%xmm0,%xmm0
4183
movdqa %xmm11,%xmm3
4184
.byte 102,65,15,58,15,218,4
4185
paddd %xmm3,%xmm12
4186
cmpl $11,%r11d
4187
jb .Laesenclast1
4188
movups 64(%rcx),%xmm4
4189
aesenc %xmm5,%xmm6
4190
movups 80(%rcx),%xmm5
4191
aesenc %xmm4,%xmm6
4192
je .Laesenclast1
4193
movups 96(%rcx),%xmm4
4194
aesenc %xmm5,%xmm6
4195
movups 112(%rcx),%xmm5
4196
aesenc %xmm4,%xmm6
4197
.Laesenclast1:
4198
aesenclast %xmm5,%xmm6
4199
movups 16-112(%rcx),%xmm4
4200
nop
4201
.byte 15,56,203,202
4202
movups 16(%rdi),%xmm14
4203
xorps %xmm15,%xmm14
4204
movups %xmm6,0(%rsi,%rdi,1)
4205
xorps %xmm14,%xmm6
4206
movups -80(%rcx),%xmm5
4207
aesenc %xmm4,%xmm6
4208
movdqa 160-128(%rax),%xmm0
4209
paddd %xmm11,%xmm0
4210
.byte 69,15,56,205,227
4211
.byte 69,15,56,204,234
4212
movups -64(%rcx),%xmm4
4213
aesenc %xmm5,%xmm6
4214
.byte 15,56,203,209
4215
pshufd $0x0e,%xmm0,%xmm0
4216
movdqa %xmm12,%xmm3
4217
.byte 102,65,15,58,15,219,4
4218
paddd %xmm3,%xmm13
4219
movups -48(%rcx),%xmm5
4220
aesenc %xmm4,%xmm6
4221
.byte 15,56,203,202
4222
movdqa 192-128(%rax),%xmm0
4223
paddd %xmm12,%xmm0
4224
.byte 69,15,56,205,236
4225
.byte 69,15,56,204,211
4226
movups -32(%rcx),%xmm4
4227
aesenc %xmm5,%xmm6
4228
.byte 15,56,203,209
4229
pshufd $0x0e,%xmm0,%xmm0
4230
movdqa %xmm13,%xmm3
4231
.byte 102,65,15,58,15,220,4
4232
paddd %xmm3,%xmm10
4233
movups -16(%rcx),%xmm5
4234
aesenc %xmm4,%xmm6
4235
.byte 15,56,203,202
4236
movdqa 224-128(%rax),%xmm0
4237
paddd %xmm13,%xmm0
4238
.byte 69,15,56,205,213
4239
.byte 69,15,56,204,220
4240
movups 0(%rcx),%xmm4
4241
aesenc %xmm5,%xmm6
4242
.byte 15,56,203,209
4243
pshufd $0x0e,%xmm0,%xmm0
4244
movdqa %xmm10,%xmm3
4245
.byte 102,65,15,58,15,221,4
4246
paddd %xmm3,%xmm11
4247
movups 16(%rcx),%xmm5
4248
aesenc %xmm4,%xmm6
4249
.byte 15,56,203,202
4250
movdqa 256-128(%rax),%xmm0
4251
paddd %xmm10,%xmm0
4252
.byte 69,15,56,205,218
4253
.byte 69,15,56,204,229
4254
movups 32(%rcx),%xmm4
4255
aesenc %xmm5,%xmm6
4256
.byte 15,56,203,209
4257
pshufd $0x0e,%xmm0,%xmm0
4258
movdqa %xmm11,%xmm3
4259
.byte 102,65,15,58,15,218,4
4260
paddd %xmm3,%xmm12
4261
movups 48(%rcx),%xmm5
4262
aesenc %xmm4,%xmm6
4263
cmpl $11,%r11d
4264
jb .Laesenclast2
4265
movups 64(%rcx),%xmm4
4266
aesenc %xmm5,%xmm6
4267
movups 80(%rcx),%xmm5
4268
aesenc %xmm4,%xmm6
4269
je .Laesenclast2
4270
movups 96(%rcx),%xmm4
4271
aesenc %xmm5,%xmm6
4272
movups 112(%rcx),%xmm5
4273
aesenc %xmm4,%xmm6
4274
.Laesenclast2:
4275
aesenclast %xmm5,%xmm6
4276
movups 16-112(%rcx),%xmm4
4277
nop
4278
.byte 15,56,203,202
4279
movups 32(%rdi),%xmm14
4280
xorps %xmm15,%xmm14
4281
movups %xmm6,16(%rsi,%rdi,1)
4282
xorps %xmm14,%xmm6
4283
movups -80(%rcx),%xmm5
4284
aesenc %xmm4,%xmm6
4285
movdqa 288-128(%rax),%xmm0
4286
paddd %xmm11,%xmm0
4287
.byte 69,15,56,205,227
4288
.byte 69,15,56,204,234
4289
movups -64(%rcx),%xmm4
4290
aesenc %xmm5,%xmm6
4291
.byte 15,56,203,209
4292
pshufd $0x0e,%xmm0,%xmm0
4293
movdqa %xmm12,%xmm3
4294
.byte 102,65,15,58,15,219,4
4295
paddd %xmm3,%xmm13
4296
movups -48(%rcx),%xmm5
4297
aesenc %xmm4,%xmm6
4298
.byte 15,56,203,202
4299
movdqa 320-128(%rax),%xmm0
4300
paddd %xmm12,%xmm0
4301
.byte 69,15,56,205,236
4302
.byte 69,15,56,204,211
4303
movups -32(%rcx),%xmm4
4304
aesenc %xmm5,%xmm6
4305
.byte 15,56,203,209
4306
pshufd $0x0e,%xmm0,%xmm0
4307
movdqa %xmm13,%xmm3
4308
.byte 102,65,15,58,15,220,4
4309
paddd %xmm3,%xmm10
4310
movups -16(%rcx),%xmm5
4311
aesenc %xmm4,%xmm6
4312
.byte 15,56,203,202
4313
movdqa 352-128(%rax),%xmm0
4314
paddd %xmm13,%xmm0
4315
.byte 69,15,56,205,213
4316
.byte 69,15,56,204,220
4317
movups 0(%rcx),%xmm4
4318
aesenc %xmm5,%xmm6
4319
.byte 15,56,203,209
4320
pshufd $0x0e,%xmm0,%xmm0
4321
movdqa %xmm10,%xmm3
4322
.byte 102,65,15,58,15,221,4
4323
paddd %xmm3,%xmm11
4324
movups 16(%rcx),%xmm5
4325
aesenc %xmm4,%xmm6
4326
.byte 15,56,203,202
4327
movdqa 384-128(%rax),%xmm0
4328
paddd %xmm10,%xmm0
4329
.byte 69,15,56,205,218
4330
.byte 69,15,56,204,229
4331
movups 32(%rcx),%xmm4
4332
aesenc %xmm5,%xmm6
4333
.byte 15,56,203,209
4334
pshufd $0x0e,%xmm0,%xmm0
4335
movdqa %xmm11,%xmm3
4336
.byte 102,65,15,58,15,218,4
4337
paddd %xmm3,%xmm12
4338
movups 48(%rcx),%xmm5
4339
aesenc %xmm4,%xmm6
4340
.byte 15,56,203,202
4341
movdqa 416-128(%rax),%xmm0
4342
paddd %xmm11,%xmm0
4343
.byte 69,15,56,205,227
4344
.byte 69,15,56,204,234
4345
cmpl $11,%r11d
4346
jb .Laesenclast3
4347
movups 64(%rcx),%xmm4
4348
aesenc %xmm5,%xmm6
4349
movups 80(%rcx),%xmm5
4350
aesenc %xmm4,%xmm6
4351
je .Laesenclast3
4352
movups 96(%rcx),%xmm4
4353
aesenc %xmm5,%xmm6
4354
movups 112(%rcx),%xmm5
4355
aesenc %xmm4,%xmm6
4356
.Laesenclast3:
4357
aesenclast %xmm5,%xmm6
4358
movups 16-112(%rcx),%xmm4
4359
nop
4360
.byte 15,56,203,209
4361
pshufd $0x0e,%xmm0,%xmm0
4362
movdqa %xmm12,%xmm3
4363
.byte 102,65,15,58,15,219,4
4364
paddd %xmm3,%xmm13
4365
movups 48(%rdi),%xmm14
4366
xorps %xmm15,%xmm14
4367
movups %xmm6,32(%rsi,%rdi,1)
4368
xorps %xmm14,%xmm6
4369
movups -80(%rcx),%xmm5
4370
aesenc %xmm4,%xmm6
4371
movups -64(%rcx),%xmm4
4372
aesenc %xmm5,%xmm6
4373
.byte 15,56,203,202
4374
4375
movdqa 448-128(%rax),%xmm0
4376
paddd %xmm12,%xmm0
4377
.byte 69,15,56,205,236
4378
movdqa %xmm7,%xmm3
4379
movups -48(%rcx),%xmm5
4380
aesenc %xmm4,%xmm6
4381
.byte 15,56,203,209
4382
pshufd $0x0e,%xmm0,%xmm0
4383
movups -32(%rcx),%xmm4
4384
aesenc %xmm5,%xmm6
4385
.byte 15,56,203,202
4386
4387
movdqa 480-128(%rax),%xmm0
4388
paddd %xmm13,%xmm0
4389
movups -16(%rcx),%xmm5
4390
aesenc %xmm4,%xmm6
4391
movups 0(%rcx),%xmm4
4392
aesenc %xmm5,%xmm6
4393
.byte 15,56,203,209
4394
pshufd $0x0e,%xmm0,%xmm0
4395
movups 16(%rcx),%xmm5
4396
aesenc %xmm4,%xmm6
4397
.byte 15,56,203,202
4398
4399
movups 32(%rcx),%xmm4
4400
aesenc %xmm5,%xmm6
4401
movups 48(%rcx),%xmm5
4402
aesenc %xmm4,%xmm6
4403
cmpl $11,%r11d
4404
jb .Laesenclast4
4405
movups 64(%rcx),%xmm4
4406
aesenc %xmm5,%xmm6
4407
movups 80(%rcx),%xmm5
4408
aesenc %xmm4,%xmm6
4409
je .Laesenclast4
4410
movups 96(%rcx),%xmm4
4411
aesenc %xmm5,%xmm6
4412
movups 112(%rcx),%xmm5
4413
aesenc %xmm4,%xmm6
4414
.Laesenclast4:
4415
aesenclast %xmm5,%xmm6
4416
movups 16-112(%rcx),%xmm4
4417
nop
4418
4419
paddd %xmm9,%xmm2
4420
paddd %xmm8,%xmm1
4421
4422
decq %rdx
4423
movups %xmm6,48(%rsi,%rdi,1)
4424
leaq 64(%rdi),%rdi
4425
jnz .Loop_shaext
4426
4427
pshufd $0xb1,%xmm2,%xmm2
4428
pshufd $0x1b,%xmm1,%xmm3
4429
pshufd $0xb1,%xmm1,%xmm1
4430
punpckhqdq %xmm2,%xmm1
4431
.byte 102,15,58,15,211,8
4432
4433
movups %xmm6,(%r8)
4434
movdqu %xmm1,(%r9)
4435
movdqu %xmm2,16(%r9)
4436
.byte 0xf3,0xc3
4437
.cfi_endproc
4438
.size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext
4439
.section ".note.gnu.property", "a"
4440
.p2align 3
4441
.long 1f - 0f
4442
.long 4f - 1f
4443
.long 5
4444
0:
4445
# "GNU" encoded with .byte, since .asciz isn't supported
4446
# on Solaris.
4447
.byte 0x47
4448
.byte 0x4e
4449
.byte 0x55
4450
.byte 0
4451
1:
4452
.p2align 3
4453
.long 0xc0000002
4454
.long 3f - 2f
4455
2:
4456
.long 3
4457
3:
4458
.p2align 3
4459
4:
4460
4461