Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(251)

Side by Side Diff: third_party/boringssl/mac-x86/crypto/sha/sha1-586.S

Issue 1924693003: Rolls BoringSSL forward (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 #if defined(__i386__) 1 #if defined(__i386__)
2 .file "sha1-586.S" 2 .file "sha1-586.S"
3 .text 3 .text
4 .globl _sha1_block_data_order 4 .globl _sha1_block_data_order
5 .private_extern _sha1_block_data_order 5 .private_extern _sha1_block_data_order
6 .align 4 6 .align 4
7 _sha1_block_data_order: 7 _sha1_block_data_order:
8 L_sha1_block_data_order_begin: 8 L_sha1_block_data_order_begin:
9 pushl %ebp 9 pushl %ebp
10 pushl %ebx 10 pushl %ebx
11 pushl %esi 11 pushl %esi
12 pushl %edi 12 pushl %edi
13 call L000pic_point 13 call L000pic_point
14 L000pic_point: 14 L000pic_point:
15 popl %ebp 15 popl %ebp
16 movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L000pic_point(%ebp),%esi 16 movl L_OPENSSL_ia32cap_P$non_lazy_ptr-L000pic_point(%ebp),%esi
17 leal LK_XX_XX-L000pic_point(%ebp),%ebp 17 leal LK_XX_XX-L000pic_point(%ebp),%ebp
18 movl (%esi),%eax 18 movl (%esi),%eax
19 movl 4(%esi),%edx 19 movl 4(%esi),%edx
20 testl $512,%edx 20 testl $512,%edx
21 jz L001x86 21 jz L001x86
22 movl 8(%esi),%ecx 22 movl 8(%esi),%ecx
23 testl $16777216,%eax 23 testl $16777216,%eax
24 jz L001x86 24 jz L001x86
25 » testl» $536870912,%ecx 25 » andl» $268435456,%edx
26 » jnz» Lshaext_shortcut 26 » andl» $1073741824,%eax
27 » orl» %edx,%eax
28 » cmpl» $1342177280,%eax
29 » je» Lavx_shortcut
27 jmp Lssse3_shortcut 30 jmp Lssse3_shortcut
28 .align 4,0x90 31 .align 4,0x90
29 L001x86: 32 L001x86:
30 movl 20(%esp),%ebp 33 movl 20(%esp),%ebp
31 movl 24(%esp),%esi 34 movl 24(%esp),%esi
32 movl 28(%esp),%eax 35 movl 28(%esp),%eax
33 subl $76,%esp 36 subl $76,%esp
34 shll $6,%eax 37 shll $6,%eax
35 addl %esi,%eax 38 addl %esi,%eax
36 movl %eax,104(%esp) 39 movl %eax,104(%esp)
(...skipping 1347 matching lines...) Expand 10 before | Expand all | Expand 10 after
1384 movl %ebx,12(%ebp) 1387 movl %ebx,12(%ebp)
1385 movl %edx,%esi 1388 movl %edx,%esi
1386 movl %ecx,16(%ebp) 1389 movl %ecx,16(%ebp)
1387 jb L002loop 1390 jb L002loop
1388 addl $76,%esp 1391 addl $76,%esp
1389 popl %edi 1392 popl %edi
1390 popl %esi 1393 popl %esi
1391 popl %ebx 1394 popl %ebx
1392 popl %ebp 1395 popl %ebp
1393 ret 1396 ret
1394 .private_extern»__sha1_block_data_order_shaext 1397 .private_extern»__sha1_block_data_order_ssse3
1395 .align 4 1398 .align 4
1396 __sha1_block_data_order_shaext: 1399 __sha1_block_data_order_ssse3:
1397 pushl %ebp 1400 pushl %ebp
1398 pushl %ebx 1401 pushl %ebx
1399 pushl %esi 1402 pushl %esi
1400 pushl %edi 1403 pushl %edi
1401 call L003pic_point 1404 call L003pic_point
1402 L003pic_point: 1405 L003pic_point:
1403 popl %ebp 1406 popl %ebp
1404 leal LK_XX_XX-L003pic_point(%ebp),%ebp 1407 leal LK_XX_XX-L003pic_point(%ebp),%ebp
1405 Lshaext_shortcut:
1406 movl 20(%esp),%edi
1407 movl %esp,%ebx
1408 movl 24(%esp),%esi
1409 movl 28(%esp),%ecx
1410 subl $32,%esp
1411 movdqu (%edi),%xmm0
1412 movd 16(%edi),%xmm1
1413 andl $-32,%esp
1414 movdqa 80(%ebp),%xmm3
1415 movdqu (%esi),%xmm4
1416 pshufd $27,%xmm0,%xmm0
1417 movdqu 16(%esi),%xmm5
1418 pshufd $27,%xmm1,%xmm1
1419 movdqu 32(%esi),%xmm6
1420 .byte 102,15,56,0,227
1421 movdqu 48(%esi),%xmm7
1422 .byte 102,15,56,0,235
1423 .byte 102,15,56,0,243
1424 .byte 102,15,56,0,251
1425 jmp L004loop_shaext
1426 .align 4,0x90
1427 L004loop_shaext:
1428 decl %ecx
1429 leal 64(%esi),%eax
1430 movdqa %xmm1,(%esp)
1431 paddd %xmm4,%xmm1
1432 cmovnel %eax,%esi
1433 movdqa %xmm0,16(%esp)
1434 .byte 15,56,201,229
1435 movdqa %xmm0,%xmm2
1436 .byte 15,58,204,193,0
1437 .byte 15,56,200,213
1438 pxor %xmm6,%xmm4
1439 .byte 15,56,201,238
1440 .byte 15,56,202,231
1441 movdqa %xmm0,%xmm1
1442 .byte 15,58,204,194,0
1443 .byte 15,56,200,206
1444 pxor %xmm7,%xmm5
1445 .byte 15,56,202,236
1446 .byte 15,56,201,247
1447 movdqa %xmm0,%xmm2
1448 .byte 15,58,204,193,0
1449 .byte 15,56,200,215
1450 pxor %xmm4,%xmm6
1451 .byte 15,56,201,252
1452 .byte 15,56,202,245
1453 movdqa %xmm0,%xmm1
1454 .byte 15,58,204,194,0
1455 .byte 15,56,200,204
1456 pxor %xmm5,%xmm7
1457 .byte 15,56,202,254
1458 .byte 15,56,201,229
1459 movdqa %xmm0,%xmm2
1460 .byte 15,58,204,193,0
1461 .byte 15,56,200,213
1462 pxor %xmm6,%xmm4
1463 .byte 15,56,201,238
1464 .byte 15,56,202,231
1465 movdqa %xmm0,%xmm1
1466 .byte 15,58,204,194,1
1467 .byte 15,56,200,206
1468 pxor %xmm7,%xmm5
1469 .byte 15,56,202,236
1470 .byte 15,56,201,247
1471 movdqa %xmm0,%xmm2
1472 .byte 15,58,204,193,1
1473 .byte 15,56,200,215
1474 pxor %xmm4,%xmm6
1475 .byte 15,56,201,252
1476 .byte 15,56,202,245
1477 movdqa %xmm0,%xmm1
1478 .byte 15,58,204,194,1
1479 .byte 15,56,200,204
1480 pxor %xmm5,%xmm7
1481 .byte 15,56,202,254
1482 .byte 15,56,201,229
1483 movdqa %xmm0,%xmm2
1484 .byte 15,58,204,193,1
1485 .byte 15,56,200,213
1486 pxor %xmm6,%xmm4
1487 .byte 15,56,201,238
1488 .byte 15,56,202,231
1489 movdqa %xmm0,%xmm1
1490 .byte 15,58,204,194,1
1491 .byte 15,56,200,206
1492 pxor %xmm7,%xmm5
1493 .byte 15,56,202,236
1494 .byte 15,56,201,247
1495 movdqa %xmm0,%xmm2
1496 .byte 15,58,204,193,2
1497 .byte 15,56,200,215
1498 pxor %xmm4,%xmm6
1499 .byte 15,56,201,252
1500 .byte 15,56,202,245
1501 movdqa %xmm0,%xmm1
1502 .byte 15,58,204,194,2
1503 .byte 15,56,200,204
1504 pxor %xmm5,%xmm7
1505 .byte 15,56,202,254
1506 .byte 15,56,201,229
1507 movdqa %xmm0,%xmm2
1508 .byte 15,58,204,193,2
1509 .byte 15,56,200,213
1510 pxor %xmm6,%xmm4
1511 .byte 15,56,201,238
1512 .byte 15,56,202,231
1513 movdqa %xmm0,%xmm1
1514 .byte 15,58,204,194,2
1515 .byte 15,56,200,206
1516 pxor %xmm7,%xmm5
1517 .byte 15,56,202,236
1518 .byte 15,56,201,247
1519 movdqa %xmm0,%xmm2
1520 .byte 15,58,204,193,2
1521 .byte 15,56,200,215
1522 pxor %xmm4,%xmm6
1523 .byte 15,56,201,252
1524 .byte 15,56,202,245
1525 movdqa %xmm0,%xmm1
1526 .byte 15,58,204,194,3
1527 .byte 15,56,200,204
1528 pxor %xmm5,%xmm7
1529 .byte 15,56,202,254
1530 movdqu (%esi),%xmm4
1531 movdqa %xmm0,%xmm2
1532 .byte 15,58,204,193,3
1533 .byte 15,56,200,213
1534 movdqu 16(%esi),%xmm5
1535 .byte 102,15,56,0,227
1536 movdqa %xmm0,%xmm1
1537 .byte 15,58,204,194,3
1538 .byte 15,56,200,206
1539 movdqu 32(%esi),%xmm6
1540 .byte 102,15,56,0,235
1541 movdqa %xmm0,%xmm2
1542 .byte 15,58,204,193,3
1543 .byte 15,56,200,215
1544 movdqu 48(%esi),%xmm7
1545 .byte 102,15,56,0,243
1546 movdqa %xmm0,%xmm1
1547 .byte 15,58,204,194,3
1548 movdqa (%esp),%xmm2
1549 .byte 102,15,56,0,251
1550 .byte 15,56,200,202
1551 paddd 16(%esp),%xmm0
1552 jnz L004loop_shaext
1553 pshufd $27,%xmm0,%xmm0
1554 pshufd $27,%xmm1,%xmm1
1555 movdqu %xmm0,(%edi)
1556 movd %xmm1,16(%edi)
1557 movl %ebx,%esp
1558 popl %edi
1559 popl %esi
1560 popl %ebx
1561 popl %ebp
1562 ret
1563 .private_extern __sha1_block_data_order_ssse3
1564 .align 4
1565 __sha1_block_data_order_ssse3:
1566 pushl %ebp
1567 pushl %ebx
1568 pushl %esi
1569 pushl %edi
1570 call L005pic_point
1571 L005pic_point:
1572 popl %ebp
1573 leal LK_XX_XX-L005pic_point(%ebp),%ebp
1574 Lssse3_shortcut: 1408 Lssse3_shortcut:
1575 movdqa (%ebp),%xmm7 1409 movdqa (%ebp),%xmm7
1576 movdqa 16(%ebp),%xmm0 1410 movdqa 16(%ebp),%xmm0
1577 movdqa 32(%ebp),%xmm1 1411 movdqa 32(%ebp),%xmm1
1578 movdqa 48(%ebp),%xmm2 1412 movdqa 48(%ebp),%xmm2
1579 movdqa 64(%ebp),%xmm6 1413 movdqa 64(%ebp),%xmm6
1580 movl 20(%esp),%edi 1414 movl 20(%esp),%edi
1581 movl 24(%esp),%ebp 1415 movl 24(%esp),%ebp
1582 movl 28(%esp),%edx 1416 movl 28(%esp),%edx
1583 movl %esp,%esi 1417 movl %esp,%esi
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1616 movdqa %xmm0,(%esp) 1450 movdqa %xmm0,(%esp)
1617 psubd %xmm7,%xmm0 1451 psubd %xmm7,%xmm0
1618 movdqa %xmm1,16(%esp) 1452 movdqa %xmm1,16(%esp)
1619 psubd %xmm7,%xmm1 1453 psubd %xmm7,%xmm1
1620 movdqa %xmm2,32(%esp) 1454 movdqa %xmm2,32(%esp)
1621 movl %ecx,%ebp 1455 movl %ecx,%ebp
1622 psubd %xmm7,%xmm2 1456 psubd %xmm7,%xmm2
1623 xorl %edx,%ebp 1457 xorl %edx,%ebp
1624 pshufd $238,%xmm0,%xmm4 1458 pshufd $238,%xmm0,%xmm4
1625 andl %ebp,%esi 1459 andl %ebp,%esi
1626 » jmp» L006loop 1460 » jmp» L004loop
1627 .align 4,0x90 1461 .align 4,0x90
1628 L006loop: 1462 L004loop:
1629 rorl $2,%ebx 1463 rorl $2,%ebx
1630 xorl %edx,%esi 1464 xorl %edx,%esi
1631 movl %eax,%ebp 1465 movl %eax,%ebp
1632 punpcklqdq %xmm1,%xmm4 1466 punpcklqdq %xmm1,%xmm4
1633 movdqa %xmm3,%xmm6 1467 movdqa %xmm3,%xmm6
1634 addl (%esp),%edi 1468 addl (%esp),%edi
1635 xorl %ecx,%ebx 1469 xorl %ecx,%ebx
1636 paddd %xmm3,%xmm7 1470 paddd %xmm3,%xmm7
1637 movdqa %xmm0,64(%esp) 1471 movdqa %xmm0,64(%esp)
1638 roll $5,%eax 1472 roll $5,%eax
(...skipping 882 matching lines...) Expand 10 before | Expand all | Expand 10 after
2521 addl 12(%esp),%ecx 2355 addl 12(%esp),%ecx
2522 xorl %eax,%ebp 2356 xorl %eax,%ebp
2523 movl %edx,%esi 2357 movl %edx,%esi
2524 roll $5,%edx 2358 roll $5,%edx
2525 addl %ebp,%ecx 2359 addl %ebp,%ecx
2526 xorl %eax,%esi 2360 xorl %eax,%esi
2527 rorl $7,%edi 2361 rorl $7,%edi
2528 addl %edx,%ecx 2362 addl %edx,%ecx
2529 movl 196(%esp),%ebp 2363 movl 196(%esp),%ebp
2530 cmpl 200(%esp),%ebp 2364 cmpl 200(%esp),%ebp
2531 » je» L007done 2365 » je» L005done
2532 movdqa 160(%esp),%xmm7 2366 movdqa 160(%esp),%xmm7
2533 movdqa 176(%esp),%xmm6 2367 movdqa 176(%esp),%xmm6
2534 movdqu (%ebp),%xmm0 2368 movdqu (%ebp),%xmm0
2535 movdqu 16(%ebp),%xmm1 2369 movdqu 16(%ebp),%xmm1
2536 movdqu 32(%ebp),%xmm2 2370 movdqu 32(%ebp),%xmm2
2537 movdqu 48(%ebp),%xmm3 2371 movdqu 48(%ebp),%xmm3
2538 addl $64,%ebp 2372 addl $64,%ebp
2539 .byte 102,15,56,0,198 2373 .byte 102,15,56,0,198
2540 movl %ebp,196(%esp) 2374 movl %ebp,196(%esp)
2541 movdqa %xmm7,96(%esp) 2375 movdqa %xmm7,96(%esp)
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
2656 addl 16(%ebp),%edi 2490 addl 16(%ebp),%edi
2657 movl %ecx,8(%ebp) 2491 movl %ecx,8(%ebp)
2658 movl %ecx,%ebx 2492 movl %ecx,%ebx
2659 movl %edx,12(%ebp) 2493 movl %edx,12(%ebp)
2660 xorl %edx,%ebx 2494 xorl %edx,%ebx
2661 movl %edi,16(%ebp) 2495 movl %edi,16(%ebp)
2662 movl %esi,%ebp 2496 movl %esi,%ebp
2663 pshufd $238,%xmm0,%xmm4 2497 pshufd $238,%xmm0,%xmm4
2664 andl %ebx,%esi 2498 andl %ebx,%esi
2665 movl %ebp,%ebx 2499 movl %ebp,%ebx
2666 » jmp» L006loop 2500 » jmp» L004loop
2667 .align 4,0x90 2501 .align 4,0x90
2668 L007done: 2502 L005done:
2669 addl 16(%esp),%ebx 2503 addl 16(%esp),%ebx
2670 xorl %edi,%esi 2504 xorl %edi,%esi
2671 movl %ecx,%ebp 2505 movl %ecx,%ebp
2672 roll $5,%ecx 2506 roll $5,%ecx
2673 addl %esi,%ebx 2507 addl %esi,%ebx
2674 xorl %edi,%ebp 2508 xorl %edi,%ebp
2675 rorl $7,%edx 2509 rorl $7,%edx
2676 addl %ecx,%ebx 2510 addl %ecx,%ebx
2677 addl 20(%esp),%eax 2511 addl 20(%esp),%eax
2678 xorl %edx,%ebp 2512 xorl %edx,%ebp
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
2771 movl %esi,4(%ebp) 2605 movl %esi,4(%ebp)
2772 addl 16(%ebp),%edi 2606 addl 16(%ebp),%edi
2773 movl %ecx,8(%ebp) 2607 movl %ecx,8(%ebp)
2774 movl %edx,12(%ebp) 2608 movl %edx,12(%ebp)
2775 movl %edi,16(%ebp) 2609 movl %edi,16(%ebp)
2776 popl %edi 2610 popl %edi
2777 popl %esi 2611 popl %esi
2778 popl %ebx 2612 popl %ebx
2779 popl %ebp 2613 popl %ebp
2780 ret 2614 ret
2615 .private_extern __sha1_block_data_order_avx
2616 .align 4
2617 __sha1_block_data_order_avx:
2618 pushl %ebp
2619 pushl %ebx
2620 pushl %esi
2621 pushl %edi
2622 call L006pic_point
2623 L006pic_point:
2624 popl %ebp
2625 leal LK_XX_XX-L006pic_point(%ebp),%ebp
2626 Lavx_shortcut:
2627 vzeroall
2628 vmovdqa (%ebp),%xmm7
2629 vmovdqa 16(%ebp),%xmm0
2630 vmovdqa 32(%ebp),%xmm1
2631 vmovdqa 48(%ebp),%xmm2
2632 vmovdqa 64(%ebp),%xmm6
2633 movl 20(%esp),%edi
2634 movl 24(%esp),%ebp
2635 movl 28(%esp),%edx
2636 movl %esp,%esi
2637 subl $208,%esp
2638 andl $-64,%esp
2639 vmovdqa %xmm0,112(%esp)
2640 vmovdqa %xmm1,128(%esp)
2641 vmovdqa %xmm2,144(%esp)
2642 shll $6,%edx
2643 vmovdqa %xmm7,160(%esp)
2644 addl %ebp,%edx
2645 vmovdqa %xmm6,176(%esp)
2646 addl $64,%ebp
2647 movl %edi,192(%esp)
2648 movl %ebp,196(%esp)
2649 movl %edx,200(%esp)
2650 movl %esi,204(%esp)
2651 movl (%edi),%eax
2652 movl 4(%edi),%ebx
2653 movl 8(%edi),%ecx
2654 movl 12(%edi),%edx
2655 movl 16(%edi),%edi
2656 movl %ebx,%esi
2657 vmovdqu -64(%ebp),%xmm0
2658 vmovdqu -48(%ebp),%xmm1
2659 vmovdqu -32(%ebp),%xmm2
2660 vmovdqu -16(%ebp),%xmm3
2661 vpshufb %xmm6,%xmm0,%xmm0
2662 vpshufb %xmm6,%xmm1,%xmm1
2663 vpshufb %xmm6,%xmm2,%xmm2
2664 vmovdqa %xmm7,96(%esp)
2665 vpshufb %xmm6,%xmm3,%xmm3
2666 vpaddd %xmm7,%xmm0,%xmm4
2667 vpaddd %xmm7,%xmm1,%xmm5
2668 vpaddd %xmm7,%xmm2,%xmm6
2669 vmovdqa %xmm4,(%esp)
2670 movl %ecx,%ebp
2671 vmovdqa %xmm5,16(%esp)
2672 xorl %edx,%ebp
2673 vmovdqa %xmm6,32(%esp)
2674 andl %ebp,%esi
2675 jmp L007loop
2676 .align 4,0x90
2677 L007loop:
2678 shrdl $2,%ebx,%ebx
2679 xorl %edx,%esi
2680 vpalignr $8,%xmm0,%xmm1,%xmm4
2681 movl %eax,%ebp
2682 addl (%esp),%edi
2683 vpaddd %xmm3,%xmm7,%xmm7
2684 vmovdqa %xmm0,64(%esp)
2685 xorl %ecx,%ebx
2686 shldl $5,%eax,%eax
2687 vpsrldq $4,%xmm3,%xmm6
2688 addl %esi,%edi
2689 andl %ebx,%ebp
2690 vpxor %xmm0,%xmm4,%xmm4
2691 xorl %ecx,%ebx
2692 addl %eax,%edi
2693 vpxor %xmm2,%xmm6,%xmm6
2694 shrdl $7,%eax,%eax
2695 xorl %ecx,%ebp
2696 vmovdqa %xmm7,48(%esp)
2697 movl %edi,%esi
2698 addl 4(%esp),%edx
2699 vpxor %xmm6,%xmm4,%xmm4
2700 xorl %ebx,%eax
2701 shldl $5,%edi,%edi
2702 addl %ebp,%edx
2703 andl %eax,%esi
2704 vpsrld $31,%xmm4,%xmm6
2705 xorl %ebx,%eax
2706 addl %edi,%edx
2707 shrdl $7,%edi,%edi
2708 xorl %ebx,%esi
2709 vpslldq $12,%xmm4,%xmm0
2710 vpaddd %xmm4,%xmm4,%xmm4
2711 movl %edx,%ebp
2712 addl 8(%esp),%ecx
2713 xorl %eax,%edi
2714 shldl $5,%edx,%edx
2715 vpsrld $30,%xmm0,%xmm7
2716 vpor %xmm6,%xmm4,%xmm4
2717 addl %esi,%ecx
2718 andl %edi,%ebp
2719 xorl %eax,%edi
2720 addl %edx,%ecx
2721 vpslld $2,%xmm0,%xmm0
2722 shrdl $7,%edx,%edx
2723 xorl %eax,%ebp
2724 vpxor %xmm7,%xmm4,%xmm4
2725 movl %ecx,%esi
2726 addl 12(%esp),%ebx
2727 xorl %edi,%edx
2728 shldl $5,%ecx,%ecx
2729 vpxor %xmm0,%xmm4,%xmm4
2730 addl %ebp,%ebx
2731 andl %edx,%esi
2732 vmovdqa 96(%esp),%xmm0
2733 xorl %edi,%edx
2734 addl %ecx,%ebx
2735 shrdl $7,%ecx,%ecx
2736 xorl %edi,%esi
2737 vpalignr $8,%xmm1,%xmm2,%xmm5
2738 movl %ebx,%ebp
2739 addl 16(%esp),%eax
2740 vpaddd %xmm4,%xmm0,%xmm0
2741 vmovdqa %xmm1,80(%esp)
2742 xorl %edx,%ecx
2743 shldl $5,%ebx,%ebx
2744 vpsrldq $4,%xmm4,%xmm7
2745 addl %esi,%eax
2746 andl %ecx,%ebp
2747 vpxor %xmm1,%xmm5,%xmm5
2748 xorl %edx,%ecx
2749 addl %ebx,%eax
2750 vpxor %xmm3,%xmm7,%xmm7
2751 shrdl $7,%ebx,%ebx
2752 xorl %edx,%ebp
2753 vmovdqa %xmm0,(%esp)
2754 movl %eax,%esi
2755 addl 20(%esp),%edi
2756 vpxor %xmm7,%xmm5,%xmm5
2757 xorl %ecx,%ebx
2758 shldl $5,%eax,%eax
2759 addl %ebp,%edi
2760 andl %ebx,%esi
2761 vpsrld $31,%xmm5,%xmm7
2762 xorl %ecx,%ebx
2763 addl %eax,%edi
2764 shrdl $7,%eax,%eax
2765 xorl %ecx,%esi
2766 vpslldq $12,%xmm5,%xmm1
2767 vpaddd %xmm5,%xmm5,%xmm5
2768 movl %edi,%ebp
2769 addl 24(%esp),%edx
2770 xorl %ebx,%eax
2771 shldl $5,%edi,%edi
2772 vpsrld $30,%xmm1,%xmm0
2773 vpor %xmm7,%xmm5,%xmm5
2774 addl %esi,%edx
2775 andl %eax,%ebp
2776 xorl %ebx,%eax
2777 addl %edi,%edx
2778 vpslld $2,%xmm1,%xmm1
2779 shrdl $7,%edi,%edi
2780 xorl %ebx,%ebp
2781 vpxor %xmm0,%xmm5,%xmm5
2782 movl %edx,%esi
2783 addl 28(%esp),%ecx
2784 xorl %eax,%edi
2785 shldl $5,%edx,%edx
2786 vpxor %xmm1,%xmm5,%xmm5
2787 addl %ebp,%ecx
2788 andl %edi,%esi
2789 vmovdqa 112(%esp),%xmm1
2790 xorl %eax,%edi
2791 addl %edx,%ecx
2792 shrdl $7,%edx,%edx
2793 xorl %eax,%esi
2794 vpalignr $8,%xmm2,%xmm3,%xmm6
2795 movl %ecx,%ebp
2796 addl 32(%esp),%ebx
2797 vpaddd %xmm5,%xmm1,%xmm1
2798 vmovdqa %xmm2,96(%esp)
2799 xorl %edi,%edx
2800 shldl $5,%ecx,%ecx
2801 vpsrldq $4,%xmm5,%xmm0
2802 addl %esi,%ebx
2803 andl %edx,%ebp
2804 vpxor %xmm2,%xmm6,%xmm6
2805 xorl %edi,%edx
2806 addl %ecx,%ebx
2807 vpxor %xmm4,%xmm0,%xmm0
2808 shrdl $7,%ecx,%ecx
2809 xorl %edi,%ebp
2810 vmovdqa %xmm1,16(%esp)
2811 movl %ebx,%esi
2812 addl 36(%esp),%eax
2813 vpxor %xmm0,%xmm6,%xmm6
2814 xorl %edx,%ecx
2815 shldl $5,%ebx,%ebx
2816 addl %ebp,%eax
2817 andl %ecx,%esi
2818 vpsrld $31,%xmm6,%xmm0
2819 xorl %edx,%ecx
2820 addl %ebx,%eax
2821 shrdl $7,%ebx,%ebx
2822 xorl %edx,%esi
2823 vpslldq $12,%xmm6,%xmm2
2824 vpaddd %xmm6,%xmm6,%xmm6
2825 movl %eax,%ebp
2826 addl 40(%esp),%edi
2827 xorl %ecx,%ebx
2828 shldl $5,%eax,%eax
2829 vpsrld $30,%xmm2,%xmm1
2830 vpor %xmm0,%xmm6,%xmm6
2831 addl %esi,%edi
2832 andl %ebx,%ebp
2833 xorl %ecx,%ebx
2834 addl %eax,%edi
2835 vpslld $2,%xmm2,%xmm2
2836 vmovdqa 64(%esp),%xmm0
2837 shrdl $7,%eax,%eax
2838 xorl %ecx,%ebp
2839 vpxor %xmm1,%xmm6,%xmm6
2840 movl %edi,%esi
2841 addl 44(%esp),%edx
2842 xorl %ebx,%eax
2843 shldl $5,%edi,%edi
2844 vpxor %xmm2,%xmm6,%xmm6
2845 addl %ebp,%edx
2846 andl %eax,%esi
2847 vmovdqa 112(%esp),%xmm2
2848 xorl %ebx,%eax
2849 addl %edi,%edx
2850 shrdl $7,%edi,%edi
2851 xorl %ebx,%esi
2852 vpalignr $8,%xmm3,%xmm4,%xmm7
2853 movl %edx,%ebp
2854 addl 48(%esp),%ecx
2855 vpaddd %xmm6,%xmm2,%xmm2
2856 vmovdqa %xmm3,64(%esp)
2857 xorl %eax,%edi
2858 shldl $5,%edx,%edx
2859 vpsrldq $4,%xmm6,%xmm1
2860 addl %esi,%ecx
2861 andl %edi,%ebp
2862 vpxor %xmm3,%xmm7,%xmm7
2863 xorl %eax,%edi
2864 addl %edx,%ecx
2865 vpxor %xmm5,%xmm1,%xmm1
2866 shrdl $7,%edx,%edx
2867 xorl %eax,%ebp
2868 vmovdqa %xmm2,32(%esp)
2869 movl %ecx,%esi
2870 addl 52(%esp),%ebx
2871 vpxor %xmm1,%xmm7,%xmm7
2872 xorl %edi,%edx
2873 shldl $5,%ecx,%ecx
2874 addl %ebp,%ebx
2875 andl %edx,%esi
2876 vpsrld $31,%xmm7,%xmm1
2877 xorl %edi,%edx
2878 addl %ecx,%ebx
2879 shrdl $7,%ecx,%ecx
2880 xorl %edi,%esi
2881 vpslldq $12,%xmm7,%xmm3
2882 vpaddd %xmm7,%xmm7,%xmm7
2883 movl %ebx,%ebp
2884 addl 56(%esp),%eax
2885 xorl %edx,%ecx
2886 shldl $5,%ebx,%ebx
2887 vpsrld $30,%xmm3,%xmm2
2888 vpor %xmm1,%xmm7,%xmm7
2889 addl %esi,%eax
2890 andl %ecx,%ebp
2891 xorl %edx,%ecx
2892 addl %ebx,%eax
2893 vpslld $2,%xmm3,%xmm3
2894 vmovdqa 80(%esp),%xmm1
2895 shrdl $7,%ebx,%ebx
2896 xorl %edx,%ebp
2897 vpxor %xmm2,%xmm7,%xmm7
2898 movl %eax,%esi
2899 addl 60(%esp),%edi
2900 xorl %ecx,%ebx
2901 shldl $5,%eax,%eax
2902 vpxor %xmm3,%xmm7,%xmm7
2903 addl %ebp,%edi
2904 andl %ebx,%esi
2905 vmovdqa 112(%esp),%xmm3
2906 xorl %ecx,%ebx
2907 addl %eax,%edi
2908 vpalignr $8,%xmm6,%xmm7,%xmm2
2909 vpxor %xmm4,%xmm0,%xmm0
2910 shrdl $7,%eax,%eax
2911 xorl %ecx,%esi
2912 movl %edi,%ebp
2913 addl (%esp),%edx
2914 vpxor %xmm1,%xmm0,%xmm0
2915 vmovdqa %xmm4,80(%esp)
2916 xorl %ebx,%eax
2917 shldl $5,%edi,%edi
2918 vmovdqa %xmm3,%xmm4
2919 vpaddd %xmm7,%xmm3,%xmm3
2920 addl %esi,%edx
2921 andl %eax,%ebp
2922 vpxor %xmm2,%xmm0,%xmm0
2923 xorl %ebx,%eax
2924 addl %edi,%edx
2925 shrdl $7,%edi,%edi
2926 xorl %ebx,%ebp
2927 vpsrld $30,%xmm0,%xmm2
2928 vmovdqa %xmm3,48(%esp)
2929 movl %edx,%esi
2930 addl 4(%esp),%ecx
2931 xorl %eax,%edi
2932 shldl $5,%edx,%edx
2933 vpslld $2,%xmm0,%xmm0
2934 addl %ebp,%ecx
2935 andl %edi,%esi
2936 xorl %eax,%edi
2937 addl %edx,%ecx
2938 shrdl $7,%edx,%edx
2939 xorl %eax,%esi
2940 movl %ecx,%ebp
2941 addl 8(%esp),%ebx
2942 vpor %xmm2,%xmm0,%xmm0
2943 xorl %edi,%edx
2944 shldl $5,%ecx,%ecx
2945 vmovdqa 96(%esp),%xmm2
2946 addl %esi,%ebx
2947 andl %edx,%ebp
2948 xorl %edi,%edx
2949 addl %ecx,%ebx
2950 addl 12(%esp),%eax
2951 xorl %edi,%ebp
2952 movl %ebx,%esi
2953 shldl $5,%ebx,%ebx
2954 addl %ebp,%eax
2955 xorl %edx,%esi
2956 shrdl $7,%ecx,%ecx
2957 addl %ebx,%eax
2958 vpalignr $8,%xmm7,%xmm0,%xmm3
2959 vpxor %xmm5,%xmm1,%xmm1
2960 addl 16(%esp),%edi
2961 xorl %ecx,%esi
2962 movl %eax,%ebp
2963 shldl $5,%eax,%eax
2964 vpxor %xmm2,%xmm1,%xmm1
2965 vmovdqa %xmm5,96(%esp)
2966 addl %esi,%edi
2967 xorl %ecx,%ebp
2968 vmovdqa %xmm4,%xmm5
2969 vpaddd %xmm0,%xmm4,%xmm4
2970 shrdl $7,%ebx,%ebx
2971 addl %eax,%edi
2972 vpxor %xmm3,%xmm1,%xmm1
2973 addl 20(%esp),%edx
2974 xorl %ebx,%ebp
2975 movl %edi,%esi
2976 shldl $5,%edi,%edi
2977 vpsrld $30,%xmm1,%xmm3
2978 vmovdqa %xmm4,(%esp)
2979 addl %ebp,%edx
2980 xorl %ebx,%esi
2981 shrdl $7,%eax,%eax
2982 addl %edi,%edx
2983 vpslld $2,%xmm1,%xmm1
2984 addl 24(%esp),%ecx
2985 xorl %eax,%esi
2986 movl %edx,%ebp
2987 shldl $5,%edx,%edx
2988 addl %esi,%ecx
2989 xorl %eax,%ebp
2990 shrdl $7,%edi,%edi
2991 addl %edx,%ecx
2992 vpor %xmm3,%xmm1,%xmm1
2993 addl 28(%esp),%ebx
2994 xorl %edi,%ebp
2995 vmovdqa 64(%esp),%xmm3
2996 movl %ecx,%esi
2997 shldl $5,%ecx,%ecx
2998 addl %ebp,%ebx
2999 xorl %edi,%esi
3000 shrdl $7,%edx,%edx
3001 addl %ecx,%ebx
3002 vpalignr $8,%xmm0,%xmm1,%xmm4
3003 vpxor %xmm6,%xmm2,%xmm2
3004 addl 32(%esp),%eax
3005 xorl %edx,%esi
3006 movl %ebx,%ebp
3007 shldl $5,%ebx,%ebx
3008 vpxor %xmm3,%xmm2,%xmm2
3009 vmovdqa %xmm6,64(%esp)
3010 addl %esi,%eax
3011 xorl %edx,%ebp
3012 vmovdqa 128(%esp),%xmm6
3013 vpaddd %xmm1,%xmm5,%xmm5
3014 shrdl $7,%ecx,%ecx
3015 addl %ebx,%eax
3016 vpxor %xmm4,%xmm2,%xmm2
3017 addl 36(%esp),%edi
3018 xorl %ecx,%ebp
3019 movl %eax,%esi
3020 shldl $5,%eax,%eax
3021 vpsrld $30,%xmm2,%xmm4
3022 vmovdqa %xmm5,16(%esp)
3023 addl %ebp,%edi
3024 xorl %ecx,%esi
3025 shrdl $7,%ebx,%ebx
3026 addl %eax,%edi
3027 vpslld $2,%xmm2,%xmm2
3028 addl 40(%esp),%edx
3029 xorl %ebx,%esi
3030 movl %edi,%ebp
3031 shldl $5,%edi,%edi
3032 addl %esi,%edx
3033 xorl %ebx,%ebp
3034 shrdl $7,%eax,%eax
3035 addl %edi,%edx
3036 vpor %xmm4,%xmm2,%xmm2
3037 addl 44(%esp),%ecx
3038 xorl %eax,%ebp
3039 vmovdqa 80(%esp),%xmm4
3040 movl %edx,%esi
3041 shldl $5,%edx,%edx
3042 addl %ebp,%ecx
3043 xorl %eax,%esi
3044 shrdl $7,%edi,%edi
3045 addl %edx,%ecx
3046 vpalignr $8,%xmm1,%xmm2,%xmm5
3047 vpxor %xmm7,%xmm3,%xmm3
3048 addl 48(%esp),%ebx
3049 xorl %edi,%esi
3050 movl %ecx,%ebp
3051 shldl $5,%ecx,%ecx
3052 vpxor %xmm4,%xmm3,%xmm3
3053 vmovdqa %xmm7,80(%esp)
3054 addl %esi,%ebx
3055 xorl %edi,%ebp
3056 vmovdqa %xmm6,%xmm7
3057 vpaddd %xmm2,%xmm6,%xmm6
3058 shrdl $7,%edx,%edx
3059 addl %ecx,%ebx
3060 vpxor %xmm5,%xmm3,%xmm3
3061 addl 52(%esp),%eax
3062 xorl %edx,%ebp
3063 movl %ebx,%esi
3064 shldl $5,%ebx,%ebx
3065 vpsrld $30,%xmm3,%xmm5
3066 vmovdqa %xmm6,32(%esp)
3067 addl %ebp,%eax
3068 xorl %edx,%esi
3069 shrdl $7,%ecx,%ecx
3070 addl %ebx,%eax
3071 vpslld $2,%xmm3,%xmm3
3072 addl 56(%esp),%edi
3073 xorl %ecx,%esi
3074 movl %eax,%ebp
3075 shldl $5,%eax,%eax
3076 addl %esi,%edi
3077 xorl %ecx,%ebp
3078 shrdl $7,%ebx,%ebx
3079 addl %eax,%edi
3080 vpor %xmm5,%xmm3,%xmm3
3081 addl 60(%esp),%edx
3082 xorl %ebx,%ebp
3083 vmovdqa 96(%esp),%xmm5
3084 movl %edi,%esi
3085 shldl $5,%edi,%edi
3086 addl %ebp,%edx
3087 xorl %ebx,%esi
3088 shrdl $7,%eax,%eax
3089 addl %edi,%edx
3090 vpalignr $8,%xmm2,%xmm3,%xmm6
3091 vpxor %xmm0,%xmm4,%xmm4
3092 addl (%esp),%ecx
3093 xorl %eax,%esi
3094 movl %edx,%ebp
3095 shldl $5,%edx,%edx
3096 vpxor %xmm5,%xmm4,%xmm4
3097 vmovdqa %xmm0,96(%esp)
3098 addl %esi,%ecx
3099 xorl %eax,%ebp
3100 vmovdqa %xmm7,%xmm0
3101 vpaddd %xmm3,%xmm7,%xmm7
3102 shrdl $7,%edi,%edi
3103 addl %edx,%ecx
3104 vpxor %xmm6,%xmm4,%xmm4
3105 addl 4(%esp),%ebx
3106 xorl %edi,%ebp
3107 movl %ecx,%esi
3108 shldl $5,%ecx,%ecx
3109 vpsrld $30,%xmm4,%xmm6
3110 vmovdqa %xmm7,48(%esp)
3111 addl %ebp,%ebx
3112 xorl %edi,%esi
3113 shrdl $7,%edx,%edx
3114 addl %ecx,%ebx
3115 vpslld $2,%xmm4,%xmm4
3116 addl 8(%esp),%eax
3117 xorl %edx,%esi
3118 movl %ebx,%ebp
3119 shldl $5,%ebx,%ebx
3120 addl %esi,%eax
3121 xorl %edx,%ebp
3122 shrdl $7,%ecx,%ecx
3123 addl %ebx,%eax
3124 vpor %xmm6,%xmm4,%xmm4
3125 addl 12(%esp),%edi
3126 xorl %ecx,%ebp
3127 vmovdqa 64(%esp),%xmm6
3128 movl %eax,%esi
3129 shldl $5,%eax,%eax
3130 addl %ebp,%edi
3131 xorl %ecx,%esi
3132 shrdl $7,%ebx,%ebx
3133 addl %eax,%edi
3134 vpalignr $8,%xmm3,%xmm4,%xmm7
3135 vpxor %xmm1,%xmm5,%xmm5
3136 addl 16(%esp),%edx
3137 xorl %ebx,%esi
3138 movl %edi,%ebp
3139 shldl $5,%edi,%edi
3140 vpxor %xmm6,%xmm5,%xmm5
3141 vmovdqa %xmm1,64(%esp)
3142 addl %esi,%edx
3143 xorl %ebx,%ebp
3144 vmovdqa %xmm0,%xmm1
3145 vpaddd %xmm4,%xmm0,%xmm0
3146 shrdl $7,%eax,%eax
3147 addl %edi,%edx
3148 vpxor %xmm7,%xmm5,%xmm5
3149 addl 20(%esp),%ecx
3150 xorl %eax,%ebp
3151 movl %edx,%esi
3152 shldl $5,%edx,%edx
3153 vpsrld $30,%xmm5,%xmm7
3154 vmovdqa %xmm0,(%esp)
3155 addl %ebp,%ecx
3156 xorl %eax,%esi
3157 shrdl $7,%edi,%edi
3158 addl %edx,%ecx
3159 vpslld $2,%xmm5,%xmm5
3160 addl 24(%esp),%ebx
3161 xorl %edi,%esi
3162 movl %ecx,%ebp
3163 shldl $5,%ecx,%ecx
3164 addl %esi,%ebx
3165 xorl %edi,%ebp
3166 shrdl $7,%edx,%edx
3167 addl %ecx,%ebx
3168 vpor %xmm7,%xmm5,%xmm5
3169 addl 28(%esp),%eax
3170 vmovdqa 80(%esp),%xmm7
3171 shrdl $7,%ecx,%ecx
3172 movl %ebx,%esi
3173 xorl %edx,%ebp
3174 shldl $5,%ebx,%ebx
3175 addl %ebp,%eax
3176 xorl %ecx,%esi
3177 xorl %edx,%ecx
3178 addl %ebx,%eax
3179 vpalignr $8,%xmm4,%xmm5,%xmm0
3180 vpxor %xmm2,%xmm6,%xmm6
3181 addl 32(%esp),%edi
3182 andl %ecx,%esi
3183 xorl %edx,%ecx
3184 shrdl $7,%ebx,%ebx
3185 vpxor %xmm7,%xmm6,%xmm6
3186 vmovdqa %xmm2,80(%esp)
3187 movl %eax,%ebp
3188 xorl %ecx,%esi
3189 vmovdqa %xmm1,%xmm2
3190 vpaddd %xmm5,%xmm1,%xmm1
3191 shldl $5,%eax,%eax
3192 addl %esi,%edi
3193 vpxor %xmm0,%xmm6,%xmm6
3194 xorl %ebx,%ebp
3195 xorl %ecx,%ebx
3196 addl %eax,%edi
3197 addl 36(%esp),%edx
3198 vpsrld $30,%xmm6,%xmm0
3199 vmovdqa %xmm1,16(%esp)
3200 andl %ebx,%ebp
3201 xorl %ecx,%ebx
3202 shrdl $7,%eax,%eax
3203 movl %edi,%esi
3204 vpslld $2,%xmm6,%xmm6
3205 xorl %ebx,%ebp
3206 shldl $5,%edi,%edi
3207 addl %ebp,%edx
3208 xorl %eax,%esi
3209 xorl %ebx,%eax
3210 addl %edi,%edx
3211 addl 40(%esp),%ecx
3212 andl %eax,%esi
3213 vpor %xmm0,%xmm6,%xmm6
3214 xorl %ebx,%eax
3215 shrdl $7,%edi,%edi
3216 vmovdqa 96(%esp),%xmm0
3217 movl %edx,%ebp
3218 xorl %eax,%esi
3219 shldl $5,%edx,%edx
3220 addl %esi,%ecx
3221 xorl %edi,%ebp
3222 xorl %eax,%edi
3223 addl %edx,%ecx
3224 addl 44(%esp),%ebx
3225 andl %edi,%ebp
3226 xorl %eax,%edi
3227 shrdl $7,%edx,%edx
3228 movl %ecx,%esi
3229 xorl %edi,%ebp
3230 shldl $5,%ecx,%ecx
3231 addl %ebp,%ebx
3232 xorl %edx,%esi
3233 xorl %edi,%edx
3234 addl %ecx,%ebx
3235 vpalignr $8,%xmm5,%xmm6,%xmm1
3236 vpxor %xmm3,%xmm7,%xmm7
3237 addl 48(%esp),%eax
3238 andl %edx,%esi
3239 xorl %edi,%edx
3240 shrdl $7,%ecx,%ecx
3241 vpxor %xmm0,%xmm7,%xmm7
3242 vmovdqa %xmm3,96(%esp)
3243 movl %ebx,%ebp
3244 xorl %edx,%esi
3245 vmovdqa 144(%esp),%xmm3
3246 vpaddd %xmm6,%xmm2,%xmm2
3247 shldl $5,%ebx,%ebx
3248 addl %esi,%eax
3249 vpxor %xmm1,%xmm7,%xmm7
3250 xorl %ecx,%ebp
3251 xorl %edx,%ecx
3252 addl %ebx,%eax
3253 addl 52(%esp),%edi
3254 vpsrld $30,%xmm7,%xmm1
3255 vmovdqa %xmm2,32(%esp)
3256 andl %ecx,%ebp
3257 xorl %edx,%ecx
3258 shrdl $7,%ebx,%ebx
3259 movl %eax,%esi
3260 vpslld $2,%xmm7,%xmm7
3261 xorl %ecx,%ebp
3262 shldl $5,%eax,%eax
3263 addl %ebp,%edi
3264 xorl %ebx,%esi
3265 xorl %ecx,%ebx
3266 addl %eax,%edi
3267 addl 56(%esp),%edx
3268 andl %ebx,%esi
3269 vpor %xmm1,%xmm7,%xmm7
3270 xorl %ecx,%ebx
3271 shrdl $7,%eax,%eax
3272 vmovdqa 64(%esp),%xmm1
3273 movl %edi,%ebp
3274 xorl %ebx,%esi
3275 shldl $5,%edi,%edi
3276 addl %esi,%edx
3277 xorl %eax,%ebp
3278 xorl %ebx,%eax
3279 addl %edi,%edx
3280 addl 60(%esp),%ecx
3281 andl %eax,%ebp
3282 xorl %ebx,%eax
3283 shrdl $7,%edi,%edi
3284 movl %edx,%esi
3285 xorl %eax,%ebp
3286 shldl $5,%edx,%edx
3287 addl %ebp,%ecx
3288 xorl %edi,%esi
3289 xorl %eax,%edi
3290 addl %edx,%ecx
3291 vpalignr $8,%xmm6,%xmm7,%xmm2
3292 vpxor %xmm4,%xmm0,%xmm0
3293 addl (%esp),%ebx
3294 andl %edi,%esi
3295 xorl %eax,%edi
3296 shrdl $7,%edx,%edx
3297 vpxor %xmm1,%xmm0,%xmm0
3298 vmovdqa %xmm4,64(%esp)
3299 movl %ecx,%ebp
3300 xorl %edi,%esi
3301 vmovdqa %xmm3,%xmm4
3302 vpaddd %xmm7,%xmm3,%xmm3
3303 shldl $5,%ecx,%ecx
3304 addl %esi,%ebx
3305 vpxor %xmm2,%xmm0,%xmm0
3306 xorl %edx,%ebp
3307 xorl %edi,%edx
3308 addl %ecx,%ebx
3309 addl 4(%esp),%eax
3310 vpsrld $30,%xmm0,%xmm2
3311 vmovdqa %xmm3,48(%esp)
3312 andl %edx,%ebp
3313 xorl %edi,%edx
3314 shrdl $7,%ecx,%ecx
3315 movl %ebx,%esi
3316 vpslld $2,%xmm0,%xmm0
3317 xorl %edx,%ebp
3318 shldl $5,%ebx,%ebx
3319 addl %ebp,%eax
3320 xorl %ecx,%esi
3321 xorl %edx,%ecx
3322 addl %ebx,%eax
3323 addl 8(%esp),%edi
3324 andl %ecx,%esi
3325 vpor %xmm2,%xmm0,%xmm0
3326 xorl %edx,%ecx
3327 shrdl $7,%ebx,%ebx
3328 vmovdqa 80(%esp),%xmm2
3329 movl %eax,%ebp
3330 xorl %ecx,%esi
3331 shldl $5,%eax,%eax
3332 addl %esi,%edi
3333 xorl %ebx,%ebp
3334 xorl %ecx,%ebx
3335 addl %eax,%edi
3336 addl 12(%esp),%edx
3337 andl %ebx,%ebp
3338 xorl %ecx,%ebx
3339 shrdl $7,%eax,%eax
3340 movl %edi,%esi
3341 xorl %ebx,%ebp
3342 shldl $5,%edi,%edi
3343 addl %ebp,%edx
3344 xorl %eax,%esi
3345 xorl %ebx,%eax
3346 addl %edi,%edx
3347 vpalignr $8,%xmm7,%xmm0,%xmm3
3348 vpxor %xmm5,%xmm1,%xmm1
3349 addl 16(%esp),%ecx
3350 andl %eax,%esi
3351 xorl %ebx,%eax
3352 shrdl $7,%edi,%edi
3353 vpxor %xmm2,%xmm1,%xmm1
3354 vmovdqa %xmm5,80(%esp)
3355 movl %edx,%ebp
3356 xorl %eax,%esi
3357 vmovdqa %xmm4,%xmm5
3358 vpaddd %xmm0,%xmm4,%xmm4
3359 shldl $5,%edx,%edx
3360 addl %esi,%ecx
3361 vpxor %xmm3,%xmm1,%xmm1
3362 xorl %edi,%ebp
3363 xorl %eax,%edi
3364 addl %edx,%ecx
3365 addl 20(%esp),%ebx
3366 vpsrld $30,%xmm1,%xmm3
3367 vmovdqa %xmm4,(%esp)
3368 andl %edi,%ebp
3369 xorl %eax,%edi
3370 shrdl $7,%edx,%edx
3371 movl %ecx,%esi
3372 vpslld $2,%xmm1,%xmm1
3373 xorl %edi,%ebp
3374 shldl $5,%ecx,%ecx
3375 addl %ebp,%ebx
3376 xorl %edx,%esi
3377 xorl %edi,%edx
3378 addl %ecx,%ebx
3379 addl 24(%esp),%eax
3380 andl %edx,%esi
3381 vpor %xmm3,%xmm1,%xmm1
3382 xorl %edi,%edx
3383 shrdl $7,%ecx,%ecx
3384 vmovdqa 96(%esp),%xmm3
3385 movl %ebx,%ebp
3386 xorl %edx,%esi
3387 shldl $5,%ebx,%ebx
3388 addl %esi,%eax
3389 xorl %ecx,%ebp
3390 xorl %edx,%ecx
3391 addl %ebx,%eax
3392 addl 28(%esp),%edi
3393 andl %ecx,%ebp
3394 xorl %edx,%ecx
3395 shrdl $7,%ebx,%ebx
3396 movl %eax,%esi
3397 xorl %ecx,%ebp
3398 shldl $5,%eax,%eax
3399 addl %ebp,%edi
3400 xorl %ebx,%esi
3401 xorl %ecx,%ebx
3402 addl %eax,%edi
3403 vpalignr $8,%xmm0,%xmm1,%xmm4
3404 vpxor %xmm6,%xmm2,%xmm2
3405 addl 32(%esp),%edx
3406 andl %ebx,%esi
3407 xorl %ecx,%ebx
3408 shrdl $7,%eax,%eax
3409 vpxor %xmm3,%xmm2,%xmm2
3410 vmovdqa %xmm6,96(%esp)
3411 movl %edi,%ebp
3412 xorl %ebx,%esi
3413 vmovdqa %xmm5,%xmm6
3414 vpaddd %xmm1,%xmm5,%xmm5
3415 shldl $5,%edi,%edi
3416 addl %esi,%edx
3417 vpxor %xmm4,%xmm2,%xmm2
3418 xorl %eax,%ebp
3419 xorl %ebx,%eax
3420 addl %edi,%edx
3421 addl 36(%esp),%ecx
3422 vpsrld $30,%xmm2,%xmm4
3423 vmovdqa %xmm5,16(%esp)
3424 andl %eax,%ebp
3425 xorl %ebx,%eax
3426 shrdl $7,%edi,%edi
3427 movl %edx,%esi
3428 vpslld $2,%xmm2,%xmm2
3429 xorl %eax,%ebp
3430 shldl $5,%edx,%edx
3431 addl %ebp,%ecx
3432 xorl %edi,%esi
3433 xorl %eax,%edi
3434 addl %edx,%ecx
3435 addl 40(%esp),%ebx
3436 andl %edi,%esi
3437 vpor %xmm4,%xmm2,%xmm2
3438 xorl %eax,%edi
3439 shrdl $7,%edx,%edx
3440 vmovdqa 64(%esp),%xmm4
3441 movl %ecx,%ebp
3442 xorl %edi,%esi
3443 shldl $5,%ecx,%ecx
3444 addl %esi,%ebx
3445 xorl %edx,%ebp
3446 xorl %edi,%edx
3447 addl %ecx,%ebx
3448 addl 44(%esp),%eax
3449 andl %edx,%ebp
3450 xorl %edi,%edx
3451 shrdl $7,%ecx,%ecx
3452 movl %ebx,%esi
3453 xorl %edx,%ebp
3454 shldl $5,%ebx,%ebx
3455 addl %ebp,%eax
3456 xorl %edx,%esi
3457 addl %ebx,%eax
3458 vpalignr $8,%xmm1,%xmm2,%xmm5
3459 vpxor %xmm7,%xmm3,%xmm3
3460 addl 48(%esp),%edi
3461 xorl %ecx,%esi
3462 movl %eax,%ebp
3463 shldl $5,%eax,%eax
3464 vpxor %xmm4,%xmm3,%xmm3
3465 vmovdqa %xmm7,64(%esp)
3466 addl %esi,%edi
3467 xorl %ecx,%ebp
3468 vmovdqa %xmm6,%xmm7
3469 vpaddd %xmm2,%xmm6,%xmm6
3470 shrdl $7,%ebx,%ebx
3471 addl %eax,%edi
3472 vpxor %xmm5,%xmm3,%xmm3
3473 addl 52(%esp),%edx
3474 xorl %ebx,%ebp
3475 movl %edi,%esi
3476 shldl $5,%edi,%edi
3477 vpsrld $30,%xmm3,%xmm5
3478 vmovdqa %xmm6,32(%esp)
3479 addl %ebp,%edx
3480 xorl %ebx,%esi
3481 shrdl $7,%eax,%eax
3482 addl %edi,%edx
3483 vpslld $2,%xmm3,%xmm3
3484 addl 56(%esp),%ecx
3485 xorl %eax,%esi
3486 movl %edx,%ebp
3487 shldl $5,%edx,%edx
3488 addl %esi,%ecx
3489 xorl %eax,%ebp
3490 shrdl $7,%edi,%edi
3491 addl %edx,%ecx
3492 vpor %xmm5,%xmm3,%xmm3
3493 addl 60(%esp),%ebx
3494 xorl %edi,%ebp
3495 movl %ecx,%esi
3496 shldl $5,%ecx,%ecx
3497 addl %ebp,%ebx
3498 xorl %edi,%esi
3499 shrdl $7,%edx,%edx
3500 addl %ecx,%ebx
3501 addl (%esp),%eax
3502 vpaddd %xmm3,%xmm7,%xmm7
3503 xorl %edx,%esi
3504 movl %ebx,%ebp
3505 shldl $5,%ebx,%ebx
3506 addl %esi,%eax
3507 vmovdqa %xmm7,48(%esp)
3508 xorl %edx,%ebp
3509 shrdl $7,%ecx,%ecx
3510 addl %ebx,%eax
3511 addl 4(%esp),%edi
3512 xorl %ecx,%ebp
3513 movl %eax,%esi
3514 shldl $5,%eax,%eax
3515 addl %ebp,%edi
3516 xorl %ecx,%esi
3517 shrdl $7,%ebx,%ebx
3518 addl %eax,%edi
3519 addl 8(%esp),%edx
3520 xorl %ebx,%esi
3521 movl %edi,%ebp
3522 shldl $5,%edi,%edi
3523 addl %esi,%edx
3524 xorl %ebx,%ebp
3525 shrdl $7,%eax,%eax
3526 addl %edi,%edx
3527 addl 12(%esp),%ecx
3528 xorl %eax,%ebp
3529 movl %edx,%esi
3530 shldl $5,%edx,%edx
3531 addl %ebp,%ecx
3532 xorl %eax,%esi
3533 shrdl $7,%edi,%edi
3534 addl %edx,%ecx
3535 movl 196(%esp),%ebp
3536 cmpl 200(%esp),%ebp
3537 je L008done
3538 vmovdqa 160(%esp),%xmm7
3539 vmovdqa 176(%esp),%xmm6
3540 vmovdqu (%ebp),%xmm0
3541 vmovdqu 16(%ebp),%xmm1
3542 vmovdqu 32(%ebp),%xmm2
3543 vmovdqu 48(%ebp),%xmm3
3544 addl $64,%ebp
3545 vpshufb %xmm6,%xmm0,%xmm0
3546 movl %ebp,196(%esp)
3547 vmovdqa %xmm7,96(%esp)
3548 addl 16(%esp),%ebx
3549 xorl %edi,%esi
3550 vpshufb %xmm6,%xmm1,%xmm1
3551 movl %ecx,%ebp
3552 shldl $5,%ecx,%ecx
3553 vpaddd %xmm7,%xmm0,%xmm4
3554 addl %esi,%ebx
3555 xorl %edi,%ebp
3556 shrdl $7,%edx,%edx
3557 addl %ecx,%ebx
3558 vmovdqa %xmm4,(%esp)
3559 addl 20(%esp),%eax
3560 xorl %edx,%ebp
3561 movl %ebx,%esi
3562 shldl $5,%ebx,%ebx
3563 addl %ebp,%eax
3564 xorl %edx,%esi
3565 shrdl $7,%ecx,%ecx
3566 addl %ebx,%eax
3567 addl 24(%esp),%edi
3568 xorl %ecx,%esi
3569 movl %eax,%ebp
3570 shldl $5,%eax,%eax
3571 addl %esi,%edi
3572 xorl %ecx,%ebp
3573 shrdl $7,%ebx,%ebx
3574 addl %eax,%edi
3575 addl 28(%esp),%edx
3576 xorl %ebx,%ebp
3577 movl %edi,%esi
3578 shldl $5,%edi,%edi
3579 addl %ebp,%edx
3580 xorl %ebx,%esi
3581 shrdl $7,%eax,%eax
3582 addl %edi,%edx
3583 addl 32(%esp),%ecx
3584 xorl %eax,%esi
3585 vpshufb %xmm6,%xmm2,%xmm2
3586 movl %edx,%ebp
3587 shldl $5,%edx,%edx
3588 vpaddd %xmm7,%xmm1,%xmm5
3589 addl %esi,%ecx
3590 xorl %eax,%ebp
3591 shrdl $7,%edi,%edi
3592 addl %edx,%ecx
3593 vmovdqa %xmm5,16(%esp)
3594 addl 36(%esp),%ebx
3595 xorl %edi,%ebp
3596 movl %ecx,%esi
3597 shldl $5,%ecx,%ecx
3598 addl %ebp,%ebx
3599 xorl %edi,%esi
3600 shrdl $7,%edx,%edx
3601 addl %ecx,%ebx
3602 addl 40(%esp),%eax
3603 xorl %edx,%esi
3604 movl %ebx,%ebp
3605 shldl $5,%ebx,%ebx
3606 addl %esi,%eax
3607 xorl %edx,%ebp
3608 shrdl $7,%ecx,%ecx
3609 addl %ebx,%eax
3610 addl 44(%esp),%edi
3611 xorl %ecx,%ebp
3612 movl %eax,%esi
3613 shldl $5,%eax,%eax
3614 addl %ebp,%edi
3615 xorl %ecx,%esi
3616 shrdl $7,%ebx,%ebx
3617 addl %eax,%edi
3618 addl 48(%esp),%edx
3619 xorl %ebx,%esi
3620 vpshufb %xmm6,%xmm3,%xmm3
3621 movl %edi,%ebp
3622 shldl $5,%edi,%edi
3623 vpaddd %xmm7,%xmm2,%xmm6
3624 addl %esi,%edx
3625 xorl %ebx,%ebp
3626 shrdl $7,%eax,%eax
3627 addl %edi,%edx
3628 vmovdqa %xmm6,32(%esp)
3629 addl 52(%esp),%ecx
3630 xorl %eax,%ebp
3631 movl %edx,%esi
3632 shldl $5,%edx,%edx
3633 addl %ebp,%ecx
3634 xorl %eax,%esi
3635 shrdl $7,%edi,%edi
3636 addl %edx,%ecx
3637 addl 56(%esp),%ebx
3638 xorl %edi,%esi
3639 movl %ecx,%ebp
3640 shldl $5,%ecx,%ecx
3641 addl %esi,%ebx
3642 xorl %edi,%ebp
3643 shrdl $7,%edx,%edx
3644 addl %ecx,%ebx
3645 addl 60(%esp),%eax
3646 xorl %edx,%ebp
3647 movl %ebx,%esi
3648 shldl $5,%ebx,%ebx
3649 addl %ebp,%eax
3650 shrdl $7,%ecx,%ecx
3651 addl %ebx,%eax
3652 movl 192(%esp),%ebp
3653 addl (%ebp),%eax
3654 addl 4(%ebp),%esi
3655 addl 8(%ebp),%ecx
3656 movl %eax,(%ebp)
3657 addl 12(%ebp),%edx
3658 movl %esi,4(%ebp)
3659 addl 16(%ebp),%edi
3660 movl %ecx,%ebx
3661 movl %ecx,8(%ebp)
3662 xorl %edx,%ebx
3663 movl %edx,12(%ebp)
3664 movl %edi,16(%ebp)
3665 movl %esi,%ebp
3666 andl %ebx,%esi
3667 movl %ebp,%ebx
3668 jmp L007loop
3669 .align 4,0x90
3670 L008done:
3671 addl 16(%esp),%ebx
3672 xorl %edi,%esi
3673 movl %ecx,%ebp
3674 shldl $5,%ecx,%ecx
3675 addl %esi,%ebx
3676 xorl %edi,%ebp
3677 shrdl $7,%edx,%edx
3678 addl %ecx,%ebx
3679 addl 20(%esp),%eax
3680 xorl %edx,%ebp
3681 movl %ebx,%esi
3682 shldl $5,%ebx,%ebx
3683 addl %ebp,%eax
3684 xorl %edx,%esi
3685 shrdl $7,%ecx,%ecx
3686 addl %ebx,%eax
3687 addl 24(%esp),%edi
3688 xorl %ecx,%esi
3689 movl %eax,%ebp
3690 shldl $5,%eax,%eax
3691 addl %esi,%edi
3692 xorl %ecx,%ebp
3693 shrdl $7,%ebx,%ebx
3694 addl %eax,%edi
3695 addl 28(%esp),%edx
3696 xorl %ebx,%ebp
3697 movl %edi,%esi
3698 shldl $5,%edi,%edi
3699 addl %ebp,%edx
3700 xorl %ebx,%esi
3701 shrdl $7,%eax,%eax
3702 addl %edi,%edx
3703 addl 32(%esp),%ecx
3704 xorl %eax,%esi
3705 movl %edx,%ebp
3706 shldl $5,%edx,%edx
3707 addl %esi,%ecx
3708 xorl %eax,%ebp
3709 shrdl $7,%edi,%edi
3710 addl %edx,%ecx
3711 addl 36(%esp),%ebx
3712 xorl %edi,%ebp
3713 movl %ecx,%esi
3714 shldl $5,%ecx,%ecx
3715 addl %ebp,%ebx
3716 xorl %edi,%esi
3717 shrdl $7,%edx,%edx
3718 addl %ecx,%ebx
3719 addl 40(%esp),%eax
3720 xorl %edx,%esi
3721 movl %ebx,%ebp
3722 shldl $5,%ebx,%ebx
3723 addl %esi,%eax
3724 xorl %edx,%ebp
3725 shrdl $7,%ecx,%ecx
3726 addl %ebx,%eax
3727 addl 44(%esp),%edi
3728 xorl %ecx,%ebp
3729 movl %eax,%esi
3730 shldl $5,%eax,%eax
3731 addl %ebp,%edi
3732 xorl %ecx,%esi
3733 shrdl $7,%ebx,%ebx
3734 addl %eax,%edi
3735 addl 48(%esp),%edx
3736 xorl %ebx,%esi
3737 movl %edi,%ebp
3738 shldl $5,%edi,%edi
3739 addl %esi,%edx
3740 xorl %ebx,%ebp
3741 shrdl $7,%eax,%eax
3742 addl %edi,%edx
3743 addl 52(%esp),%ecx
3744 xorl %eax,%ebp
3745 movl %edx,%esi
3746 shldl $5,%edx,%edx
3747 addl %ebp,%ecx
3748 xorl %eax,%esi
3749 shrdl $7,%edi,%edi
3750 addl %edx,%ecx
3751 addl 56(%esp),%ebx
3752 xorl %edi,%esi
3753 movl %ecx,%ebp
3754 shldl $5,%ecx,%ecx
3755 addl %esi,%ebx
3756 xorl %edi,%ebp
3757 shrdl $7,%edx,%edx
3758 addl %ecx,%ebx
3759 addl 60(%esp),%eax
3760 xorl %edx,%ebp
3761 movl %ebx,%esi
3762 shldl $5,%ebx,%ebx
3763 addl %ebp,%eax
3764 shrdl $7,%ecx,%ecx
3765 addl %ebx,%eax
3766 vzeroall
3767 movl 192(%esp),%ebp
3768 addl (%ebp),%eax
3769 movl 204(%esp),%esp
3770 addl 4(%ebp),%esi
3771 addl 8(%ebp),%ecx
3772 movl %eax,(%ebp)
3773 addl 12(%ebp),%edx
3774 movl %esi,4(%ebp)
3775 addl 16(%ebp),%edi
3776 movl %ecx,8(%ebp)
3777 movl %edx,12(%ebp)
3778 movl %edi,16(%ebp)
3779 popl %edi
3780 popl %esi
3781 popl %ebx
3782 popl %ebp
3783 ret
2781 .align 6,0x90 3784 .align 6,0x90
2782 LK_XX_XX: 3785 LK_XX_XX:
2783 .long 1518500249,1518500249,1518500249,1518500249 3786 .long 1518500249,1518500249,1518500249,1518500249
2784 .long 1859775393,1859775393,1859775393,1859775393 3787 .long 1859775393,1859775393,1859775393,1859775393
2785 .long 2400959708,2400959708,2400959708,2400959708 3788 .long 2400959708,2400959708,2400959708,2400959708
2786 .long 3395469782,3395469782,3395469782,3395469782 3789 .long 3395469782,3395469782,3395469782,3395469782
2787 .long 66051,67438087,134810123,202182159 3790 .long 66051,67438087,134810123,202182159
2788 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0 3791 .byte 15,14,13,12,11,10,9,8,7,6,5,4,3,2,1,0
2789 .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115 3792 .byte 83,72,65,49,32,98,108,111,99,107,32,116,114,97,110,115
2790 .byte 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82 3793 .byte 102,111,114,109,32,102,111,114,32,120,56,54,44,32,67,82
2791 .byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112 3794 .byte 89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112
2792 .byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0 3795 .byte 114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
2793 .section __IMPORT,__pointers,non_lazy_symbol_pointers 3796 .section __IMPORT,__pointers,non_lazy_symbol_pointers
2794 L_OPENSSL_ia32cap_P$non_lazy_ptr: 3797 L_OPENSSL_ia32cap_P$non_lazy_ptr:
2795 .indirect_symbol _OPENSSL_ia32cap_P 3798 .indirect_symbol _OPENSSL_ia32cap_P
2796 .long 0 3799 .long 0
2797 #endif 3800 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698