4 .globl aesni_cbc_sha256_enc
5 .type aesni_cbc_sha256_enc,@function
8 leaq OPENSSL_ia32cap_P(%rip),%r11
15 jc aesni_cbc_sha256_enc_shaext
20 jnz aesni_cbc_sha256_enc_xop
23 je aesni_cbc_sha256_enc_avx2
25 jnz aesni_cbc_sha256_enc_avx
33 .size aesni_cbc_sha256_enc,.-aesni_cbc_sha256_enc
38 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
39 .long 0x428a2f98,0x71374491,0xb5c0fbcf,0xe9b5dba5
40 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
41 .long 0x3956c25b,0x59f111f1,0x923f82a4,0xab1c5ed5
42 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
43 .long 0xd807aa98,0x12835b01,0x243185be,0x550c7dc3
44 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
45 .long 0x72be5d74,0x80deb1fe,0x9bdc06a7,0xc19bf174
46 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
47 .long 0xe49b69c1,0xefbe4786,0x0fc19dc6,0x240ca1cc
48 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
49 .long 0x2de92c6f,0x4a7484aa,0x5cb0a9dc,0x76f988da
50 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
51 .long 0x983e5152,0xa831c66d,0xb00327c8,0xbf597fc7
52 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
53 .long 0xc6e00bf3,0xd5a79147,0x06ca6351,0x14292967
54 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
55 .long 0x27b70a85,0x2e1b2138,0x4d2c6dfc,0x53380d13
56 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
57 .long 0x650a7354,0x766a0abb,0x81c2c92e,0x92722c85
58 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
59 .long 0xa2bfe8a1,0xa81a664b,0xc24b8b70,0xc76c51a3
60 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
61 .long 0xd192e819,0xd6990624,0xf40e3585,0x106aa070
62 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
63 .long 0x19a4c116,0x1e376c08,0x2748774c,0x34b0bcb5
64 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
65 .long 0x391c0cb3,0x4ed8aa4a,0x5b9cca4f,0x682e6ff3
66 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
67 .long 0x748f82ee,0x78a5636f,0x84c87814,0x8cc70208
68 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
69 .long 0x90befffa,0xa4506ceb,0xbef9a3f7,0xc67178f2
71 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
72 .long 0x00010203,0x04050607,0x08090a0b,0x0c0d0e0f
73 .long 0,0,0,0, 0,0,0,0, -1,-1,-1,-1
74 .long 0,0,0,0, 0,0,0,0
75 .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
77 .type aesni_cbc_sha256_enc_xop,@function
79 aesni_cbc_sha256_enc_xop:
103 movq %r10,64+48(%rsp)
104 movq %r11,64+56(%rsp)
110 leaq K256+544(%rip),%r13
111 movl 240-128(%rdi),%r14d
126 vmovdqa 0(%r13,%r14,8),%xmm14
127 vmovdqa 16(%r13,%r14,8),%xmm13
128 vmovdqa 32(%r13,%r14,8),%xmm12
129 vmovdqu 0-128(%rdi),%xmm10
133 vmovdqa K256+512(%rip),%xmm7
134 vmovdqu 0(%rsi,%r12,1),%xmm0
135 vmovdqu 16(%rsi,%r12,1),%xmm1
136 vmovdqu 32(%rsi,%r12,1),%xmm2
137 vmovdqu 48(%rsi,%r12,1),%xmm3
138 vpshufb %xmm7,%xmm0,%xmm0
140 vpshufb %xmm7,%xmm1,%xmm1
141 vpshufb %xmm7,%xmm2,%xmm2
142 vpaddd 0(%rbp),%xmm0,%xmm4
143 vpshufb %xmm7,%xmm3,%xmm3
144 vpaddd 32(%rbp),%xmm1,%xmm5
145 vpaddd 64(%rbp),%xmm2,%xmm6
146 vpaddd 96(%rbp),%xmm3,%xmm7
147 vmovdqa %xmm4,0(%rsp)
149 vmovdqa %xmm5,16(%rsp)
151 vmovdqa %xmm6,32(%rsp)
153 vmovdqa %xmm7,48(%rsp)
162 vpalignr $4,%xmm0,%xmm1,%xmm4
165 vpalignr $4,%xmm2,%xmm3,%xmm7
168 .byte 143,232,120,194,236,14
171 vpsrld $3,%xmm4,%xmm4
174 vpaddd %xmm7,%xmm0,%xmm0
176 vpxor %xmm10,%xmm9,%xmm9
177 vmovdqu 16-128(%rdi),%xmm10
181 .byte 143,232,120,194,245,11
184 vpxor %xmm5,%xmm4,%xmm4
189 .byte 143,232,120,194,251,13
192 vpxor %xmm6,%xmm4,%xmm4
195 vpsrld $10,%xmm3,%xmm6
198 vpaddd %xmm4,%xmm0,%xmm0
201 .byte 143,232,120,194,239,2
204 vpxor %xmm6,%xmm7,%xmm7
209 vpxor %xmm5,%xmm7,%xmm7
213 vpxor %xmm8,%xmm9,%xmm9
215 vpsrldq $8,%xmm7,%xmm7
220 vpaddd %xmm7,%xmm0,%xmm0
225 .byte 143,232,120,194,248,13
228 vpsrld $10,%xmm0,%xmm6
231 .byte 143,232,120,194,239,2
234 vpxor %xmm6,%xmm7,%xmm7
239 vpxor %xmm5,%xmm7,%xmm7
244 vpslldq $8,%xmm7,%xmm7
248 vaesenc %xmm10,%xmm9,%xmm9
249 vmovdqu 32-128(%rdi),%xmm10
251 vpaddd %xmm7,%xmm0,%xmm0
256 vpaddd 0(%rbp),%xmm0,%xmm6
278 vaesenc %xmm10,%xmm9,%xmm9
279 vmovdqu 48-128(%rdi),%xmm10
297 vmovdqa %xmm6,0(%rsp)
298 vpalignr $4,%xmm1,%xmm2,%xmm4
301 vpalignr $4,%xmm3,%xmm0,%xmm7
304 .byte 143,232,120,194,236,14
307 vpsrld $3,%xmm4,%xmm4
310 vpaddd %xmm7,%xmm1,%xmm1
312 vaesenc %xmm10,%xmm9,%xmm9
313 vmovdqu 64-128(%rdi),%xmm10
317 .byte 143,232,120,194,245,11
320 vpxor %xmm5,%xmm4,%xmm4
325 .byte 143,232,120,194,248,13
328 vpxor %xmm6,%xmm4,%xmm4
331 vpsrld $10,%xmm0,%xmm6
334 vpaddd %xmm4,%xmm1,%xmm1
337 .byte 143,232,120,194,239,2
340 vpxor %xmm6,%xmm7,%xmm7
345 vpxor %xmm5,%xmm7,%xmm7
349 vaesenc %xmm10,%xmm9,%xmm9
350 vmovdqu 80-128(%rdi),%xmm10
352 vpsrldq $8,%xmm7,%xmm7
357 vpaddd %xmm7,%xmm1,%xmm1
362 .byte 143,232,120,194,249,13
365 vpsrld $10,%xmm1,%xmm6
368 .byte 143,232,120,194,239,2
371 vpxor %xmm6,%xmm7,%xmm7
376 vpxor %xmm5,%xmm7,%xmm7
381 vpslldq $8,%xmm7,%xmm7
385 vaesenc %xmm10,%xmm9,%xmm9
386 vmovdqu 96-128(%rdi),%xmm10
388 vpaddd %xmm7,%xmm1,%xmm1
393 vpaddd 32(%rbp),%xmm1,%xmm6
415 vaesenc %xmm10,%xmm9,%xmm9
416 vmovdqu 112-128(%rdi),%xmm10
434 vmovdqa %xmm6,16(%rsp)
435 vpalignr $4,%xmm2,%xmm3,%xmm4
438 vpalignr $4,%xmm0,%xmm1,%xmm7
441 .byte 143,232,120,194,236,14
444 vpsrld $3,%xmm4,%xmm4
447 vpaddd %xmm7,%xmm2,%xmm2
449 vaesenc %xmm10,%xmm9,%xmm9
450 vmovdqu 128-128(%rdi),%xmm10
454 .byte 143,232,120,194,245,11
457 vpxor %xmm5,%xmm4,%xmm4
462 .byte 143,232,120,194,249,13
465 vpxor %xmm6,%xmm4,%xmm4
468 vpsrld $10,%xmm1,%xmm6
471 vpaddd %xmm4,%xmm2,%xmm2
474 .byte 143,232,120,194,239,2
477 vpxor %xmm6,%xmm7,%xmm7
482 vpxor %xmm5,%xmm7,%xmm7
486 vaesenc %xmm10,%xmm9,%xmm9
487 vmovdqu 144-128(%rdi),%xmm10
489 vpsrldq $8,%xmm7,%xmm7
494 vpaddd %xmm7,%xmm2,%xmm2
499 .byte 143,232,120,194,250,13
502 vpsrld $10,%xmm2,%xmm6
505 .byte 143,232,120,194,239,2
508 vpxor %xmm6,%xmm7,%xmm7
513 vpxor %xmm5,%xmm7,%xmm7
518 vpslldq $8,%xmm7,%xmm7
522 vaesenc %xmm10,%xmm9,%xmm9
523 vmovdqu 160-128(%rdi),%xmm10
525 vpaddd %xmm7,%xmm2,%xmm2
530 vpaddd 64(%rbp),%xmm2,%xmm6
552 vaesenclast %xmm10,%xmm9,%xmm11
553 vaesenc %xmm10,%xmm9,%xmm9
554 vmovdqu 176-128(%rdi),%xmm10
572 vmovdqa %xmm6,32(%rsp)
573 vpalignr $4,%xmm3,%xmm0,%xmm4
576 vpalignr $4,%xmm1,%xmm2,%xmm7
579 .byte 143,232,120,194,236,14
582 vpsrld $3,%xmm4,%xmm4
585 vpaddd %xmm7,%xmm3,%xmm3
587 vpand %xmm12,%xmm11,%xmm8
588 vaesenc %xmm10,%xmm9,%xmm9
589 vmovdqu 192-128(%rdi),%xmm10
593 .byte 143,232,120,194,245,11
596 vpxor %xmm5,%xmm4,%xmm4
601 .byte 143,232,120,194,250,13
604 vpxor %xmm6,%xmm4,%xmm4
607 vpsrld $10,%xmm2,%xmm6
610 vpaddd %xmm4,%xmm3,%xmm3
613 .byte 143,232,120,194,239,2
616 vpxor %xmm6,%xmm7,%xmm7
621 vpxor %xmm5,%xmm7,%xmm7
625 vaesenclast %xmm10,%xmm9,%xmm11
626 vaesenc %xmm10,%xmm9,%xmm9
627 vmovdqu 208-128(%rdi),%xmm10
629 vpsrldq $8,%xmm7,%xmm7
634 vpaddd %xmm7,%xmm3,%xmm3
639 .byte 143,232,120,194,251,13
642 vpsrld $10,%xmm3,%xmm6
645 .byte 143,232,120,194,239,2
648 vpxor %xmm6,%xmm7,%xmm7
653 vpxor %xmm5,%xmm7,%xmm7
658 vpslldq $8,%xmm7,%xmm7
662 vpand %xmm13,%xmm11,%xmm11
663 vaesenc %xmm10,%xmm9,%xmm9
664 vmovdqu 224-128(%rdi),%xmm10
666 vpaddd %xmm7,%xmm3,%xmm3
671 vpaddd 96(%rbp),%xmm3,%xmm6
693 vpor %xmm11,%xmm8,%xmm8
694 vaesenclast %xmm10,%xmm9,%xmm11
695 vmovdqu 0-128(%rdi),%xmm10
713 vmovdqa %xmm6,48(%rsp)
715 vpand %xmm14,%xmm11,%xmm11
717 vpor %xmm11,%xmm8,%xmm8
718 vmovdqu %xmm8,(%r15,%r12,1)
733 vpxor %xmm10,%xmm9,%xmm9
734 vmovdqu 16-128(%rdi),%xmm10
761 vpxor %xmm8,%xmm9,%xmm9
788 vaesenc %xmm10,%xmm9,%xmm9
789 vmovdqu 32-128(%rdi),%xmm10
816 vaesenc %xmm10,%xmm9,%xmm9
817 vmovdqu 48-128(%rdi),%xmm10
844 vaesenc %xmm10,%xmm9,%xmm9
845 vmovdqu 64-128(%rdi),%xmm10
872 vaesenc %xmm10,%xmm9,%xmm9
873 vmovdqu 80-128(%rdi),%xmm10
900 vaesenc %xmm10,%xmm9,%xmm9
901 vmovdqu 96-128(%rdi),%xmm10
928 vaesenc %xmm10,%xmm9,%xmm9
929 vmovdqu 112-128(%rdi),%xmm10
956 vaesenc %xmm10,%xmm9,%xmm9
957 vmovdqu 128-128(%rdi),%xmm10
984 vaesenc %xmm10,%xmm9,%xmm9
985 vmovdqu 144-128(%rdi),%xmm10
1012 vaesenc %xmm10,%xmm9,%xmm9
1013 vmovdqu 160-128(%rdi),%xmm10
1040 vaesenclast %xmm10,%xmm9,%xmm11
1041 vaesenc %xmm10,%xmm9,%xmm9
1042 vmovdqu 176-128(%rdi),%xmm10
1069 vpand %xmm12,%xmm11,%xmm8
1070 vaesenc %xmm10,%xmm9,%xmm9
1071 vmovdqu 192-128(%rdi),%xmm10
1098 vaesenclast %xmm10,%xmm9,%xmm11
1099 vaesenc %xmm10,%xmm9,%xmm9
1100 vmovdqu 208-128(%rdi),%xmm10
1127 vpand %xmm13,%xmm11,%xmm11
1128 vaesenc %xmm10,%xmm9,%xmm9
1129 vmovdqu 224-128(%rdi),%xmm10
1156 vpor %xmm11,%xmm8,%xmm8
1157 vaesenclast %xmm10,%xmm9,%xmm11
1158 vmovdqu 0-128(%rdi),%xmm10
1176 movq 64+0(%rsp),%r12
1177 movq 64+8(%rsp),%r13
1178 movq 64+40(%rsp),%r15
1179 movq 64+48(%rsp),%rsi
1181 vpand %xmm14,%xmm11,%xmm11
1183 vpor %xmm11,%xmm8,%xmm8
1184 vmovdqu %xmm8,(%r12,%r13,1)
1196 cmpq 64+16(%rsp),%r12
1209 movq 64+32(%rsp),%r8
1210 movq 64+56(%rsp),%rsi
1222 .size aesni_cbc_sha256_enc_xop,.-aesni_cbc_sha256_enc_xop
1223 .type aesni_cbc_sha256_enc_avx,@function
1225 aesni_cbc_sha256_enc_avx:
1244 movq %rsi,64+8(%rsp)
1245 movq %rdx,64+16(%rsp)
1247 movq %r8,64+32(%rsp)
1248 movq %r9,64+40(%rsp)
1249 movq %r10,64+48(%rsp)
1250 movq %r11,64+56(%rsp)
1256 leaq K256+544(%rip),%r13
1257 movl 240-128(%rdi),%r14d
1272 vmovdqa 0(%r13,%r14,8),%xmm14
1273 vmovdqa 16(%r13,%r14,8),%xmm13
1274 vmovdqa 32(%r13,%r14,8),%xmm12
1275 vmovdqu 0-128(%rdi),%xmm10
1279 vmovdqa K256+512(%rip),%xmm7
1280 vmovdqu 0(%rsi,%r12,1),%xmm0
1281 vmovdqu 16(%rsi,%r12,1),%xmm1
1282 vmovdqu 32(%rsi,%r12,1),%xmm2
1283 vmovdqu 48(%rsi,%r12,1),%xmm3
1284 vpshufb %xmm7,%xmm0,%xmm0
1285 leaq K256(%rip),%rbp
1286 vpshufb %xmm7,%xmm1,%xmm1
1287 vpshufb %xmm7,%xmm2,%xmm2
1288 vpaddd 0(%rbp),%xmm0,%xmm4
1289 vpshufb %xmm7,%xmm3,%xmm3
1290 vpaddd 32(%rbp),%xmm1,%xmm5
1291 vpaddd 64(%rbp),%xmm2,%xmm6
1292 vpaddd 96(%rbp),%xmm3,%xmm7
1293 vmovdqa %xmm4,0(%rsp)
1295 vmovdqa %xmm5,16(%rsp)
1297 vmovdqa %xmm6,32(%rsp)
1299 vmovdqa %xmm7,48(%rsp)
1306 vmovdqu (%r12),%xmm9
1307 movq %r12,64+0(%rsp)
1308 vpalignr $4,%xmm0,%xmm1,%xmm4
1309 shrdl $14,%r13d,%r13d
1312 vpalignr $4,%xmm2,%xmm3,%xmm7
1314 shrdl $9,%r14d,%r14d
1316 vpsrld $7,%xmm4,%xmm6
1317 shrdl $5,%r13d,%r13d
1320 vpaddd %xmm7,%xmm0,%xmm0
1321 vpxor %xmm10,%xmm9,%xmm9
1322 vmovdqu 16-128(%rdi),%xmm10
1326 vpsrld $3,%xmm4,%xmm7
1327 shrdl $11,%r14d,%r14d
1330 vpslld $14,%xmm4,%xmm5
1331 shrdl $6,%r13d,%r13d
1334 vpxor %xmm6,%xmm7,%xmm4
1338 vpshufd $250,%xmm3,%xmm7
1340 shrdl $2,%r14d,%r14d
1342 vpsrld $11,%xmm6,%xmm6
1345 shrdl $14,%r13d,%r13d
1346 vpxor %xmm5,%xmm4,%xmm4
1350 vpslld $11,%xmm5,%xmm5
1351 shrdl $9,%r14d,%r14d
1353 shrdl $5,%r13d,%r13d
1354 vpxor %xmm6,%xmm4,%xmm4
1357 vpxor %xmm8,%xmm9,%xmm9
1359 vpsrld $10,%xmm7,%xmm6
1362 shrdl $11,%r14d,%r14d
1363 vpxor %xmm5,%xmm4,%xmm4
1366 shrdl $6,%r13d,%r13d
1367 vpsrlq $17,%xmm7,%xmm7
1371 vpaddd %xmm4,%xmm0,%xmm0
1375 vpxor %xmm7,%xmm6,%xmm6
1376 shrdl $2,%r14d,%r14d
1379 vpsrlq $2,%xmm7,%xmm7
1381 shrdl $14,%r13d,%r13d
1383 vpxor %xmm7,%xmm6,%xmm6
1386 shrdl $9,%r14d,%r14d
1387 vpshufd $132,%xmm6,%xmm6
1389 shrdl $5,%r13d,%r13d
1391 vpsrldq $8,%xmm6,%xmm6
1393 vaesenc %xmm10,%xmm9,%xmm9
1394 vmovdqu 32-128(%rdi),%xmm10
1397 vpaddd %xmm6,%xmm0,%xmm0
1399 shrdl $11,%r14d,%r14d
1401 vpshufd $80,%xmm0,%xmm7
1403 shrdl $6,%r13d,%r13d
1405 vpsrld $10,%xmm7,%xmm6
1409 vpsrlq $17,%xmm7,%xmm7
1412 shrdl $2,%r14d,%r14d
1413 vpxor %xmm7,%xmm6,%xmm6
1417 vpsrlq $2,%xmm7,%xmm7
1418 shrdl $14,%r13d,%r13d
1421 vpxor %xmm7,%xmm6,%xmm6
1423 shrdl $9,%r14d,%r14d
1425 vpshufd $232,%xmm6,%xmm6
1426 shrdl $5,%r13d,%r13d
1429 vpslldq $8,%xmm6,%xmm6
1430 vaesenc %xmm10,%xmm9,%xmm9
1431 vmovdqu 48-128(%rdi),%xmm10
1435 vpaddd %xmm6,%xmm0,%xmm0
1436 shrdl $11,%r14d,%r14d
1439 vpaddd 0(%rbp),%xmm0,%xmm6
1440 shrdl $6,%r13d,%r13d
1447 shrdl $2,%r14d,%r14d
1451 vmovdqa %xmm6,0(%rsp)
1452 vpalignr $4,%xmm1,%xmm2,%xmm4
1453 shrdl $14,%r13d,%r13d
1456 vpalignr $4,%xmm3,%xmm0,%xmm7
1458 shrdl $9,%r14d,%r14d
1460 vpsrld $7,%xmm4,%xmm6
1461 shrdl $5,%r13d,%r13d
1464 vpaddd %xmm7,%xmm1,%xmm1
1465 vaesenc %xmm10,%xmm9,%xmm9
1466 vmovdqu 64-128(%rdi),%xmm10
1470 vpsrld $3,%xmm4,%xmm7
1471 shrdl $11,%r14d,%r14d
1474 vpslld $14,%xmm4,%xmm5
1475 shrdl $6,%r13d,%r13d
1478 vpxor %xmm6,%xmm7,%xmm4
1482 vpshufd $250,%xmm0,%xmm7
1484 shrdl $2,%r14d,%r14d
1486 vpsrld $11,%xmm6,%xmm6
1489 shrdl $14,%r13d,%r13d
1490 vpxor %xmm5,%xmm4,%xmm4
1494 vpslld $11,%xmm5,%xmm5
1495 shrdl $9,%r14d,%r14d
1497 shrdl $5,%r13d,%r13d
1498 vpxor %xmm6,%xmm4,%xmm4
1501 vaesenc %xmm10,%xmm9,%xmm9
1502 vmovdqu 80-128(%rdi),%xmm10
1504 vpsrld $10,%xmm7,%xmm6
1507 shrdl $11,%r14d,%r14d
1508 vpxor %xmm5,%xmm4,%xmm4
1511 shrdl $6,%r13d,%r13d
1512 vpsrlq $17,%xmm7,%xmm7
1516 vpaddd %xmm4,%xmm1,%xmm1
1520 vpxor %xmm7,%xmm6,%xmm6
1521 shrdl $2,%r14d,%r14d
1524 vpsrlq $2,%xmm7,%xmm7
1526 shrdl $14,%r13d,%r13d
1528 vpxor %xmm7,%xmm6,%xmm6
1531 shrdl $9,%r14d,%r14d
1532 vpshufd $132,%xmm6,%xmm6
1534 shrdl $5,%r13d,%r13d
1536 vpsrldq $8,%xmm6,%xmm6
1538 vaesenc %xmm10,%xmm9,%xmm9
1539 vmovdqu 96-128(%rdi),%xmm10
1542 vpaddd %xmm6,%xmm1,%xmm1
1544 shrdl $11,%r14d,%r14d
1546 vpshufd $80,%xmm1,%xmm7
1548 shrdl $6,%r13d,%r13d
1550 vpsrld $10,%xmm7,%xmm6
1554 vpsrlq $17,%xmm7,%xmm7
1557 shrdl $2,%r14d,%r14d
1558 vpxor %xmm7,%xmm6,%xmm6
1562 vpsrlq $2,%xmm7,%xmm7
1563 shrdl $14,%r13d,%r13d
1566 vpxor %xmm7,%xmm6,%xmm6
1568 shrdl $9,%r14d,%r14d
1570 vpshufd $232,%xmm6,%xmm6
1571 shrdl $5,%r13d,%r13d
1574 vpslldq $8,%xmm6,%xmm6
1575 vaesenc %xmm10,%xmm9,%xmm9
1576 vmovdqu 112-128(%rdi),%xmm10
1580 vpaddd %xmm6,%xmm1,%xmm1
1581 shrdl $11,%r14d,%r14d
1584 vpaddd 32(%rbp),%xmm1,%xmm6
1585 shrdl $6,%r13d,%r13d
1592 shrdl $2,%r14d,%r14d
1596 vmovdqa %xmm6,16(%rsp)
1597 vpalignr $4,%xmm2,%xmm3,%xmm4
1598 shrdl $14,%r13d,%r13d
1601 vpalignr $4,%xmm0,%xmm1,%xmm7
1603 shrdl $9,%r14d,%r14d
1605 vpsrld $7,%xmm4,%xmm6
1606 shrdl $5,%r13d,%r13d
1609 vpaddd %xmm7,%xmm2,%xmm2
1610 vaesenc %xmm10,%xmm9,%xmm9
1611 vmovdqu 128-128(%rdi),%xmm10
1615 vpsrld $3,%xmm4,%xmm7
1616 shrdl $11,%r14d,%r14d
1619 vpslld $14,%xmm4,%xmm5
1620 shrdl $6,%r13d,%r13d
1623 vpxor %xmm6,%xmm7,%xmm4
1627 vpshufd $250,%xmm1,%xmm7
1629 shrdl $2,%r14d,%r14d
1631 vpsrld $11,%xmm6,%xmm6
1634 shrdl $14,%r13d,%r13d
1635 vpxor %xmm5,%xmm4,%xmm4
1639 vpslld $11,%xmm5,%xmm5
1640 shrdl $9,%r14d,%r14d
1642 shrdl $5,%r13d,%r13d
1643 vpxor %xmm6,%xmm4,%xmm4
1646 vaesenc %xmm10,%xmm9,%xmm9
1647 vmovdqu 144-128(%rdi),%xmm10
1649 vpsrld $10,%xmm7,%xmm6
1652 shrdl $11,%r14d,%r14d
1653 vpxor %xmm5,%xmm4,%xmm4
1656 shrdl $6,%r13d,%r13d
1657 vpsrlq $17,%xmm7,%xmm7
1661 vpaddd %xmm4,%xmm2,%xmm2
1665 vpxor %xmm7,%xmm6,%xmm6
1666 shrdl $2,%r14d,%r14d
1669 vpsrlq $2,%xmm7,%xmm7
1671 shrdl $14,%r13d,%r13d
1673 vpxor %xmm7,%xmm6,%xmm6
1676 shrdl $9,%r14d,%r14d
1677 vpshufd $132,%xmm6,%xmm6
1679 shrdl $5,%r13d,%r13d
1681 vpsrldq $8,%xmm6,%xmm6
1683 vaesenc %xmm10,%xmm9,%xmm9
1684 vmovdqu 160-128(%rdi),%xmm10
1687 vpaddd %xmm6,%xmm2,%xmm2
1689 shrdl $11,%r14d,%r14d
1691 vpshufd $80,%xmm2,%xmm7
1693 shrdl $6,%r13d,%r13d
1695 vpsrld $10,%xmm7,%xmm6
1699 vpsrlq $17,%xmm7,%xmm7
1702 shrdl $2,%r14d,%r14d
1703 vpxor %xmm7,%xmm6,%xmm6
1707 vpsrlq $2,%xmm7,%xmm7
1708 shrdl $14,%r13d,%r13d
1711 vpxor %xmm7,%xmm6,%xmm6
1713 shrdl $9,%r14d,%r14d
1715 vpshufd $232,%xmm6,%xmm6
1716 shrdl $5,%r13d,%r13d
1719 vpslldq $8,%xmm6,%xmm6
1720 vaesenclast %xmm10,%xmm9,%xmm11
1721 vaesenc %xmm10,%xmm9,%xmm9
1722 vmovdqu 176-128(%rdi),%xmm10
1726 vpaddd %xmm6,%xmm2,%xmm2
1727 shrdl $11,%r14d,%r14d
1730 vpaddd 64(%rbp),%xmm2,%xmm6
1731 shrdl $6,%r13d,%r13d
1738 shrdl $2,%r14d,%r14d
1742 vmovdqa %xmm6,32(%rsp)
1743 vpalignr $4,%xmm3,%xmm0,%xmm4
1744 shrdl $14,%r13d,%r13d
1747 vpalignr $4,%xmm1,%xmm2,%xmm7
1749 shrdl $9,%r14d,%r14d
1751 vpsrld $7,%xmm4,%xmm6
1752 shrdl $5,%r13d,%r13d
1755 vpaddd %xmm7,%xmm3,%xmm3
1756 vpand %xmm12,%xmm11,%xmm8
1757 vaesenc %xmm10,%xmm9,%xmm9
1758 vmovdqu 192-128(%rdi),%xmm10
1762 vpsrld $3,%xmm4,%xmm7
1763 shrdl $11,%r14d,%r14d
1766 vpslld $14,%xmm4,%xmm5
1767 shrdl $6,%r13d,%r13d
1770 vpxor %xmm6,%xmm7,%xmm4
1774 vpshufd $250,%xmm2,%xmm7
1776 shrdl $2,%r14d,%r14d
1778 vpsrld $11,%xmm6,%xmm6
1781 shrdl $14,%r13d,%r13d
1782 vpxor %xmm5,%xmm4,%xmm4
1786 vpslld $11,%xmm5,%xmm5
1787 shrdl $9,%r14d,%r14d
1789 shrdl $5,%r13d,%r13d
1790 vpxor %xmm6,%xmm4,%xmm4
1793 vaesenclast %xmm10,%xmm9,%xmm11
1794 vaesenc %xmm10,%xmm9,%xmm9
1795 vmovdqu 208-128(%rdi),%xmm10
1797 vpsrld $10,%xmm7,%xmm6
1800 shrdl $11,%r14d,%r14d
1801 vpxor %xmm5,%xmm4,%xmm4
1804 shrdl $6,%r13d,%r13d
1805 vpsrlq $17,%xmm7,%xmm7
1809 vpaddd %xmm4,%xmm3,%xmm3
1813 vpxor %xmm7,%xmm6,%xmm6
1814 shrdl $2,%r14d,%r14d
1817 vpsrlq $2,%xmm7,%xmm7
1819 shrdl $14,%r13d,%r13d
1821 vpxor %xmm7,%xmm6,%xmm6
1824 shrdl $9,%r14d,%r14d
1825 vpshufd $132,%xmm6,%xmm6
1827 shrdl $5,%r13d,%r13d
1829 vpsrldq $8,%xmm6,%xmm6
1831 vpand %xmm13,%xmm11,%xmm11
1832 vaesenc %xmm10,%xmm9,%xmm9
1833 vmovdqu 224-128(%rdi),%xmm10
1836 vpaddd %xmm6,%xmm3,%xmm3
1838 shrdl $11,%r14d,%r14d
1840 vpshufd $80,%xmm3,%xmm7
1842 shrdl $6,%r13d,%r13d
1844 vpsrld $10,%xmm7,%xmm6
1848 vpsrlq $17,%xmm7,%xmm7
1851 shrdl $2,%r14d,%r14d
1852 vpxor %xmm7,%xmm6,%xmm6
1856 vpsrlq $2,%xmm7,%xmm7
1857 shrdl $14,%r13d,%r13d
1860 vpxor %xmm7,%xmm6,%xmm6
1862 shrdl $9,%r14d,%r14d
1864 vpshufd $232,%xmm6,%xmm6
1865 shrdl $5,%r13d,%r13d
1868 vpslldq $8,%xmm6,%xmm6
1869 vpor %xmm11,%xmm8,%xmm8
1870 vaesenclast %xmm10,%xmm9,%xmm11
1871 vmovdqu 0-128(%rdi),%xmm10
1875 vpaddd %xmm6,%xmm3,%xmm3
1876 shrdl $11,%r14d,%r14d
1879 vpaddd 96(%rbp),%xmm3,%xmm6
1880 shrdl $6,%r13d,%r13d
1887 shrdl $2,%r14d,%r14d
1891 vmovdqa %xmm6,48(%rsp)
1892 movq 64+0(%rsp),%r12
1893 vpand %xmm14,%xmm11,%xmm11
1894 movq 64+8(%rsp),%r15
1895 vpor %xmm11,%xmm8,%xmm8
1896 vmovdqu %xmm8,(%r15,%r12,1)
1900 vmovdqu (%r12),%xmm9
1901 movq %r12,64+0(%rsp)
1902 shrdl $14,%r13d,%r13d
1906 shrdl $9,%r14d,%r14d
1908 shrdl $5,%r13d,%r13d
1911 vpxor %xmm10,%xmm9,%xmm9
1912 vmovdqu 16-128(%rdi),%xmm10
1916 shrdl $11,%r14d,%r14d
1919 shrdl $6,%r13d,%r13d
1926 shrdl $2,%r14d,%r14d
1930 shrdl $14,%r13d,%r13d
1934 shrdl $9,%r14d,%r14d
1936 shrdl $5,%r13d,%r13d
1939 vpxor %xmm8,%xmm9,%xmm9
1943 shrdl $11,%r14d,%r14d
1946 shrdl $6,%r13d,%r13d
1953 shrdl $2,%r14d,%r14d
1957 shrdl $14,%r13d,%r13d
1961 shrdl $9,%r14d,%r14d
1963 shrdl $5,%r13d,%r13d
1966 vaesenc %xmm10,%xmm9,%xmm9
1967 vmovdqu 32-128(%rdi),%xmm10
1971 shrdl $11,%r14d,%r14d
1974 shrdl $6,%r13d,%r13d
1981 shrdl $2,%r14d,%r14d
1985 shrdl $14,%r13d,%r13d
1989 shrdl $9,%r14d,%r14d
1991 shrdl $5,%r13d,%r13d
1994 vaesenc %xmm10,%xmm9,%xmm9
1995 vmovdqu 48-128(%rdi),%xmm10
1999 shrdl $11,%r14d,%r14d
2002 shrdl $6,%r13d,%r13d
2009 shrdl $2,%r14d,%r14d
2013 shrdl $14,%r13d,%r13d
2017 shrdl $9,%r14d,%r14d
2019 shrdl $5,%r13d,%r13d
2022 vaesenc %xmm10,%xmm9,%xmm9
2023 vmovdqu 64-128(%rdi),%xmm10
2027 shrdl $11,%r14d,%r14d
2030 shrdl $6,%r13d,%r13d
2037 shrdl $2,%r14d,%r14d
2041 shrdl $14,%r13d,%r13d
2045 shrdl $9,%r14d,%r14d
2047 shrdl $5,%r13d,%r13d
2050 vaesenc %xmm10,%xmm9,%xmm9
2051 vmovdqu 80-128(%rdi),%xmm10
2055 shrdl $11,%r14d,%r14d
2058 shrdl $6,%r13d,%r13d
2065 shrdl $2,%r14d,%r14d
2069 shrdl $14,%r13d,%r13d
2073 shrdl $9,%r14d,%r14d
2075 shrdl $5,%r13d,%r13d
2078 vaesenc %xmm10,%xmm9,%xmm9
2079 vmovdqu 96-128(%rdi),%xmm10
2083 shrdl $11,%r14d,%r14d
2086 shrdl $6,%r13d,%r13d
2093 shrdl $2,%r14d,%r14d
2097 shrdl $14,%r13d,%r13d
2101 shrdl $9,%r14d,%r14d
2103 shrdl $5,%r13d,%r13d
2106 vaesenc %xmm10,%xmm9,%xmm9
2107 vmovdqu 112-128(%rdi),%xmm10
2111 shrdl $11,%r14d,%r14d
2114 shrdl $6,%r13d,%r13d
2121 shrdl $2,%r14d,%r14d
2125 shrdl $14,%r13d,%r13d
2129 shrdl $9,%r14d,%r14d
2131 shrdl $5,%r13d,%r13d
2134 vaesenc %xmm10,%xmm9,%xmm9
2135 vmovdqu 128-128(%rdi),%xmm10
2139 shrdl $11,%r14d,%r14d
2142 shrdl $6,%r13d,%r13d
2149 shrdl $2,%r14d,%r14d
2153 shrdl $14,%r13d,%r13d
2157 shrdl $9,%r14d,%r14d
2159 shrdl $5,%r13d,%r13d
2162 vaesenc %xmm10,%xmm9,%xmm9
2163 vmovdqu 144-128(%rdi),%xmm10
2167 shrdl $11,%r14d,%r14d
2170 shrdl $6,%r13d,%r13d
2177 shrdl $2,%r14d,%r14d
2181 shrdl $14,%r13d,%r13d
2185 shrdl $9,%r14d,%r14d
2187 shrdl $5,%r13d,%r13d
2190 vaesenc %xmm10,%xmm9,%xmm9
2191 vmovdqu 160-128(%rdi),%xmm10
2195 shrdl $11,%r14d,%r14d
2198 shrdl $6,%r13d,%r13d
2205 shrdl $2,%r14d,%r14d
2209 shrdl $14,%r13d,%r13d
2213 shrdl $9,%r14d,%r14d
2215 shrdl $5,%r13d,%r13d
2218 vaesenclast %xmm10,%xmm9,%xmm11
2219 vaesenc %xmm10,%xmm9,%xmm9
2220 vmovdqu 176-128(%rdi),%xmm10
2224 shrdl $11,%r14d,%r14d
2227 shrdl $6,%r13d,%r13d
2234 shrdl $2,%r14d,%r14d
2238 shrdl $14,%r13d,%r13d
2242 shrdl $9,%r14d,%r14d
2244 shrdl $5,%r13d,%r13d
2247 vpand %xmm12,%xmm11,%xmm8
2248 vaesenc %xmm10,%xmm9,%xmm9
2249 vmovdqu 192-128(%rdi),%xmm10
2253 shrdl $11,%r14d,%r14d
2256 shrdl $6,%r13d,%r13d
2263 shrdl $2,%r14d,%r14d
2267 shrdl $14,%r13d,%r13d
2271 shrdl $9,%r14d,%r14d
2273 shrdl $5,%r13d,%r13d
2276 vaesenclast %xmm10,%xmm9,%xmm11
2277 vaesenc %xmm10,%xmm9,%xmm9
2278 vmovdqu 208-128(%rdi),%xmm10
2282 shrdl $11,%r14d,%r14d
2285 shrdl $6,%r13d,%r13d
2292 shrdl $2,%r14d,%r14d
2296 shrdl $14,%r13d,%r13d
2300 shrdl $9,%r14d,%r14d
2302 shrdl $5,%r13d,%r13d
2305 vpand %xmm13,%xmm11,%xmm11
2306 vaesenc %xmm10,%xmm9,%xmm9
2307 vmovdqu 224-128(%rdi),%xmm10
2311 shrdl $11,%r14d,%r14d
2314 shrdl $6,%r13d,%r13d
2321 shrdl $2,%r14d,%r14d
2325 shrdl $14,%r13d,%r13d
2329 shrdl $9,%r14d,%r14d
2331 shrdl $5,%r13d,%r13d
2334 vpor %xmm11,%xmm8,%xmm8
2335 vaesenclast %xmm10,%xmm9,%xmm11
2336 vmovdqu 0-128(%rdi),%xmm10
2340 shrdl $11,%r14d,%r14d
2343 shrdl $6,%r13d,%r13d
2350 shrdl $2,%r14d,%r14d
2354 movq 64+0(%rsp),%r12
2355 movq 64+8(%rsp),%r13
2356 movq 64+40(%rsp),%r15
2357 movq 64+48(%rsp),%rsi
2359 vpand %xmm14,%xmm11,%xmm11
2361 vpor %xmm11,%xmm8,%xmm8
2362 vmovdqu %xmm8,(%r12,%r13,1)
2374 cmpq 64+16(%rsp),%r12
2386 movq 64+32(%rsp),%r8
2387 movq 64+56(%rsp),%rsi
2399 .size aesni_cbc_sha256_enc_avx,.-aesni_cbc_sha256_enc_avx
2400 .type aesni_cbc_sha256_enc_avx2,@function
2402 aesni_cbc_sha256_enc_avx2:
2423 movq %rdx,64+16(%rsp)
2425 movq %r8,64+32(%rsp)
2426 movq %r9,64+40(%rsp)
2427 movq %r10,64+48(%rsp)
2428 movq %r11,64+56(%rsp)
2433 vpinsrq $1,%rsi,%xmm15,%xmm15
2435 leaq K256+544(%rip),%r12
2436 movl 240-128(%rdi),%r14d
2442 vmovdqa 0(%r12,%r14,8),%xmm14
2443 vmovdqa 16(%r12,%r14,8),%xmm13
2444 vmovdqa 32(%r12,%r14,8),%xmm12
2448 leaq (%rsi,%r13,1),%r12
2458 vmovdqu 0-128(%rdi),%xmm10
2462 vmovdqa K256+512(%rip),%ymm7
2463 vmovdqu -64+0(%rsi,%r13,1),%xmm0
2464 vmovdqu -64+16(%rsi,%r13,1),%xmm1
2465 vmovdqu -64+32(%rsi,%r13,1),%xmm2
2466 vmovdqu -64+48(%rsi,%r13,1),%xmm3
2468 vinserti128 $1,(%r12),%ymm0,%ymm0
2469 vinserti128 $1,16(%r12),%ymm1,%ymm1
2470 vpshufb %ymm7,%ymm0,%ymm0
2471 vinserti128 $1,32(%r12),%ymm2,%ymm2
2472 vpshufb %ymm7,%ymm1,%ymm1
2473 vinserti128 $1,48(%r12),%ymm3,%ymm3
2475 leaq K256(%rip),%rbp
2476 vpshufb %ymm7,%ymm2,%ymm2
2478 vpaddd 0(%rbp),%ymm0,%ymm4
2479 vpshufb %ymm7,%ymm3,%ymm3
2480 vpaddd 32(%rbp),%ymm1,%ymm5
2481 vpaddd 64(%rbp),%ymm2,%ymm6
2482 vpaddd 96(%rbp),%ymm3,%ymm7
2483 vmovdqa %ymm4,0(%rsp)
2485 vmovdqa %ymm5,32(%rsp)
2488 vmovdqa %ymm6,0(%rsp)
2490 vmovdqa %ymm7,32(%rsp)
2497 vmovdqu (%r13),%xmm9
2498 vpinsrq $0,%r13,%xmm15,%xmm15
2500 vpalignr $4,%ymm0,%ymm1,%ymm4
2501 addl 0+128(%rsp),%r11d
2503 rorxl $25,%r8d,%r13d
2504 vpalignr $4,%ymm2,%ymm3,%ymm7
2505 rorxl $11,%r8d,%r15d
2506 leal (%rax,%r14,1),%eax
2507 leal (%r11,%r12,1),%r11d
2508 vpsrld $7,%ymm4,%ymm6
2509 andnl %r10d,%r8d,%r12d
2512 vpaddd %ymm7,%ymm0,%ymm0
2513 leal (%r11,%r12,1),%r11d
2516 vpsrld $3,%ymm4,%ymm7
2517 rorxl $22,%eax,%r12d
2518 leal (%r11,%r13,1),%r11d
2520 vpslld $14,%ymm4,%ymm5
2521 rorxl $13,%eax,%r14d
2523 leal (%rdx,%r11,1),%edx
2524 vpxor %ymm6,%ymm7,%ymm4
2526 vpxor %xmm10,%xmm9,%xmm9
2527 vmovdqu 16-128(%rdi),%xmm10
2530 vpshufd $250,%ymm3,%ymm7
2532 leal (%r11,%rsi,1),%r11d
2534 vpsrld $11,%ymm6,%ymm6
2535 addl 4+128(%rsp),%r10d
2537 rorxl $25,%edx,%r13d
2538 vpxor %ymm5,%ymm4,%ymm4
2540 leal (%r11,%r14,1),%r11d
2541 leal (%r10,%r12,1),%r10d
2542 vpslld $11,%ymm5,%ymm5
2543 andnl %r9d,%edx,%r12d
2546 vpxor %ymm6,%ymm4,%ymm4
2547 leal (%r10,%r12,1),%r10d
2550 vpsrld $10,%ymm7,%ymm6
2551 rorxl $22,%r11d,%r12d
2552 leal (%r10,%r13,1),%r10d
2554 vpxor %ymm5,%ymm4,%ymm4
2555 rorxl $13,%r11d,%r14d
2556 rorxl $2,%r11d,%r13d
2557 leal (%rcx,%r10,1),%ecx
2558 vpsrlq $17,%ymm7,%ymm7
2560 vpxor %xmm8,%xmm9,%xmm9
2563 vpaddd %ymm4,%ymm0,%ymm0
2565 leal (%r10,%r15,1),%r10d
2567 vpxor %ymm7,%ymm6,%ymm6
2568 addl 8+128(%rsp),%r9d
2570 rorxl $25,%ecx,%r13d
2571 vpsrlq $2,%ymm7,%ymm7
2572 rorxl $11,%ecx,%r15d
2573 leal (%r10,%r14,1),%r10d
2574 leal (%r9,%r12,1),%r9d
2575 vpxor %ymm7,%ymm6,%ymm6
2576 andnl %r8d,%ecx,%r12d
2579 vpshufd $132,%ymm6,%ymm6
2580 leal (%r9,%r12,1),%r9d
2583 vpsrldq $8,%ymm6,%ymm6
2584 rorxl $22,%r10d,%r12d
2585 leal (%r9,%r13,1),%r9d
2587 vpaddd %ymm6,%ymm0,%ymm0
2588 rorxl $13,%r10d,%r14d
2589 rorxl $2,%r10d,%r13d
2590 leal (%rbx,%r9,1),%ebx
2591 vpshufd $80,%ymm0,%ymm7
2593 vaesenc %xmm10,%xmm9,%xmm9
2594 vmovdqu 32-128(%rdi),%xmm10
2597 vpsrld $10,%ymm7,%ymm6
2599 leal (%r9,%rsi,1),%r9d
2601 vpsrlq $17,%ymm7,%ymm7
2602 addl 12+128(%rsp),%r8d
2604 rorxl $25,%ebx,%r13d
2605 vpxor %ymm7,%ymm6,%ymm6
2607 leal (%r9,%r14,1),%r9d
2608 leal (%r8,%r12,1),%r8d
2609 vpsrlq $2,%ymm7,%ymm7
2610 andnl %edx,%ebx,%r12d
2613 vpxor %ymm7,%ymm6,%ymm6
2614 leal (%r8,%r12,1),%r8d
2617 vpshufd $232,%ymm6,%ymm6
2618 rorxl $22,%r9d,%r12d
2619 leal (%r8,%r13,1),%r8d
2621 vpslldq $8,%ymm6,%ymm6
2622 rorxl $13,%r9d,%r14d
2624 leal (%rax,%r8,1),%eax
2625 vpaddd %ymm6,%ymm0,%ymm0
2627 vaesenc %xmm10,%xmm9,%xmm9
2628 vmovdqu 48-128(%rdi),%xmm10
2631 vpaddd 0(%rbp),%ymm0,%ymm6
2633 leal (%r8,%r15,1),%r8d
2635 vmovdqa %ymm6,0(%rsp)
2636 vpalignr $4,%ymm1,%ymm2,%ymm4
2637 addl 32+128(%rsp),%edx
2639 rorxl $25,%eax,%r13d
2640 vpalignr $4,%ymm3,%ymm0,%ymm7
2641 rorxl $11,%eax,%r15d
2642 leal (%r8,%r14,1),%r8d
2643 leal (%rdx,%r12,1),%edx
2644 vpsrld $7,%ymm4,%ymm6
2645 andnl %ecx,%eax,%r12d
2648 vpaddd %ymm7,%ymm1,%ymm1
2649 leal (%rdx,%r12,1),%edx
2652 vpsrld $3,%ymm4,%ymm7
2653 rorxl $22,%r8d,%r12d
2654 leal (%rdx,%r13,1),%edx
2656 vpslld $14,%ymm4,%ymm5
2657 rorxl $13,%r8d,%r14d
2659 leal (%r11,%rdx,1),%r11d
2660 vpxor %ymm6,%ymm7,%ymm4
2662 vaesenc %xmm10,%xmm9,%xmm9
2663 vmovdqu 64-128(%rdi),%xmm10
2666 vpshufd $250,%ymm0,%ymm7
2668 leal (%rdx,%rsi,1),%edx
2670 vpsrld $11,%ymm6,%ymm6
2671 addl 36+128(%rsp),%ecx
2673 rorxl $25,%r11d,%r13d
2674 vpxor %ymm5,%ymm4,%ymm4
2675 rorxl $11,%r11d,%esi
2676 leal (%rdx,%r14,1),%edx
2677 leal (%rcx,%r12,1),%ecx
2678 vpslld $11,%ymm5,%ymm5
2679 andnl %ebx,%r11d,%r12d
2681 rorxl $6,%r11d,%r14d
2682 vpxor %ymm6,%ymm4,%ymm4
2683 leal (%rcx,%r12,1),%ecx
2686 vpsrld $10,%ymm7,%ymm6
2687 rorxl $22,%edx,%r12d
2688 leal (%rcx,%r13,1),%ecx
2690 vpxor %ymm5,%ymm4,%ymm4
2691 rorxl $13,%edx,%r14d
2693 leal (%r10,%rcx,1),%r10d
2694 vpsrlq $17,%ymm7,%ymm7
2696 vaesenc %xmm10,%xmm9,%xmm9
2697 vmovdqu 80-128(%rdi),%xmm10
2700 vpaddd %ymm4,%ymm1,%ymm1
2702 leal (%rcx,%r15,1),%ecx
2704 vpxor %ymm7,%ymm6,%ymm6
2705 addl 40+128(%rsp),%ebx
2707 rorxl $25,%r10d,%r13d
2708 vpsrlq $2,%ymm7,%ymm7
2709 rorxl $11,%r10d,%r15d
2710 leal (%rcx,%r14,1),%ecx
2711 leal (%rbx,%r12,1),%ebx
2712 vpxor %ymm7,%ymm6,%ymm6
2713 andnl %eax,%r10d,%r12d
2715 rorxl $6,%r10d,%r14d
2716 vpshufd $132,%ymm6,%ymm6
2717 leal (%rbx,%r12,1),%ebx
2720 vpsrldq $8,%ymm6,%ymm6
2721 rorxl $22,%ecx,%r12d
2722 leal (%rbx,%r13,1),%ebx
2724 vpaddd %ymm6,%ymm1,%ymm1
2725 rorxl $13,%ecx,%r14d
2727 leal (%r9,%rbx,1),%r9d
2728 vpshufd $80,%ymm1,%ymm7
2730 vaesenc %xmm10,%xmm9,%xmm9
2731 vmovdqu 96-128(%rdi),%xmm10
2734 vpsrld $10,%ymm7,%ymm6
2736 leal (%rbx,%rsi,1),%ebx
2738 vpsrlq $17,%ymm7,%ymm7
2739 addl 44+128(%rsp),%eax
2741 rorxl $25,%r9d,%r13d
2742 vpxor %ymm7,%ymm6,%ymm6
2744 leal (%rbx,%r14,1),%ebx
2745 leal (%rax,%r12,1),%eax
2746 vpsrlq $2,%ymm7,%ymm7
2747 andnl %r11d,%r9d,%r12d
2750 vpxor %ymm7,%ymm6,%ymm6
2751 leal (%rax,%r12,1),%eax
2754 vpshufd $232,%ymm6,%ymm6
2755 rorxl $22,%ebx,%r12d
2756 leal (%rax,%r13,1),%eax
2758 vpslldq $8,%ymm6,%ymm6
2759 rorxl $13,%ebx,%r14d
2761 leal (%r8,%rax,1),%r8d
2762 vpaddd %ymm6,%ymm1,%ymm1
2764 vaesenc %xmm10,%xmm9,%xmm9
2765 vmovdqu 112-128(%rdi),%xmm10
2768 vpaddd 32(%rbp),%ymm1,%ymm6
2770 leal (%rax,%r15,1),%eax
2772 vmovdqa %ymm6,32(%rsp)
2774 vpalignr $4,%ymm2,%ymm3,%ymm4
2775 addl 0+128(%rsp),%r11d
2777 rorxl $25,%r8d,%r13d
2778 vpalignr $4,%ymm0,%ymm1,%ymm7
2779 rorxl $11,%r8d,%r15d
2780 leal (%rax,%r14,1),%eax
2781 leal (%r11,%r12,1),%r11d
2782 vpsrld $7,%ymm4,%ymm6
2783 andnl %r10d,%r8d,%r12d
2786 vpaddd %ymm7,%ymm2,%ymm2
2787 leal (%r11,%r12,1),%r11d
2790 vpsrld $3,%ymm4,%ymm7
2791 rorxl $22,%eax,%r12d
2792 leal (%r11,%r13,1),%r11d
2794 vpslld $14,%ymm4,%ymm5
2795 rorxl $13,%eax,%r14d
2797 leal (%rdx,%r11,1),%edx
2798 vpxor %ymm6,%ymm7,%ymm4
2800 vaesenc %xmm10,%xmm9,%xmm9
2801 vmovdqu 128-128(%rdi),%xmm10
2804 vpshufd $250,%ymm1,%ymm7
2806 leal (%r11,%rsi,1),%r11d
2808 vpsrld $11,%ymm6,%ymm6
2809 addl 4+128(%rsp),%r10d
2811 rorxl $25,%edx,%r13d
2812 vpxor %ymm5,%ymm4,%ymm4
2814 leal (%r11,%r14,1),%r11d
2815 leal (%r10,%r12,1),%r10d
2816 vpslld $11,%ymm5,%ymm5
2817 andnl %r9d,%edx,%r12d
2820 vpxor %ymm6,%ymm4,%ymm4
2821 leal (%r10,%r12,1),%r10d
2824 vpsrld $10,%ymm7,%ymm6
2825 rorxl $22,%r11d,%r12d
2826 leal (%r10,%r13,1),%r10d
2828 vpxor %ymm5,%ymm4,%ymm4
2829 rorxl $13,%r11d,%r14d
2830 rorxl $2,%r11d,%r13d
2831 leal (%rcx,%r10,1),%ecx
2832 vpsrlq $17,%ymm7,%ymm7
2834 vaesenc %xmm10,%xmm9,%xmm9
2835 vmovdqu 144-128(%rdi),%xmm10
2838 vpaddd %ymm4,%ymm2,%ymm2
2840 leal (%r10,%r15,1),%r10d
2842 vpxor %ymm7,%ymm6,%ymm6
2843 addl 8+128(%rsp),%r9d
2845 rorxl $25,%ecx,%r13d
2846 vpsrlq $2,%ymm7,%ymm7
2847 rorxl $11,%ecx,%r15d
2848 leal (%r10,%r14,1),%r10d
2849 leal (%r9,%r12,1),%r9d
2850 vpxor %ymm7,%ymm6,%ymm6
2851 andnl %r8d,%ecx,%r12d
2854 vpshufd $132,%ymm6,%ymm6
2855 leal (%r9,%r12,1),%r9d
2858 vpsrldq $8,%ymm6,%ymm6
2859 rorxl $22,%r10d,%r12d
2860 leal (%r9,%r13,1),%r9d
2862 vpaddd %ymm6,%ymm2,%ymm2
2863 rorxl $13,%r10d,%r14d
2864 rorxl $2,%r10d,%r13d
2865 leal (%rbx,%r9,1),%ebx
2866 vpshufd $80,%ymm2,%ymm7
2868 vaesenc %xmm10,%xmm9,%xmm9
2869 vmovdqu 160-128(%rdi),%xmm10
2872 vpsrld $10,%ymm7,%ymm6
2874 leal (%r9,%rsi,1),%r9d
2876 vpsrlq $17,%ymm7,%ymm7
2877 addl 12+128(%rsp),%r8d
2879 rorxl $25,%ebx,%r13d
2880 vpxor %ymm7,%ymm6,%ymm6
2882 leal (%r9,%r14,1),%r9d
2883 leal (%r8,%r12,1),%r8d
2884 vpsrlq $2,%ymm7,%ymm7
2885 andnl %edx,%ebx,%r12d
2888 vpxor %ymm7,%ymm6,%ymm6
2889 leal (%r8,%r12,1),%r8d
2892 vpshufd $232,%ymm6,%ymm6
2893 rorxl $22,%r9d,%r12d
2894 leal (%r8,%r13,1),%r8d
2896 vpslldq $8,%ymm6,%ymm6
2897 rorxl $13,%r9d,%r14d
2899 leal (%rax,%r8,1),%eax
2900 vpaddd %ymm6,%ymm2,%ymm2
2902 vaesenclast %xmm10,%xmm9,%xmm11
2903 vaesenc %xmm10,%xmm9,%xmm9
2904 vmovdqu 176-128(%rdi),%xmm10
2907 vpaddd 64(%rbp),%ymm2,%ymm6
2909 leal (%r8,%r15,1),%r8d
2911 vmovdqa %ymm6,0(%rsp)
2912 vpalignr $4,%ymm3,%ymm0,%ymm4
2913 addl 32+128(%rsp),%edx
2915 rorxl $25,%eax,%r13d
2916 vpalignr $4,%ymm1,%ymm2,%ymm7
2917 rorxl $11,%eax,%r15d
2918 leal (%r8,%r14,1),%r8d
2919 leal (%rdx,%r12,1),%edx
2920 vpsrld $7,%ymm4,%ymm6
2921 andnl %ecx,%eax,%r12d
2924 vpaddd %ymm7,%ymm3,%ymm3
2925 leal (%rdx,%r12,1),%edx
2928 vpsrld $3,%ymm4,%ymm7
2929 rorxl $22,%r8d,%r12d
2930 leal (%rdx,%r13,1),%edx
2932 vpslld $14,%ymm4,%ymm5
2933 rorxl $13,%r8d,%r14d
2935 leal (%r11,%rdx,1),%r11d
2936 vpxor %ymm6,%ymm7,%ymm4
2938 vpand %xmm12,%xmm11,%xmm8
2939 vaesenc %xmm10,%xmm9,%xmm9
2940 vmovdqu 192-128(%rdi),%xmm10
2943 vpshufd $250,%ymm2,%ymm7
2945 leal (%rdx,%rsi,1),%edx
2947 vpsrld $11,%ymm6,%ymm6
2948 addl 36+128(%rsp),%ecx
2950 rorxl $25,%r11d,%r13d
2951 vpxor %ymm5,%ymm4,%ymm4
2952 rorxl $11,%r11d,%esi
2953 leal (%rdx,%r14,1),%edx
2954 leal (%rcx,%r12,1),%ecx
2955 vpslld $11,%ymm5,%ymm5
2956 andnl %ebx,%r11d,%r12d
2958 rorxl $6,%r11d,%r14d
2959 vpxor %ymm6,%ymm4,%ymm4
2960 leal (%rcx,%r12,1),%ecx
2963 vpsrld $10,%ymm7,%ymm6
2964 rorxl $22,%edx,%r12d
2965 leal (%rcx,%r13,1),%ecx
2967 vpxor %ymm5,%ymm4,%ymm4
2968 rorxl $13,%edx,%r14d
2970 leal (%r10,%rcx,1),%r10d
2971 vpsrlq $17,%ymm7,%ymm7
2973 vaesenclast %xmm10,%xmm9,%xmm11
2974 vaesenc %xmm10,%xmm9,%xmm9
2975 vmovdqu 208-128(%rdi),%xmm10
2978 vpaddd %ymm4,%ymm3,%ymm3
2980 leal (%rcx,%r15,1),%ecx
2982 vpxor %ymm7,%ymm6,%ymm6
2983 addl 40+128(%rsp),%ebx
2985 rorxl $25,%r10d,%r13d
2986 vpsrlq $2,%ymm7,%ymm7
2987 rorxl $11,%r10d,%r15d
2988 leal (%rcx,%r14,1),%ecx
2989 leal (%rbx,%r12,1),%ebx
2990 vpxor %ymm7,%ymm6,%ymm6
2991 andnl %eax,%r10d,%r12d
2993 rorxl $6,%r10d,%r14d
2994 vpshufd $132,%ymm6,%ymm6
2995 leal (%rbx,%r12,1),%ebx
2998 vpsrldq $8,%ymm6,%ymm6
2999 rorxl $22,%ecx,%r12d
3000 leal (%rbx,%r13,1),%ebx
3002 vpaddd %ymm6,%ymm3,%ymm3
3003 rorxl $13,%ecx,%r14d
3005 leal (%r9,%rbx,1),%r9d
3006 vpshufd $80,%ymm3,%ymm7
3008 vpand %xmm13,%xmm11,%xmm11
3009 vaesenc %xmm10,%xmm9,%xmm9
3010 vmovdqu 224-128(%rdi),%xmm10
3013 vpsrld $10,%ymm7,%ymm6
3015 leal (%rbx,%rsi,1),%ebx
3017 vpsrlq $17,%ymm7,%ymm7
3018 addl 44+128(%rsp),%eax
3020 rorxl $25,%r9d,%r13d
3021 vpxor %ymm7,%ymm6,%ymm6
3023 leal (%rbx,%r14,1),%ebx
3024 leal (%rax,%r12,1),%eax
3025 vpsrlq $2,%ymm7,%ymm7
3026 andnl %r11d,%r9d,%r12d
3029 vpxor %ymm7,%ymm6,%ymm6
3030 leal (%rax,%r12,1),%eax
3033 vpshufd $232,%ymm6,%ymm6
3034 rorxl $22,%ebx,%r12d
3035 leal (%rax,%r13,1),%eax
3037 vpslldq $8,%ymm6,%ymm6
3038 rorxl $13,%ebx,%r14d
3040 leal (%r8,%rax,1),%r8d
3041 vpaddd %ymm6,%ymm3,%ymm3
3043 vpor %xmm11,%xmm8,%xmm8
3044 vaesenclast %xmm10,%xmm9,%xmm11
3045 vmovdqu 0-128(%rdi),%xmm10
3048 vpaddd 96(%rbp),%ymm3,%ymm6
3050 leal (%rax,%r15,1),%eax
3052 vmovdqa %ymm6,32(%rsp)
3054 vpextrq $1,%xmm15,%r15
3055 vpand %xmm14,%xmm11,%xmm11
3056 vpor %xmm11,%xmm8,%xmm8
3057 vmovdqu %xmm8,(%r15,%r13,1)
3062 vmovdqu (%r13),%xmm9
3063 vpinsrq $0,%r13,%xmm15,%xmm15
3064 addl 0+64(%rsp),%r11d
3066 rorxl $25,%r8d,%r13d
3067 rorxl $11,%r8d,%r15d
3068 leal (%rax,%r14,1),%eax
3069 leal (%r11,%r12,1),%r11d
3070 andnl %r10d,%r8d,%r12d
3073 leal (%r11,%r12,1),%r11d
3076 rorxl $22,%eax,%r12d
3077 leal (%r11,%r13,1),%r11d
3079 rorxl $13,%eax,%r14d
3081 leal (%rdx,%r11,1),%edx
3083 vpxor %xmm10,%xmm9,%xmm9
3084 vmovdqu 16-128(%rdi),%xmm10
3088 leal (%r11,%rsi,1),%r11d
3090 addl 4+64(%rsp),%r10d
3092 rorxl $25,%edx,%r13d
3094 leal (%r11,%r14,1),%r11d
3095 leal (%r10,%r12,1),%r10d
3096 andnl %r9d,%edx,%r12d
3099 leal (%r10,%r12,1),%r10d
3102 rorxl $22,%r11d,%r12d
3103 leal (%r10,%r13,1),%r10d
3105 rorxl $13,%r11d,%r14d
3106 rorxl $2,%r11d,%r13d
3107 leal (%rcx,%r10,1),%ecx
3109 vpxor %xmm8,%xmm9,%xmm9
3113 leal (%r10,%r15,1),%r10d
3115 addl 8+64(%rsp),%r9d
3117 rorxl $25,%ecx,%r13d
3118 rorxl $11,%ecx,%r15d
3119 leal (%r10,%r14,1),%r10d
3120 leal (%r9,%r12,1),%r9d
3121 andnl %r8d,%ecx,%r12d
3124 leal (%r9,%r12,1),%r9d
3127 rorxl $22,%r10d,%r12d
3128 leal (%r9,%r13,1),%r9d
3130 rorxl $13,%r10d,%r14d
3131 rorxl $2,%r10d,%r13d
3132 leal (%rbx,%r9,1),%ebx
3134 vaesenc %xmm10,%xmm9,%xmm9
3135 vmovdqu 32-128(%rdi),%xmm10
3139 leal (%r9,%rsi,1),%r9d
3141 addl 12+64(%rsp),%r8d
3143 rorxl $25,%ebx,%r13d
3145 leal (%r9,%r14,1),%r9d
3146 leal (%r8,%r12,1),%r8d
3147 andnl %edx,%ebx,%r12d
3150 leal (%r8,%r12,1),%r8d
3153 rorxl $22,%r9d,%r12d
3154 leal (%r8,%r13,1),%r8d
3156 rorxl $13,%r9d,%r14d
3158 leal (%rax,%r8,1),%eax
3160 vaesenc %xmm10,%xmm9,%xmm9
3161 vmovdqu 48-128(%rdi),%xmm10
3165 leal (%r8,%r15,1),%r8d
3167 addl 32+64(%rsp),%edx
3169 rorxl $25,%eax,%r13d
3170 rorxl $11,%eax,%r15d
3171 leal (%r8,%r14,1),%r8d
3172 leal (%rdx,%r12,1),%edx
3173 andnl %ecx,%eax,%r12d
3176 leal (%rdx,%r12,1),%edx
3179 rorxl $22,%r8d,%r12d
3180 leal (%rdx,%r13,1),%edx
3182 rorxl $13,%r8d,%r14d
3184 leal (%r11,%rdx,1),%r11d
3186 vaesenc %xmm10,%xmm9,%xmm9
3187 vmovdqu 64-128(%rdi),%xmm10
3191 leal (%rdx,%rsi,1),%edx
3193 addl 36+64(%rsp),%ecx
3195 rorxl $25,%r11d,%r13d
3196 rorxl $11,%r11d,%esi
3197 leal (%rdx,%r14,1),%edx
3198 leal (%rcx,%r12,1),%ecx
3199 andnl %ebx,%r11d,%r12d
3201 rorxl $6,%r11d,%r14d
3202 leal (%rcx,%r12,1),%ecx
3205 rorxl $22,%edx,%r12d
3206 leal (%rcx,%r13,1),%ecx
3208 rorxl $13,%edx,%r14d
3210 leal (%r10,%rcx,1),%r10d
3212 vaesenc %xmm10,%xmm9,%xmm9
3213 vmovdqu 80-128(%rdi),%xmm10
3217 leal (%rcx,%r15,1),%ecx
3219 addl 40+64(%rsp),%ebx
3221 rorxl $25,%r10d,%r13d
3222 rorxl $11,%r10d,%r15d
3223 leal (%rcx,%r14,1),%ecx
3224 leal (%rbx,%r12,1),%ebx
3225 andnl %eax,%r10d,%r12d
3227 rorxl $6,%r10d,%r14d
3228 leal (%rbx,%r12,1),%ebx
3231 rorxl $22,%ecx,%r12d
3232 leal (%rbx,%r13,1),%ebx
3234 rorxl $13,%ecx,%r14d
3236 leal (%r9,%rbx,1),%r9d
3238 vaesenc %xmm10,%xmm9,%xmm9
3239 vmovdqu 96-128(%rdi),%xmm10
3243 leal (%rbx,%rsi,1),%ebx
3245 addl 44+64(%rsp),%eax
3247 rorxl $25,%r9d,%r13d
3249 leal (%rbx,%r14,1),%ebx
3250 leal (%rax,%r12,1),%eax
3251 andnl %r11d,%r9d,%r12d
3254 leal (%rax,%r12,1),%eax
3257 rorxl $22,%ebx,%r12d
3258 leal (%rax,%r13,1),%eax
3260 rorxl $13,%ebx,%r14d
3262 leal (%r8,%rax,1),%r8d
3264 vaesenc %xmm10,%xmm9,%xmm9
3265 vmovdqu 112-128(%rdi),%xmm10
3269 leal (%rax,%r15,1),%eax
3273 rorxl $25,%r8d,%r13d
3274 rorxl $11,%r8d,%r15d
3275 leal (%rax,%r14,1),%eax
3276 leal (%r11,%r12,1),%r11d
3277 andnl %r10d,%r8d,%r12d
3280 leal (%r11,%r12,1),%r11d
3283 rorxl $22,%eax,%r12d
3284 leal (%r11,%r13,1),%r11d
3286 rorxl $13,%eax,%r14d
3288 leal (%rdx,%r11,1),%edx
3290 vaesenc %xmm10,%xmm9,%xmm9
3291 vmovdqu 128-128(%rdi),%xmm10
3295 leal (%r11,%rsi,1),%r11d
3299 rorxl $25,%edx,%r13d
3301 leal (%r11,%r14,1),%r11d
3302 leal (%r10,%r12,1),%r10d
3303 andnl %r9d,%edx,%r12d
3306 leal (%r10,%r12,1),%r10d
3309 rorxl $22,%r11d,%r12d
3310 leal (%r10,%r13,1),%r10d
3312 rorxl $13,%r11d,%r14d
3313 rorxl $2,%r11d,%r13d
3314 leal (%rcx,%r10,1),%ecx
3316 vaesenc %xmm10,%xmm9,%xmm9
3317 vmovdqu 144-128(%rdi),%xmm10
3321 leal (%r10,%r15,1),%r10d
3325 rorxl $25,%ecx,%r13d
3326 rorxl $11,%ecx,%r15d
3327 leal (%r10,%r14,1),%r10d
3328 leal (%r9,%r12,1),%r9d
3329 andnl %r8d,%ecx,%r12d
3332 leal (%r9,%r12,1),%r9d
3335 rorxl $22,%r10d,%r12d
3336 leal (%r9,%r13,1),%r9d
3338 rorxl $13,%r10d,%r14d
3339 rorxl $2,%r10d,%r13d
3340 leal (%rbx,%r9,1),%ebx
3342 vaesenc %xmm10,%xmm9,%xmm9
3343 vmovdqu 160-128(%rdi),%xmm10
3347 leal (%r9,%rsi,1),%r9d
3351 rorxl $25,%ebx,%r13d
3353 leal (%r9,%r14,1),%r9d
3354 leal (%r8,%r12,1),%r8d
3355 andnl %edx,%ebx,%r12d
3358 leal (%r8,%r12,1),%r8d
3361 rorxl $22,%r9d,%r12d
3362 leal (%r8,%r13,1),%r8d
3364 rorxl $13,%r9d,%r14d
3366 leal (%rax,%r8,1),%eax
3368 vaesenclast %xmm10,%xmm9,%xmm11
3369 vaesenc %xmm10,%xmm9,%xmm9
3370 vmovdqu 176-128(%rdi),%xmm10
3374 leal (%r8,%r15,1),%r8d
3378 rorxl $25,%eax,%r13d
3379 rorxl $11,%eax,%r15d
3380 leal (%r8,%r14,1),%r8d
3381 leal (%rdx,%r12,1),%edx
3382 andnl %ecx,%eax,%r12d
3385 leal (%rdx,%r12,1),%edx
3388 rorxl $22,%r8d,%r12d
3389 leal (%rdx,%r13,1),%edx
3391 rorxl $13,%r8d,%r14d
3393 leal (%r11,%rdx,1),%r11d
3395 vpand %xmm12,%xmm11,%xmm8
3396 vaesenc %xmm10,%xmm9,%xmm9
3397 vmovdqu 192-128(%rdi),%xmm10
3401 leal (%rdx,%rsi,1),%edx
3405 rorxl $25,%r11d,%r13d
3406 rorxl $11,%r11d,%esi
3407 leal (%rdx,%r14,1),%edx
3408 leal (%rcx,%r12,1),%ecx
3409 andnl %ebx,%r11d,%r12d
3411 rorxl $6,%r11d,%r14d
3412 leal (%rcx,%r12,1),%ecx
3415 rorxl $22,%edx,%r12d
3416 leal (%rcx,%r13,1),%ecx
3418 rorxl $13,%edx,%r14d
3420 leal (%r10,%rcx,1),%r10d
3422 vaesenclast %xmm10,%xmm9,%xmm11
3423 vaesenc %xmm10,%xmm9,%xmm9
3424 vmovdqu 208-128(%rdi),%xmm10
3428 leal (%rcx,%r15,1),%ecx
3432 rorxl $25,%r10d,%r13d
3433 rorxl $11,%r10d,%r15d
3434 leal (%rcx,%r14,1),%ecx
3435 leal (%rbx,%r12,1),%ebx
3436 andnl %eax,%r10d,%r12d
3438 rorxl $6,%r10d,%r14d
3439 leal (%rbx,%r12,1),%ebx
3442 rorxl $22,%ecx,%r12d
3443 leal (%rbx,%r13,1),%ebx
3445 rorxl $13,%ecx,%r14d
3447 leal (%r9,%rbx,1),%r9d
3449 vpand %xmm13,%xmm11,%xmm11
3450 vaesenc %xmm10,%xmm9,%xmm9
3451 vmovdqu 224-128(%rdi),%xmm10
3455 leal (%rbx,%rsi,1),%ebx
3459 rorxl $25,%r9d,%r13d
3461 leal (%rbx,%r14,1),%ebx
3462 leal (%rax,%r12,1),%eax
3463 andnl %r11d,%r9d,%r12d
3466 leal (%rax,%r12,1),%eax
3469 rorxl $22,%ebx,%r12d
3470 leal (%rax,%r13,1),%eax
3472 rorxl $13,%ebx,%r14d
3474 leal (%r8,%rax,1),%r8d
3476 vpor %xmm11,%xmm8,%xmm8
3477 vaesenclast %xmm10,%xmm9,%xmm11
3478 vmovdqu 0-128(%rdi),%xmm10
3482 leal (%rax,%r15,1),%eax
3484 vpextrq $1,%xmm15,%r12
3490 vpand %xmm14,%xmm11,%xmm11
3491 vpor %xmm11,%xmm8,%xmm8
3492 vmovdqu %xmm8,(%r12,%r13,1)
3523 vmovdqu (%r13),%xmm9
3524 vpinsrq $0,%r13,%xmm15,%xmm15
3525 addl 0+16(%rbp),%r11d
3527 rorxl $25,%r8d,%r13d
3528 rorxl $11,%r8d,%r15d
3529 leal (%rax,%r14,1),%eax
3530 leal (%r11,%r12,1),%r11d
3531 andnl %r10d,%r8d,%r12d
3534 leal (%r11,%r12,1),%r11d
3537 rorxl $22,%eax,%r12d
3538 leal (%r11,%r13,1),%r11d
3540 rorxl $13,%eax,%r14d
3542 leal (%rdx,%r11,1),%edx
3544 vpxor %xmm10,%xmm9,%xmm9
3545 vmovdqu 16-128(%rdi),%xmm10
3549 leal (%r11,%rsi,1),%r11d
3551 addl 4+16(%rbp),%r10d
3553 rorxl $25,%edx,%r13d
3555 leal (%r11,%r14,1),%r11d
3556 leal (%r10,%r12,1),%r10d
3557 andnl %r9d,%edx,%r12d
3560 leal (%r10,%r12,1),%r10d
3563 rorxl $22,%r11d,%r12d
3564 leal (%r10,%r13,1),%r10d
3566 rorxl $13,%r11d,%r14d
3567 rorxl $2,%r11d,%r13d
3568 leal (%rcx,%r10,1),%ecx
3570 vpxor %xmm8,%xmm9,%xmm9
3574 leal (%r10,%r15,1),%r10d
3576 addl 8+16(%rbp),%r9d
3578 rorxl $25,%ecx,%r13d
3579 rorxl $11,%ecx,%r15d
3580 leal (%r10,%r14,1),%r10d
3581 leal (%r9,%r12,1),%r9d
3582 andnl %r8d,%ecx,%r12d
3585 leal (%r9,%r12,1),%r9d
3588 rorxl $22,%r10d,%r12d
3589 leal (%r9,%r13,1),%r9d
3591 rorxl $13,%r10d,%r14d
3592 rorxl $2,%r10d,%r13d
3593 leal (%rbx,%r9,1),%ebx
3595 vaesenc %xmm10,%xmm9,%xmm9
3596 vmovdqu 32-128(%rdi),%xmm10
3600 leal (%r9,%rsi,1),%r9d
3602 addl 12+16(%rbp),%r8d
3604 rorxl $25,%ebx,%r13d
3606 leal (%r9,%r14,1),%r9d
3607 leal (%r8,%r12,1),%r8d
3608 andnl %edx,%ebx,%r12d
3611 leal (%r8,%r12,1),%r8d
3614 rorxl $22,%r9d,%r12d
3615 leal (%r8,%r13,1),%r8d
3617 rorxl $13,%r9d,%r14d
3619 leal (%rax,%r8,1),%eax
3621 vaesenc %xmm10,%xmm9,%xmm9
3622 vmovdqu 48-128(%rdi),%xmm10
3626 leal (%r8,%r15,1),%r8d
3628 addl 32+16(%rbp),%edx
3630 rorxl $25,%eax,%r13d
3631 rorxl $11,%eax,%r15d
3632 leal (%r8,%r14,1),%r8d
3633 leal (%rdx,%r12,1),%edx
3634 andnl %ecx,%eax,%r12d
3637 leal (%rdx,%r12,1),%edx
3640 rorxl $22,%r8d,%r12d
3641 leal (%rdx,%r13,1),%edx
3643 rorxl $13,%r8d,%r14d
3645 leal (%r11,%rdx,1),%r11d
3647 vaesenc %xmm10,%xmm9,%xmm9
3648 vmovdqu 64-128(%rdi),%xmm10
3652 leal (%rdx,%rsi,1),%edx
3654 addl 36+16(%rbp),%ecx
3656 rorxl $25,%r11d,%r13d
3657 rorxl $11,%r11d,%esi
3658 leal (%rdx,%r14,1),%edx
3659 leal (%rcx,%r12,1),%ecx
3660 andnl %ebx,%r11d,%r12d
3662 rorxl $6,%r11d,%r14d
3663 leal (%rcx,%r12,1),%ecx
3666 rorxl $22,%edx,%r12d
3667 leal (%rcx,%r13,1),%ecx
3669 rorxl $13,%edx,%r14d
3671 leal (%r10,%rcx,1),%r10d
3673 vaesenc %xmm10,%xmm9,%xmm9
3674 vmovdqu 80-128(%rdi),%xmm10
3678 leal (%rcx,%r15,1),%ecx
3680 addl 40+16(%rbp),%ebx
3682 rorxl $25,%r10d,%r13d
3683 rorxl $11,%r10d,%r15d
3684 leal (%rcx,%r14,1),%ecx
3685 leal (%rbx,%r12,1),%ebx
3686 andnl %eax,%r10d,%r12d
3688 rorxl $6,%r10d,%r14d
3689 leal (%rbx,%r12,1),%ebx
3692 rorxl $22,%ecx,%r12d
3693 leal (%rbx,%r13,1),%ebx
3695 rorxl $13,%ecx,%r14d
3697 leal (%r9,%rbx,1),%r9d
3699 vaesenc %xmm10,%xmm9,%xmm9
3700 vmovdqu 96-128(%rdi),%xmm10
3704 leal (%rbx,%rsi,1),%ebx
3706 addl 44+16(%rbp),%eax
3708 rorxl $25,%r9d,%r13d
3710 leal (%rbx,%r14,1),%ebx
3711 leal (%rax,%r12,1),%eax
3712 andnl %r11d,%r9d,%r12d
3715 leal (%rax,%r12,1),%eax
3718 rorxl $22,%ebx,%r12d
3719 leal (%rax,%r13,1),%eax
3721 rorxl $13,%ebx,%r14d
3723 leal (%r8,%rax,1),%r8d
3725 vaesenc %xmm10,%xmm9,%xmm9
3726 vmovdqu 112-128(%rdi),%xmm10
3730 leal (%rax,%r15,1),%eax
3733 addl 0+16(%rbp),%r11d
3735 rorxl $25,%r8d,%r13d
3736 rorxl $11,%r8d,%r15d
3737 leal (%rax,%r14,1),%eax
3738 leal (%r11,%r12,1),%r11d
3739 andnl %r10d,%r8d,%r12d
3742 leal (%r11,%r12,1),%r11d
3745 rorxl $22,%eax,%r12d
3746 leal (%r11,%r13,1),%r11d
3748 rorxl $13,%eax,%r14d
3750 leal (%rdx,%r11,1),%edx
3752 vaesenc %xmm10,%xmm9,%xmm9
3753 vmovdqu 128-128(%rdi),%xmm10
3757 leal (%r11,%rsi,1),%r11d
3759 addl 4+16(%rbp),%r10d
3761 rorxl $25,%edx,%r13d
3763 leal (%r11,%r14,1),%r11d
3764 leal (%r10,%r12,1),%r10d
3765 andnl %r9d,%edx,%r12d
3768 leal (%r10,%r12,1),%r10d
3771 rorxl $22,%r11d,%r12d
3772 leal (%r10,%r13,1),%r10d
3774 rorxl $13,%r11d,%r14d
3775 rorxl $2,%r11d,%r13d
3776 leal (%rcx,%r10,1),%ecx
3778 vaesenc %xmm10,%xmm9,%xmm9
3779 vmovdqu 144-128(%rdi),%xmm10
3783 leal (%r10,%r15,1),%r10d
3785 addl 8+16(%rbp),%r9d
3787 rorxl $25,%ecx,%r13d
3788 rorxl $11,%ecx,%r15d
3789 leal (%r10,%r14,1),%r10d
3790 leal (%r9,%r12,1),%r9d
3791 andnl %r8d,%ecx,%r12d
3794 leal (%r9,%r12,1),%r9d
3797 rorxl $22,%r10d,%r12d
3798 leal (%r9,%r13,1),%r9d
3800 rorxl $13,%r10d,%r14d
3801 rorxl $2,%r10d,%r13d
3802 leal (%rbx,%r9,1),%ebx
3804 vaesenc %xmm10,%xmm9,%xmm9
3805 vmovdqu 160-128(%rdi),%xmm10
3809 leal (%r9,%rsi,1),%r9d
3811 addl 12+16(%rbp),%r8d
3813 rorxl $25,%ebx,%r13d
3815 leal (%r9,%r14,1),%r9d
3816 leal (%r8,%r12,1),%r8d
3817 andnl %edx,%ebx,%r12d
3820 leal (%r8,%r12,1),%r8d
3823 rorxl $22,%r9d,%r12d
3824 leal (%r8,%r13,1),%r8d
3826 rorxl $13,%r9d,%r14d
3828 leal (%rax,%r8,1),%eax
3830 vaesenclast %xmm10,%xmm9,%xmm11
3831 vaesenc %xmm10,%xmm9,%xmm9
3832 vmovdqu 176-128(%rdi),%xmm10
3836 leal (%r8,%r15,1),%r8d
3838 addl 32+16(%rbp),%edx
3840 rorxl $25,%eax,%r13d
3841 rorxl $11,%eax,%r15d
3842 leal (%r8,%r14,1),%r8d
3843 leal (%rdx,%r12,1),%edx
3844 andnl %ecx,%eax,%r12d
3847 leal (%rdx,%r12,1),%edx
3850 rorxl $22,%r8d,%r12d
3851 leal (%rdx,%r13,1),%edx
3853 rorxl $13,%r8d,%r14d
3855 leal (%r11,%rdx,1),%r11d
3857 vpand %xmm12,%xmm11,%xmm8
3858 vaesenc %xmm10,%xmm9,%xmm9
3859 vmovdqu 192-128(%rdi),%xmm10
3863 leal (%rdx,%rsi,1),%edx
3865 addl 36+16(%rbp),%ecx
3867 rorxl $25,%r11d,%r13d
3868 rorxl $11,%r11d,%esi
3869 leal (%rdx,%r14,1),%edx
3870 leal (%rcx,%r12,1),%ecx
3871 andnl %ebx,%r11d,%r12d
3873 rorxl $6,%r11d,%r14d
3874 leal (%rcx,%r12,1),%ecx
3877 rorxl $22,%edx,%r12d
3878 leal (%rcx,%r13,1),%ecx
3880 rorxl $13,%edx,%r14d
3882 leal (%r10,%rcx,1),%r10d
3884 vaesenclast %xmm10,%xmm9,%xmm11
3885 vaesenc %xmm10,%xmm9,%xmm9
3886 vmovdqu 208-128(%rdi),%xmm10
3890 leal (%rcx,%r15,1),%ecx
3892 addl 40+16(%rbp),%ebx
3894 rorxl $25,%r10d,%r13d
3895 rorxl $11,%r10d,%r15d
3896 leal (%rcx,%r14,1),%ecx
3897 leal (%rbx,%r12,1),%ebx
3898 andnl %eax,%r10d,%r12d
3900 rorxl $6,%r10d,%r14d
3901 leal (%rbx,%r12,1),%ebx
3904 rorxl $22,%ecx,%r12d
3905 leal (%rbx,%r13,1),%ebx
3907 rorxl $13,%ecx,%r14d
3909 leal (%r9,%rbx,1),%r9d
3911 vpand %xmm13,%xmm11,%xmm11
3912 vaesenc %xmm10,%xmm9,%xmm9
3913 vmovdqu 224-128(%rdi),%xmm10
3917 leal (%rbx,%rsi,1),%ebx
3919 addl 44+16(%rbp),%eax
3921 rorxl $25,%r9d,%r13d
3923 leal (%rbx,%r14,1),%ebx
3924 leal (%rax,%r12,1),%eax
3925 andnl %r11d,%r9d,%r12d
3928 leal (%rax,%r12,1),%eax
3931 rorxl $22,%ebx,%r12d
3932 leal (%rax,%r13,1),%eax
3934 rorxl $13,%ebx,%r14d
3936 leal (%r8,%rax,1),%r8d
3938 vpor %xmm11,%xmm8,%xmm8
3939 vaesenclast %xmm10,%xmm9,%xmm11
3940 vmovdqu 0-128(%rdi),%xmm10
3944 leal (%rax,%r15,1),%eax
3947 vpextrq $1,%xmm15,%r15
3948 vpand %xmm14,%xmm11,%xmm11
3949 vpor %xmm11,%xmm8,%xmm8
3951 vmovdqu %xmm8,(%r15,%r13,1)
3969 leaq (%rsi,%r13,1),%r12
3972 cmpq 64+16(%rsp),%r13
3989 movq 64+32(%rsp),%r8
3990 movq 64+56(%rsp),%rsi
4002 .size aesni_cbc_sha256_enc_avx2,.-aesni_cbc_sha256_enc_avx2
4003 .type aesni_cbc_sha256_enc_shaext,@function
4005 aesni_cbc_sha256_enc_shaext:
4007 leaq K256+128(%rip),%rax
4009 movdqu 16(%r9),%xmm2
4010 movdqa 512-128(%rax),%xmm3
4012 movl 240(%rcx),%r11d
4014 movups (%rcx),%xmm15
4015 movups 16(%rcx),%xmm4
4018 pshufd $0x1b,%xmm1,%xmm0
4019 pshufd $0xb1,%xmm1,%xmm1
4020 pshufd $0x1b,%xmm2,%xmm2
4022 .byte 102,15,58,15,202,8
4023 punpcklqdq %xmm0,%xmm2
4029 movdqu (%r10),%xmm10
4030 movdqu 16(%r10),%xmm11
4031 movdqu 32(%r10),%xmm12
4032 .byte 102,68,15,56,0,211
4033 movdqu 48(%r10),%xmm13
4035 movdqa 0-128(%rax),%xmm0
4037 .byte 102,68,15,56,0,219
4040 movups 0(%rdi),%xmm14
4043 movups -80(%rcx),%xmm5
4046 pshufd $0x0e,%xmm0,%xmm0
4047 movups -64(%rcx),%xmm4
4051 movdqa 32-128(%rax),%xmm0
4053 .byte 102,68,15,56,0,227
4055 movups -48(%rcx),%xmm5
4058 pshufd $0x0e,%xmm0,%xmm0
4059 movups -32(%rcx),%xmm4
4063 movdqa 64-128(%rax),%xmm0
4065 .byte 102,68,15,56,0,235
4066 .byte 69,15,56,204,211
4067 movups -16(%rcx),%xmm5
4070 pshufd $0x0e,%xmm0,%xmm0
4072 .byte 102,65,15,58,15,220,4
4074 movups 0(%rcx),%xmm4
4078 movdqa 96-128(%rax),%xmm0
4080 .byte 69,15,56,205,213
4081 .byte 69,15,56,204,220
4082 movups 16(%rcx),%xmm5
4085 pshufd $0x0e,%xmm0,%xmm0
4086 movups 32(%rcx),%xmm4
4089 .byte 102,65,15,58,15,221,4
4092 movdqa 128-128(%rax),%xmm0
4094 .byte 69,15,56,205,218
4095 .byte 69,15,56,204,229
4096 movups 48(%rcx),%xmm5
4099 pshufd $0x0e,%xmm0,%xmm0
4101 .byte 102,65,15,58,15,218,4
4105 movups 64(%rcx),%xmm4
4107 movups 80(%rcx),%xmm5
4110 movups 96(%rcx),%xmm4
4112 movups 112(%rcx),%xmm5
4115 aesenclast %xmm5,%xmm6
4116 movups 16-112(%rcx),%xmm4
4119 movups 16(%rdi),%xmm14
4121 movups %xmm6,0(%rsi,%rdi,1)
4123 movups -80(%rcx),%xmm5
4125 movdqa 160-128(%rax),%xmm0
4127 .byte 69,15,56,205,227
4128 .byte 69,15,56,204,234
4129 movups -64(%rcx),%xmm4
4132 pshufd $0x0e,%xmm0,%xmm0
4134 .byte 102,65,15,58,15,219,4
4136 movups -48(%rcx),%xmm5
4139 movdqa 192-128(%rax),%xmm0
4141 .byte 69,15,56,205,236
4142 .byte 69,15,56,204,211
4143 movups -32(%rcx),%xmm4
4146 pshufd $0x0e,%xmm0,%xmm0
4148 .byte 102,65,15,58,15,220,4
4150 movups -16(%rcx),%xmm5
4153 movdqa 224-128(%rax),%xmm0
4155 .byte 69,15,56,205,213
4156 .byte 69,15,56,204,220
4157 movups 0(%rcx),%xmm4
4160 pshufd $0x0e,%xmm0,%xmm0
4162 .byte 102,65,15,58,15,221,4
4164 movups 16(%rcx),%xmm5
4167 movdqa 256-128(%rax),%xmm0
4169 .byte 69,15,56,205,218
4170 .byte 69,15,56,204,229
4171 movups 32(%rcx),%xmm4
4174 pshufd $0x0e,%xmm0,%xmm0
4176 .byte 102,65,15,58,15,218,4
4178 movups 48(%rcx),%xmm5
4182 movups 64(%rcx),%xmm4
4184 movups 80(%rcx),%xmm5
4187 movups 96(%rcx),%xmm4
4189 movups 112(%rcx),%xmm5
4192 aesenclast %xmm5,%xmm6
4193 movups 16-112(%rcx),%xmm4
4196 movups 32(%rdi),%xmm14
4198 movups %xmm6,16(%rsi,%rdi,1)
4200 movups -80(%rcx),%xmm5
4202 movdqa 288-128(%rax),%xmm0
4204 .byte 69,15,56,205,227
4205 .byte 69,15,56,204,234
4206 movups -64(%rcx),%xmm4
4209 pshufd $0x0e,%xmm0,%xmm0
4211 .byte 102,65,15,58,15,219,4
4213 movups -48(%rcx),%xmm5
4216 movdqa 320-128(%rax),%xmm0
4218 .byte 69,15,56,205,236
4219 .byte 69,15,56,204,211
4220 movups -32(%rcx),%xmm4
4223 pshufd $0x0e,%xmm0,%xmm0
4225 .byte 102,65,15,58,15,220,4
4227 movups -16(%rcx),%xmm5
4230 movdqa 352-128(%rax),%xmm0
4232 .byte 69,15,56,205,213
4233 .byte 69,15,56,204,220
4234 movups 0(%rcx),%xmm4
4237 pshufd $0x0e,%xmm0,%xmm0
4239 .byte 102,65,15,58,15,221,4
4241 movups 16(%rcx),%xmm5
4244 movdqa 384-128(%rax),%xmm0
4246 .byte 69,15,56,205,218
4247 .byte 69,15,56,204,229
4248 movups 32(%rcx),%xmm4
4251 pshufd $0x0e,%xmm0,%xmm0
4253 .byte 102,65,15,58,15,218,4
4255 movups 48(%rcx),%xmm5
4258 movdqa 416-128(%rax),%xmm0
4260 .byte 69,15,56,205,227
4261 .byte 69,15,56,204,234
4264 movups 64(%rcx),%xmm4
4266 movups 80(%rcx),%xmm5
4269 movups 96(%rcx),%xmm4
4271 movups 112(%rcx),%xmm5
4274 aesenclast %xmm5,%xmm6
4275 movups 16-112(%rcx),%xmm4
4278 pshufd $0x0e,%xmm0,%xmm0
4280 .byte 102,65,15,58,15,219,4
4282 movups 48(%rdi),%xmm14
4284 movups %xmm6,32(%rsi,%rdi,1)
4286 movups -80(%rcx),%xmm5
4288 movups -64(%rcx),%xmm4
4292 movdqa 448-128(%rax),%xmm0
4294 .byte 69,15,56,205,236
4296 movups -48(%rcx),%xmm5
4299 pshufd $0x0e,%xmm0,%xmm0
4300 movups -32(%rcx),%xmm4
4304 movdqa 480-128(%rax),%xmm0
4306 movups -16(%rcx),%xmm5
4308 movups 0(%rcx),%xmm4
4311 pshufd $0x0e,%xmm0,%xmm0
4312 movups 16(%rcx),%xmm5
4316 movups 32(%rcx),%xmm4
4318 movups 48(%rcx),%xmm5
4322 movups 64(%rcx),%xmm4
4324 movups 80(%rcx),%xmm5
4327 movups 96(%rcx),%xmm4
4329 movups 112(%rcx),%xmm5
4332 aesenclast %xmm5,%xmm6
4333 movups 16-112(%rcx),%xmm4
4340 movups %xmm6,48(%rsi,%rdi,1)
4344 pshufd $0xb1,%xmm2,%xmm2
4345 pshufd $0x1b,%xmm1,%xmm3
4346 pshufd $0xb1,%xmm1,%xmm1
4347 punpckhqdq %xmm2,%xmm1
4348 .byte 102,15,58,15,211,8
4352 movdqu %xmm2,16(%r9)
4354 .size aesni_cbc_sha256_enc_shaext,.-aesni_cbc_sha256_enc_shaext
4355 .section .note.GNU-stack,"",%progbits