Changeset 95221 in vbox for trunk/src/libs/openssl-3.0.3/crypto/genasm-nasm/ghash-x86_64.S
- Timestamp:
- Jun 8, 2022 8:35:57 AM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/libs/openssl-3.0.3/crypto/genasm-nasm/ghash-x86_64.S
r94083 r95221 1355 1355 gcm_init_avx: 1356 1356 1357 $L$SEH_begin_gcm_init_avx: 1358 1359 DB 0x48,0x83,0xec,0x18 1360 DB 0x0f,0x29,0x34,0x24 1361 vzeroupper 1362 1363 vmovdqu xmm2,XMMWORD[rdx] 1364 vpshufd xmm2,xmm2,78 1365 1366 1367 vpshufd xmm4,xmm2,255 1368 vpsrlq xmm3,xmm2,63 1369 vpsllq xmm2,xmm2,1 1370 vpxor xmm5,xmm5,xmm5 1371 vpcmpgtd xmm5,xmm5,xmm4 1372 vpslldq xmm3,xmm3,8 1373 vpor xmm2,xmm2,xmm3 1374 1375 1376 vpand xmm5,xmm5,XMMWORD[$L$0x1c2_polynomial] 1377 vpxor xmm2,xmm2,xmm5 1378 1379 vpunpckhqdq xmm6,xmm2,xmm2 1380 vmovdqa xmm0,xmm2 1381 vpxor xmm6,xmm6,xmm2 1382 mov r10,4 1383 jmp NEAR $L$init_start_avx 1384 ALIGN 32 1385 $L$init_loop_avx: 1386 vpalignr xmm5,xmm4,xmm3,8 1387 vmovdqu XMMWORD[(-16)+rcx],xmm5 1388 vpunpckhqdq xmm3,xmm0,xmm0 1389 vpxor xmm3,xmm3,xmm0 1390 vpclmulqdq xmm1,xmm0,xmm2,0x11 1391 vpclmulqdq xmm0,xmm0,xmm2,0x00 1392 vpclmulqdq xmm3,xmm3,xmm6,0x00 1393 vpxor xmm4,xmm1,xmm0 1394 vpxor xmm3,xmm3,xmm4 1395 1396 vpslldq xmm4,xmm3,8 1397 vpsrldq xmm3,xmm3,8 1398 vpxor xmm0,xmm0,xmm4 1399 vpxor xmm1,xmm1,xmm3 1400 vpsllq xmm3,xmm0,57 1401 vpsllq xmm4,xmm0,62 1402 vpxor xmm4,xmm4,xmm3 1403 vpsllq xmm3,xmm0,63 1404 vpxor xmm4,xmm4,xmm3 1405 vpslldq xmm3,xmm4,8 1406 vpsrldq xmm4,xmm4,8 1407 vpxor xmm0,xmm0,xmm3 1408 vpxor xmm1,xmm1,xmm4 1409 1410 vpsrlq xmm4,xmm0,1 1411 vpxor xmm1,xmm1,xmm0 1412 vpxor xmm0,xmm0,xmm4 1413 vpsrlq xmm4,xmm4,5 1414 vpxor xmm0,xmm0,xmm4 1415 vpsrlq xmm0,xmm0,1 1416 vpxor xmm0,xmm0,xmm1 1417 $L$init_start_avx: 1418 vmovdqa xmm5,xmm0 1419 vpunpckhqdq xmm3,xmm0,xmm0 1420 vpxor xmm3,xmm3,xmm0 1421 vpclmulqdq xmm1,xmm0,xmm2,0x11 1422 vpclmulqdq xmm0,xmm0,xmm2,0x00 1423 vpclmulqdq xmm3,xmm3,xmm6,0x00 1424 vpxor xmm4,xmm1,xmm0 1425 vpxor xmm3,xmm3,xmm4 1426 1427 vpslldq xmm4,xmm3,8 1428 vpsrldq xmm3,xmm3,8 1429 vpxor xmm0,xmm0,xmm4 1430 vpxor xmm1,xmm1,xmm3 1431 vpsllq xmm3,xmm0,57 1432 vpsllq xmm4,xmm0,62 1433 vpxor xmm4,xmm4,xmm3 1434 vpsllq xmm3,xmm0,63 1435 vpxor xmm4,xmm4,xmm3 1436 vpslldq xmm3,xmm4,8 1437 vpsrldq xmm4,xmm4,8 1438 vpxor xmm0,xmm0,xmm3 1439 vpxor xmm1,xmm1,xmm4 1440 1441 vpsrlq xmm4,xmm0,1 1442 vpxor xmm1,xmm1,xmm0 1443 vpxor xmm0,xmm0,xmm4 1444 vpsrlq xmm4,xmm4,5 1445 vpxor xmm0,xmm0,xmm4 1446 vpsrlq xmm0,xmm0,1 1447 vpxor xmm0,xmm0,xmm1 1448 vpshufd xmm3,xmm5,78 1449 vpshufd xmm4,xmm0,78 1450 vpxor xmm3,xmm3,xmm5 1451 vmovdqu XMMWORD[rcx],xmm5 1452 vpxor xmm4,xmm4,xmm0 1453 vmovdqu XMMWORD[16+rcx],xmm0 1454 lea rcx,[48+rcx] 1455 sub r10,1 1456 jnz NEAR $L$init_loop_avx 1457 1458 vpalignr xmm5,xmm3,xmm4,8 1459 vmovdqu XMMWORD[(-16)+rcx],xmm5 1460 1461 vzeroupper 1462 movaps xmm6,XMMWORD[rsp] 1463 lea rsp,[24+rsp] 1464 $L$SEH_end_gcm_init_avx: 1465 DB 0F3h,0C3h ;repret 1357 jmp NEAR $L$_init_clmul 1466 1358 1467 1359 … … 1481 1373 1482 1374 DB 243,15,30,250 1483 lea rax,[((-136))+rsp] 1484 $L$SEH_begin_gcm_ghash_avx: 1485 1486 DB 0x48,0x8d,0x60,0xe0 1487 DB 0x0f,0x29,0x70,0xe0 1488 DB 0x0f,0x29,0x78,0xf0 1489 DB 0x44,0x0f,0x29,0x00 1490 DB 0x44,0x0f,0x29,0x48,0x10 1491 DB 0x44,0x0f,0x29,0x50,0x20 1492 DB 0x44,0x0f,0x29,0x58,0x30 1493 DB 0x44,0x0f,0x29,0x60,0x40 1494 DB 0x44,0x0f,0x29,0x68,0x50 1495 DB 0x44,0x0f,0x29,0x70,0x60 1496 DB 0x44,0x0f,0x29,0x78,0x70 1497 vzeroupper 1498 1499 vmovdqu xmm10,XMMWORD[rcx] 1500 lea r10,[$L$0x1c2_polynomial] 1501 lea rdx,[64+rdx] 1502 vmovdqu xmm13,XMMWORD[$L$bswap_mask] 1503 vpshufb xmm10,xmm10,xmm13 1504 cmp r9,0x80 1505 jb NEAR $L$short_avx 1506 sub r9,0x80 1507 1508 vmovdqu xmm14,XMMWORD[112+r8] 1509 vmovdqu xmm6,XMMWORD[((0-64))+rdx] 1510 vpshufb xmm14,xmm14,xmm13 1511 vmovdqu xmm7,XMMWORD[((32-64))+rdx] 1512 1513 vpunpckhqdq xmm9,xmm14,xmm14 1514 vmovdqu xmm15,XMMWORD[96+r8] 1515 vpclmulqdq xmm0,xmm14,xmm6,0x00 1516 vpxor xmm9,xmm9,xmm14 1517 vpshufb xmm15,xmm15,xmm13 1518 vpclmulqdq xmm1,xmm14,xmm6,0x11 1519 vmovdqu xmm6,XMMWORD[((16-64))+rdx] 1520 vpunpckhqdq xmm8,xmm15,xmm15 1521 vmovdqu xmm14,XMMWORD[80+r8] 1522 vpclmulqdq xmm2,xmm9,xmm7,0x00 1523 vpxor xmm8,xmm8,xmm15 1524 1525 vpshufb xmm14,xmm14,xmm13 1526 vpclmulqdq xmm3,xmm15,xmm6,0x00 1527 vpunpckhqdq xmm9,xmm14,xmm14 1528 vpclmulqdq xmm4,xmm15,xmm6,0x11 1529 vmovdqu xmm6,XMMWORD[((48-64))+rdx] 1530 vpxor xmm9,xmm9,xmm14 1531 vmovdqu xmm15,XMMWORD[64+r8] 1532 vpclmulqdq xmm5,xmm8,xmm7,0x10 1533 vmovdqu xmm7,XMMWORD[((80-64))+rdx] 1534 1535 vpshufb xmm15,xmm15,xmm13 1536 vpxor xmm3,xmm3,xmm0 1537 vpclmulqdq xmm0,xmm14,xmm6,0x00 1538 vpxor xmm4,xmm4,xmm1 1539 vpunpckhqdq xmm8,xmm15,xmm15 1540 vpclmulqdq xmm1,xmm14,xmm6,0x11 1541 vmovdqu xmm6,XMMWORD[((64-64))+rdx] 1542 vpxor xmm5,xmm5,xmm2 1543 vpclmulqdq xmm2,xmm9,xmm7,0x00 1544 vpxor xmm8,xmm8,xmm15 1545 1546 vmovdqu xmm14,XMMWORD[48+r8] 1547 vpxor xmm0,xmm0,xmm3 1548 vpclmulqdq xmm3,xmm15,xmm6,0x00 1549 vpxor xmm1,xmm1,xmm4 1550 vpshufb xmm14,xmm14,xmm13 1551 vpclmulqdq xmm4,xmm15,xmm6,0x11 1552 vmovdqu xmm6,XMMWORD[((96-64))+rdx] 1553 vpxor xmm2,xmm2,xmm5 1554 vpunpckhqdq xmm9,xmm14,xmm14 1555 vpclmulqdq xmm5,xmm8,xmm7,0x10 1556 vmovdqu xmm7,XMMWORD[((128-64))+rdx] 1557 vpxor xmm9,xmm9,xmm14 1558 1559 vmovdqu xmm15,XMMWORD[32+r8] 1560 vpxor xmm3,xmm3,xmm0 1561 vpclmulqdq xmm0,xmm14,xmm6,0x00 1562 vpxor xmm4,xmm4,xmm1 1563 vpshufb xmm15,xmm15,xmm13 1564 vpclmulqdq xmm1,xmm14,xmm6,0x11 1565 vmovdqu xmm6,XMMWORD[((112-64))+rdx] 1566 vpxor xmm5,xmm5,xmm2 1567 vpunpckhqdq xmm8,xmm15,xmm15 1568 vpclmulqdq xmm2,xmm9,xmm7,0x00 1569 vpxor xmm8,xmm8,xmm15 1570 1571 vmovdqu xmm14,XMMWORD[16+r8] 1572 vpxor xmm0,xmm0,xmm3 1573 vpclmulqdq xmm3,xmm15,xmm6,0x00 1574 vpxor xmm1,xmm1,xmm4 1575 vpshufb xmm14,xmm14,xmm13 1576 vpclmulqdq xmm4,xmm15,xmm6,0x11 1577 vmovdqu xmm6,XMMWORD[((144-64))+rdx] 1578 vpxor xmm2,xmm2,xmm5 1579 vpunpckhqdq xmm9,xmm14,xmm14 1580 vpclmulqdq xmm5,xmm8,xmm7,0x10 1581 vmovdqu xmm7,XMMWORD[((176-64))+rdx] 1582 vpxor xmm9,xmm9,xmm14 1583 1584 vmovdqu xmm15,XMMWORD[r8] 1585 vpxor xmm3,xmm3,xmm0 1586 vpclmulqdq xmm0,xmm14,xmm6,0x00 1587 vpxor xmm4,xmm4,xmm1 1588 vpshufb xmm15,xmm15,xmm13 1589 vpclmulqdq xmm1,xmm14,xmm6,0x11 1590 vmovdqu xmm6,XMMWORD[((160-64))+rdx] 1591 vpxor xmm5,xmm5,xmm2 1592 vpclmulqdq xmm2,xmm9,xmm7,0x10 1593 1594 lea r8,[128+r8] 1595 cmp r9,0x80 1596 jb NEAR $L$tail_avx 1597 1598 vpxor xmm15,xmm15,xmm10 1599 sub r9,0x80 1600 jmp NEAR $L$oop8x_avx 1601 1602 ALIGN 32 1603 $L$oop8x_avx: 1604 vpunpckhqdq xmm8,xmm15,xmm15 1605 vmovdqu xmm14,XMMWORD[112+r8] 1606 vpxor xmm3,xmm3,xmm0 1607 vpxor xmm8,xmm8,xmm15 1608 vpclmulqdq xmm10,xmm15,xmm6,0x00 1609 vpshufb xmm14,xmm14,xmm13 1610 vpxor xmm4,xmm4,xmm1 1611 vpclmulqdq xmm11,xmm15,xmm6,0x11 1612 vmovdqu xmm6,XMMWORD[((0-64))+rdx] 1613 vpunpckhqdq xmm9,xmm14,xmm14 1614 vpxor xmm5,xmm5,xmm2 1615 vpclmulqdq xmm12,xmm8,xmm7,0x00 1616 vmovdqu xmm7,XMMWORD[((32-64))+rdx] 1617 vpxor xmm9,xmm9,xmm14 1618 1619 vmovdqu xmm15,XMMWORD[96+r8] 1620 vpclmulqdq xmm0,xmm14,xmm6,0x00 1621 vpxor xmm10,xmm10,xmm3 1622 vpshufb xmm15,xmm15,xmm13 1623 vpclmulqdq xmm1,xmm14,xmm6,0x11 1624 vxorps xmm11,xmm11,xmm4 1625 vmovdqu xmm6,XMMWORD[((16-64))+rdx] 1626 vpunpckhqdq xmm8,xmm15,xmm15 1627 vpclmulqdq xmm2,xmm9,xmm7,0x00 1628 vpxor xmm12,xmm12,xmm5 1629 vxorps xmm8,xmm8,xmm15 1630 1631 vmovdqu xmm14,XMMWORD[80+r8] 1632 vpxor xmm12,xmm12,xmm10 1633 vpclmulqdq xmm3,xmm15,xmm6,0x00 1634 vpxor xmm12,xmm12,xmm11 1635 vpslldq xmm9,xmm12,8 1636 vpxor xmm3,xmm3,xmm0 1637 vpclmulqdq xmm4,xmm15,xmm6,0x11 1638 vpsrldq xmm12,xmm12,8 1639 vpxor xmm10,xmm10,xmm9 1640 vmovdqu xmm6,XMMWORD[((48-64))+rdx] 1641 vpshufb xmm14,xmm14,xmm13 1642 vxorps xmm11,xmm11,xmm12 1643 vpxor xmm4,xmm4,xmm1 1644 vpunpckhqdq xmm9,xmm14,xmm14 1645 vpclmulqdq xmm5,xmm8,xmm7,0x10 1646 vmovdqu xmm7,XMMWORD[((80-64))+rdx] 1647 vpxor xmm9,xmm9,xmm14 1648 vpxor xmm5,xmm5,xmm2 1649 1650 vmovdqu xmm15,XMMWORD[64+r8] 1651 vpalignr xmm12,xmm10,xmm10,8 1652 vpclmulqdq xmm0,xmm14,xmm6,0x00 1653 vpshufb xmm15,xmm15,xmm13 1654 vpxor xmm0,xmm0,xmm3 1655 vpclmulqdq xmm1,xmm14,xmm6,0x11 1656 vmovdqu xmm6,XMMWORD[((64-64))+rdx] 1657 vpunpckhqdq xmm8,xmm15,xmm15 1658 vpxor xmm1,xmm1,xmm4 1659 vpclmulqdq xmm2,xmm9,xmm7,0x00 1660 vxorps xmm8,xmm8,xmm15 1661 vpxor xmm2,xmm2,xmm5 1662 1663 vmovdqu xmm14,XMMWORD[48+r8] 1664 vpclmulqdq xmm10,xmm10,XMMWORD[r10],0x10 1665 vpclmulqdq xmm3,xmm15,xmm6,0x00 1666 vpshufb xmm14,xmm14,xmm13 1667 vpxor xmm3,xmm3,xmm0 1668 vpclmulqdq xmm4,xmm15,xmm6,0x11 1669 vmovdqu xmm6,XMMWORD[((96-64))+rdx] 1670 vpunpckhqdq xmm9,xmm14,xmm14 1671 vpxor xmm4,xmm4,xmm1 1672 vpclmulqdq xmm5,xmm8,xmm7,0x10 1673 vmovdqu xmm7,XMMWORD[((128-64))+rdx] 1674 vpxor xmm9,xmm9,xmm14 1675 vpxor xmm5,xmm5,xmm2 1676 1677 vmovdqu xmm15,XMMWORD[32+r8] 1678 vpclmulqdq xmm0,xmm14,xmm6,0x00 1679 vpshufb xmm15,xmm15,xmm13 1680 vpxor xmm0,xmm0,xmm3 1681 vpclmulqdq xmm1,xmm14,xmm6,0x11 1682 vmovdqu xmm6,XMMWORD[((112-64))+rdx] 1683 vpunpckhqdq xmm8,xmm15,xmm15 1684 vpxor xmm1,xmm1,xmm4 1685 vpclmulqdq xmm2,xmm9,xmm7,0x00 1686 vpxor xmm8,xmm8,xmm15 1687 vpxor xmm2,xmm2,xmm5 1688 vxorps xmm10,xmm10,xmm12 1689 1690 vmovdqu xmm14,XMMWORD[16+r8] 1691 vpalignr xmm12,xmm10,xmm10,8 1692 vpclmulqdq xmm3,xmm15,xmm6,0x00 1693 vpshufb xmm14,xmm14,xmm13 1694 vpxor xmm3,xmm3,xmm0 1695 vpclmulqdq xmm4,xmm15,xmm6,0x11 1696 vmovdqu xmm6,XMMWORD[((144-64))+rdx] 1697 vpclmulqdq xmm10,xmm10,XMMWORD[r10],0x10 1698 vxorps xmm12,xmm12,xmm11 1699 vpunpckhqdq xmm9,xmm14,xmm14 1700 vpxor xmm4,xmm4,xmm1 1701 vpclmulqdq xmm5,xmm8,xmm7,0x10 1702 vmovdqu xmm7,XMMWORD[((176-64))+rdx] 1703 vpxor xmm9,xmm9,xmm14 1704 vpxor xmm5,xmm5,xmm2 1705 1706 vmovdqu xmm15,XMMWORD[r8] 1707 vpclmulqdq xmm0,xmm14,xmm6,0x00 1708 vpshufb xmm15,xmm15,xmm13 1709 vpclmulqdq xmm1,xmm14,xmm6,0x11 1710 vmovdqu xmm6,XMMWORD[((160-64))+rdx] 1711 vpxor xmm15,xmm15,xmm12 1712 vpclmulqdq xmm2,xmm9,xmm7,0x10 1713 vpxor xmm15,xmm15,xmm10 1714 1715 lea r8,[128+r8] 1716 sub r9,0x80 1717 jnc NEAR $L$oop8x_avx 1718 1719 add r9,0x80 1720 jmp NEAR $L$tail_no_xor_avx 1721 1722 ALIGN 32 1723 $L$short_avx: 1724 vmovdqu xmm14,XMMWORD[((-16))+r9*1+r8] 1725 lea r8,[r9*1+r8] 1726 vmovdqu xmm6,XMMWORD[((0-64))+rdx] 1727 vmovdqu xmm7,XMMWORD[((32-64))+rdx] 1728 vpshufb xmm15,xmm14,xmm13 1729 1730 vmovdqa xmm3,xmm0 1731 vmovdqa xmm4,xmm1 1732 vmovdqa xmm5,xmm2 1733 sub r9,0x10 1734 jz NEAR $L$tail_avx 1735 1736 vpunpckhqdq xmm8,xmm15,xmm15 1737 vpxor xmm3,xmm3,xmm0 1738 vpclmulqdq xmm0,xmm15,xmm6,0x00 1739 vpxor xmm8,xmm8,xmm15 1740 vmovdqu xmm14,XMMWORD[((-32))+r8] 1741 vpxor xmm4,xmm4,xmm1 1742 vpclmulqdq xmm1,xmm15,xmm6,0x11 1743 vmovdqu xmm6,XMMWORD[((16-64))+rdx] 1744 vpshufb xmm15,xmm14,xmm13 1745 vpxor xmm5,xmm5,xmm2 1746 vpclmulqdq xmm2,xmm8,xmm7,0x00 1747 vpsrldq xmm7,xmm7,8 1748 sub r9,0x10 1749 jz NEAR $L$tail_avx 1750 1751 vpunpckhqdq xmm8,xmm15,xmm15 1752 vpxor xmm3,xmm3,xmm0 1753 vpclmulqdq xmm0,xmm15,xmm6,0x00 1754 vpxor xmm8,xmm8,xmm15 1755 vmovdqu xmm14,XMMWORD[((-48))+r8] 1756 vpxor xmm4,xmm4,xmm1 1757 vpclmulqdq xmm1,xmm15,xmm6,0x11 1758 vmovdqu xmm6,XMMWORD[((48-64))+rdx] 1759 vpshufb xmm15,xmm14,xmm13 1760 vpxor xmm5,xmm5,xmm2 1761 vpclmulqdq xmm2,xmm8,xmm7,0x00 1762 vmovdqu xmm7,XMMWORD[((80-64))+rdx] 1763 sub r9,0x10 1764 jz NEAR $L$tail_avx 1765 1766 vpunpckhqdq xmm8,xmm15,xmm15 1767 vpxor xmm3,xmm3,xmm0 1768 vpclmulqdq xmm0,xmm15,xmm6,0x00 1769 vpxor xmm8,xmm8,xmm15 1770 vmovdqu xmm14,XMMWORD[((-64))+r8] 1771 vpxor xmm4,xmm4,xmm1 1772 vpclmulqdq xmm1,xmm15,xmm6,0x11 1773 vmovdqu xmm6,XMMWORD[((64-64))+rdx] 1774 vpshufb xmm15,xmm14,xmm13 1775 vpxor xmm5,xmm5,xmm2 1776 vpclmulqdq xmm2,xmm8,xmm7,0x00 1777 vpsrldq xmm7,xmm7,8 1778 sub r9,0x10 1779 jz NEAR $L$tail_avx 1780 1781 vpunpckhqdq xmm8,xmm15,xmm15 1782 vpxor xmm3,xmm3,xmm0 1783 vpclmulqdq xmm0,xmm15,xmm6,0x00 1784 vpxor xmm8,xmm8,xmm15 1785 vmovdqu xmm14,XMMWORD[((-80))+r8] 1786 vpxor xmm4,xmm4,xmm1 1787 vpclmulqdq xmm1,xmm15,xmm6,0x11 1788 vmovdqu xmm6,XMMWORD[((96-64))+rdx] 1789 vpshufb xmm15,xmm14,xmm13 1790 vpxor xmm5,xmm5,xmm2 1791 vpclmulqdq xmm2,xmm8,xmm7,0x00 1792 vmovdqu xmm7,XMMWORD[((128-64))+rdx] 1793 sub r9,0x10 1794 jz NEAR $L$tail_avx 1795 1796 vpunpckhqdq xmm8,xmm15,xmm15 1797 vpxor xmm3,xmm3,xmm0 1798 vpclmulqdq xmm0,xmm15,xmm6,0x00 1799 vpxor xmm8,xmm8,xmm15 1800 vmovdqu xmm14,XMMWORD[((-96))+r8] 1801 vpxor xmm4,xmm4,xmm1 1802 vpclmulqdq xmm1,xmm15,xmm6,0x11 1803 vmovdqu xmm6,XMMWORD[((112-64))+rdx] 1804 vpshufb xmm15,xmm14,xmm13 1805 vpxor xmm5,xmm5,xmm2 1806 vpclmulqdq xmm2,xmm8,xmm7,0x00 1807 vpsrldq xmm7,xmm7,8 1808 sub r9,0x10 1809 jz NEAR $L$tail_avx 1810 1811 vpunpckhqdq xmm8,xmm15,xmm15 1812 vpxor xmm3,xmm3,xmm0 1813 vpclmulqdq xmm0,xmm15,xmm6,0x00 1814 vpxor xmm8,xmm8,xmm15 1815 vmovdqu xmm14,XMMWORD[((-112))+r8] 1816 vpxor xmm4,xmm4,xmm1 1817 vpclmulqdq xmm1,xmm15,xmm6,0x11 1818 vmovdqu xmm6,XMMWORD[((144-64))+rdx] 1819 vpshufb xmm15,xmm14,xmm13 1820 vpxor xmm5,xmm5,xmm2 1821 vpclmulqdq xmm2,xmm8,xmm7,0x00 1822 vmovq xmm7,QWORD[((184-64))+rdx] 1823 sub r9,0x10 1824 jmp NEAR $L$tail_avx 1825 1826 ALIGN 32 1827 $L$tail_avx: 1828 vpxor xmm15,xmm15,xmm10 1829 $L$tail_no_xor_avx: 1830 vpunpckhqdq xmm8,xmm15,xmm15 1831 vpxor xmm3,xmm3,xmm0 1832 vpclmulqdq xmm0,xmm15,xmm6,0x00 1833 vpxor xmm8,xmm8,xmm15 1834 vpxor xmm4,xmm4,xmm1 1835 vpclmulqdq xmm1,xmm15,xmm6,0x11 1836 vpxor xmm5,xmm5,xmm2 1837 vpclmulqdq xmm2,xmm8,xmm7,0x00 1838 1839 vmovdqu xmm12,XMMWORD[r10] 1840 1841 vpxor xmm10,xmm3,xmm0 1842 vpxor xmm11,xmm4,xmm1 1843 vpxor xmm5,xmm5,xmm2 1844 1845 vpxor xmm5,xmm5,xmm10 1846 vpxor xmm5,xmm5,xmm11 1847 vpslldq xmm9,xmm5,8 1848 vpsrldq xmm5,xmm5,8 1849 vpxor xmm10,xmm10,xmm9 1850 vpxor xmm11,xmm11,xmm5 1851 1852 vpclmulqdq xmm9,xmm10,xmm12,0x10 1853 vpalignr xmm10,xmm10,xmm10,8 1854 vpxor xmm10,xmm10,xmm9 1855 1856 vpclmulqdq xmm9,xmm10,xmm12,0x10 1857 vpalignr xmm10,xmm10,xmm10,8 1858 vpxor xmm10,xmm10,xmm11 1859 vpxor xmm10,xmm10,xmm9 1860 1861 cmp r9,0 1862 jne NEAR $L$short_avx 1863 1864 vpshufb xmm10,xmm10,xmm13 1865 vmovdqu XMMWORD[rcx],xmm10 1866 vzeroupper 1867 movaps xmm6,XMMWORD[rsp] 1868 movaps xmm7,XMMWORD[16+rsp] 1869 movaps xmm8,XMMWORD[32+rsp] 1870 movaps xmm9,XMMWORD[48+rsp] 1871 movaps xmm10,XMMWORD[64+rsp] 1872 movaps xmm11,XMMWORD[80+rsp] 1873 movaps xmm12,XMMWORD[96+rsp] 1874 movaps xmm13,XMMWORD[112+rsp] 1875 movaps xmm14,XMMWORD[128+rsp] 1876 movaps xmm15,XMMWORD[144+rsp] 1877 lea rsp,[168+rsp] 1878 $L$SEH_end_gcm_ghash_avx: 1879 DB 0F3h,0C3h ;repret 1375 jmp NEAR $L$_ghash_clmul 1880 1376 1881 1377 … … 2041 1537 DD $L$SEH_end_gcm_ghash_clmul wrt ..imagebase 2042 1538 DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase 2043 DD $L$SEH_begin_gcm_init_avx wrt ..imagebase2044 DD $L$SEH_end_gcm_init_avx wrt ..imagebase2045 DD $L$SEH_info_gcm_init_clmul wrt ..imagebase2046 2047 DD $L$SEH_begin_gcm_ghash_avx wrt ..imagebase2048 DD $L$SEH_end_gcm_ghash_avx wrt ..imagebase2049 DD $L$SEH_info_gcm_ghash_clmul wrt ..imagebase2050 1539 section .xdata rdata align=8 2051 1540 ALIGN 8
Note:
See TracChangeset
for help on using the changeset viewer.