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

Side by Side Diff: third_party/boringssl/win-x86/crypto/sha/sha1-586.asm

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

Powered by Google App Engine
This is Rietveld 408576698