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

Side by Side Diff: src/compiler/instruction-selector.cc

Issue 2776753004: [wasm] Make Opcode names consistent across architectures, implementations (Closed)
Patch Set: Fix Saturates Created 3 years, 8 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
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/machine-graph-verifier.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/compiler/instruction-selector.h" 5 #include "src/compiler/instruction-selector.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "src/assembler-inl.h" 9 #include "src/assembler-inl.h"
10 #include "src/base/adapters.h" 10 #include "src/base/adapters.h"
(...skipping 1458 matching lines...) Expand 10 before | Expand all | Expand 10 after
1469 return VisitAtomicCompareExchange(node); 1469 return VisitAtomicCompareExchange(node);
1470 } 1470 }
1471 case IrOpcode::kProtectedLoad: { 1471 case IrOpcode::kProtectedLoad: {
1472 LoadRepresentation type = LoadRepresentationOf(node->op()); 1472 LoadRepresentation type = LoadRepresentationOf(node->op());
1473 MarkAsRepresentation(type.representation(), node); 1473 MarkAsRepresentation(type.representation(), node);
1474 return VisitProtectedLoad(node); 1474 return VisitProtectedLoad(node);
1475 } 1475 }
1476 case IrOpcode::kUnsafePointerAdd: 1476 case IrOpcode::kUnsafePointerAdd:
1477 MarkAsRepresentation(MachineType::PointerRepresentation(), node); 1477 MarkAsRepresentation(MachineType::PointerRepresentation(), node);
1478 return VisitUnsafePointerAdd(node); 1478 return VisitUnsafePointerAdd(node);
1479 case IrOpcode::kFloat32x4Splat: 1479 case IrOpcode::kF32x4Splat:
1480 return MarkAsSimd128(node), VisitFloat32x4Splat(node); 1480 return MarkAsSimd128(node), VisitF32x4Splat(node);
1481 case IrOpcode::kFloat32x4ExtractLane: 1481 case IrOpcode::kF32x4ExtractLane:
1482 return MarkAsFloat32(node), VisitFloat32x4ExtractLane(node); 1482 return MarkAsFloat32(node), VisitF32x4ExtractLane(node);
1483 case IrOpcode::kFloat32x4ReplaceLane: 1483 case IrOpcode::kF32x4ReplaceLane:
1484 return MarkAsSimd128(node), VisitFloat32x4ReplaceLane(node); 1484 return MarkAsSimd128(node), VisitF32x4ReplaceLane(node);
1485 case IrOpcode::kFloat32x4FromInt32x4: 1485 case IrOpcode::kF32x4SConvertI32x4:
1486 return MarkAsSimd128(node), VisitFloat32x4FromInt32x4(node); 1486 return MarkAsSimd128(node), VisitF32x4SConvertI32x4(node);
1487 case IrOpcode::kFloat32x4FromUint32x4: 1487 case IrOpcode::kF32x4UConvertI32x4:
1488 return MarkAsSimd128(node), VisitFloat32x4FromUint32x4(node); 1488 return MarkAsSimd128(node), VisitF32x4UConvertI32x4(node);
1489 case IrOpcode::kFloat32x4Abs: 1489 case IrOpcode::kF32x4Abs:
1490 return MarkAsSimd128(node), VisitFloat32x4Abs(node); 1490 return MarkAsSimd128(node), VisitF32x4Abs(node);
1491 case IrOpcode::kFloat32x4Neg: 1491 case IrOpcode::kF32x4Neg:
1492 return MarkAsSimd128(node), VisitFloat32x4Neg(node); 1492 return MarkAsSimd128(node), VisitF32x4Neg(node);
1493 case IrOpcode::kFloat32x4RecipApprox: 1493 case IrOpcode::kF32x4RecipApprox:
1494 return MarkAsSimd128(node), VisitFloat32x4RecipApprox(node); 1494 return MarkAsSimd128(node), VisitF32x4RecipApprox(node);
1495 case IrOpcode::kFloat32x4RecipRefine: 1495 case IrOpcode::kF32x4RecipRefine:
1496 return MarkAsSimd128(node), VisitFloat32x4RecipRefine(node); 1496 return MarkAsSimd128(node), VisitF32x4RecipRefine(node);
1497 case IrOpcode::kFloat32x4RecipSqrtApprox: 1497 case IrOpcode::kF32x4Add:
1498 return MarkAsSimd128(node), VisitFloat32x4RecipSqrtApprox(node); 1498 return MarkAsSimd128(node), VisitF32x4Add(node);
1499 case IrOpcode::kFloat32x4RecipSqrtRefine: 1499 case IrOpcode::kF32x4Sub:
1500 return MarkAsSimd128(node), VisitFloat32x4RecipSqrtRefine(node); 1500 return MarkAsSimd128(node), VisitF32x4Sub(node);
1501 case IrOpcode::kFloat32x4Add: 1501 case IrOpcode::kF32x4Mul:
1502 return MarkAsSimd128(node), VisitFloat32x4Add(node); 1502 return MarkAsSimd128(node), VisitF32x4Mul(node);
1503 case IrOpcode::kFloat32x4Sub: 1503 case IrOpcode::kF32x4Min:
1504 return MarkAsSimd128(node), VisitFloat32x4Sub(node); 1504 return MarkAsSimd128(node), VisitF32x4Min(node);
1505 case IrOpcode::kFloat32x4Mul: 1505 case IrOpcode::kF32x4Max:
1506 return MarkAsSimd128(node), VisitFloat32x4Mul(node); 1506 return MarkAsSimd128(node), VisitF32x4Max(node);
1507 case IrOpcode::kFloat32x4Min: 1507 case IrOpcode::kF32x4RecipSqrtApprox:
1508 return MarkAsSimd128(node), VisitFloat32x4Min(node); 1508 return MarkAsSimd128(node), VisitF32x4RecipSqrtApprox(node);
1509 case IrOpcode::kFloat32x4Max: 1509 case IrOpcode::kF32x4RecipSqrtRefine:
1510 return MarkAsSimd128(node), VisitFloat32x4Max(node); 1510 return MarkAsSimd128(node), VisitF32x4RecipSqrtRefine(node);
1511 case IrOpcode::kFloat32x4Equal: 1511 case IrOpcode::kF32x4Eq:
1512 return MarkAsSimd1x4(node), VisitFloat32x4Equal(node); 1512 return MarkAsSimd1x4(node), VisitF32x4Eq(node);
1513 case IrOpcode::kFloat32x4NotEqual: 1513 case IrOpcode::kF32x4Ne:
1514 return MarkAsSimd1x4(node), VisitFloat32x4NotEqual(node); 1514 return MarkAsSimd1x4(node), VisitF32x4Ne(node);
1515 case IrOpcode::kFloat32x4LessThan: 1515 case IrOpcode::kF32x4Lt:
1516 return MarkAsSimd1x4(node), VisitFloat32x4LessThan(node); 1516 return MarkAsSimd1x4(node), VisitF32x4Lt(node);
1517 case IrOpcode::kFloat32x4LessThanOrEqual: 1517 case IrOpcode::kF32x4Le:
1518 return MarkAsSimd1x4(node), VisitFloat32x4LessThanOrEqual(node); 1518 return MarkAsSimd1x4(node), VisitF32x4Le(node);
1519 case IrOpcode::kInt32x4Splat: 1519 case IrOpcode::kI32x4Splat:
1520 return MarkAsSimd128(node), VisitInt32x4Splat(node); 1520 return MarkAsSimd128(node), VisitI32x4Splat(node);
1521 case IrOpcode::kInt32x4ExtractLane: 1521 case IrOpcode::kI32x4ExtractLane:
1522 return MarkAsWord32(node), VisitInt32x4ExtractLane(node); 1522 return MarkAsWord32(node), VisitI32x4ExtractLane(node);
1523 case IrOpcode::kInt32x4ReplaceLane: 1523 case IrOpcode::kI32x4ReplaceLane:
1524 return MarkAsSimd128(node), VisitInt32x4ReplaceLane(node); 1524 return MarkAsSimd128(node), VisitI32x4ReplaceLane(node);
1525 case IrOpcode::kInt32x4FromFloat32x4: 1525 case IrOpcode::kI32x4SConvertF32x4:
1526 return MarkAsSimd128(node), VisitInt32x4FromFloat32x4(node); 1526 return MarkAsSimd128(node), VisitI32x4SConvertF32x4(node);
1527 case IrOpcode::kUint32x4FromFloat32x4: 1527 case IrOpcode::kI32x4Neg:
1528 return MarkAsSimd128(node), VisitUint32x4FromFloat32x4(node); 1528 return MarkAsSimd128(node), VisitI32x4Neg(node);
1529 case IrOpcode::kInt32x4Neg: 1529 case IrOpcode::kI32x4Shl:
1530 return MarkAsSimd128(node), VisitInt32x4Neg(node); 1530 return MarkAsSimd128(node), VisitI32x4Shl(node);
1531 case IrOpcode::kInt32x4ShiftLeftByScalar: 1531 case IrOpcode::kI32x4ShrS:
1532 return MarkAsSimd128(node), VisitInt32x4ShiftLeftByScalar(node); 1532 return MarkAsSimd128(node), VisitI32x4ShrS(node);
1533 case IrOpcode::kInt32x4ShiftRightByScalar: 1533 case IrOpcode::kI32x4Add:
1534 return MarkAsSimd128(node), VisitInt32x4ShiftRightByScalar(node); 1534 return MarkAsSimd128(node), VisitI32x4Add(node);
1535 case IrOpcode::kInt32x4Add: 1535 case IrOpcode::kI32x4Sub:
1536 return MarkAsSimd128(node), VisitInt32x4Add(node); 1536 return MarkAsSimd128(node), VisitI32x4Sub(node);
1537 case IrOpcode::kInt32x4Sub: 1537 case IrOpcode::kI32x4Mul:
1538 return MarkAsSimd128(node), VisitInt32x4Sub(node); 1538 return MarkAsSimd128(node), VisitI32x4Mul(node);
1539 case IrOpcode::kInt32x4Mul: 1539 case IrOpcode::kI32x4MinS:
1540 return MarkAsSimd128(node), VisitInt32x4Mul(node); 1540 return MarkAsSimd128(node), VisitI32x4MinS(node);
1541 case IrOpcode::kInt32x4Min: 1541 case IrOpcode::kI32x4MaxS:
1542 return MarkAsSimd128(node), VisitInt32x4Min(node); 1542 return MarkAsSimd128(node), VisitI32x4MaxS(node);
1543 case IrOpcode::kInt32x4Max: 1543 case IrOpcode::kI32x4Eq:
1544 return MarkAsSimd128(node), VisitInt32x4Max(node); 1544 return MarkAsSimd1x4(node), VisitI32x4Eq(node);
1545 case IrOpcode::kInt32x4Equal: 1545 case IrOpcode::kI32x4Ne:
1546 return MarkAsSimd1x4(node), VisitInt32x4Equal(node); 1546 return MarkAsSimd1x4(node), VisitI32x4Ne(node);
1547 case IrOpcode::kInt32x4NotEqual: 1547 case IrOpcode::kI32x4LtS:
1548 return MarkAsSimd1x4(node), VisitInt32x4NotEqual(node); 1548 return MarkAsSimd1x4(node), VisitI32x4LtS(node);
1549 case IrOpcode::kInt32x4LessThan: 1549 case IrOpcode::kI32x4LeS:
1550 return MarkAsSimd1x4(node), VisitInt32x4LessThan(node); 1550 return MarkAsSimd1x4(node), VisitI32x4LeS(node);
1551 case IrOpcode::kInt32x4LessThanOrEqual: 1551 case IrOpcode::kI32x4UConvertF32x4:
1552 return MarkAsSimd1x4(node), VisitInt32x4LessThanOrEqual(node); 1552 return MarkAsSimd128(node), VisitI32x4UConvertF32x4(node);
1553 case IrOpcode::kUint32x4ShiftRightByScalar: 1553 case IrOpcode::kI32x4ShrU:
1554 return MarkAsSimd128(node), VisitUint32x4ShiftRightByScalar(node); 1554 return MarkAsSimd128(node), VisitI32x4ShrU(node);
1555 case IrOpcode::kUint32x4Min: 1555 case IrOpcode::kI32x4MinU:
1556 return MarkAsSimd128(node), VisitUint32x4Min(node); 1556 return MarkAsSimd128(node), VisitI32x4MinU(node);
1557 case IrOpcode::kUint32x4Max: 1557 case IrOpcode::kI32x4MaxU:
1558 return MarkAsSimd128(node), VisitUint32x4Max(node); 1558 return MarkAsSimd128(node), VisitI32x4MaxU(node);
1559 case IrOpcode::kUint32x4LessThan: 1559 case IrOpcode::kI32x4LtU:
1560 return MarkAsSimd1x4(node), VisitUint32x4LessThan(node); 1560 return MarkAsSimd1x4(node), VisitI32x4LtU(node);
1561 case IrOpcode::kUint32x4LessThanOrEqual: 1561 case IrOpcode::kI32x4LeU:
1562 return MarkAsSimd1x4(node), VisitUint32x4LessThanOrEqual(node); 1562 return MarkAsSimd1x4(node), VisitI32x4LeU(node);
1563 case IrOpcode::kInt16x8Splat: 1563 case IrOpcode::kI16x8Splat:
1564 return MarkAsSimd128(node), VisitInt16x8Splat(node); 1564 return MarkAsSimd128(node), VisitI16x8Splat(node);
1565 case IrOpcode::kInt16x8ExtractLane: 1565 case IrOpcode::kI16x8ExtractLane:
1566 return MarkAsWord32(node), VisitInt16x8ExtractLane(node); 1566 return MarkAsWord32(node), VisitI16x8ExtractLane(node);
1567 case IrOpcode::kInt16x8ReplaceLane: 1567 case IrOpcode::kI16x8ReplaceLane:
1568 return MarkAsSimd128(node), VisitInt16x8ReplaceLane(node); 1568 return MarkAsSimd128(node), VisitI16x8ReplaceLane(node);
1569 case IrOpcode::kInt16x8Neg: 1569 case IrOpcode::kI16x8Neg:
1570 return MarkAsSimd128(node), VisitInt16x8Neg(node); 1570 return MarkAsSimd128(node), VisitI16x8Neg(node);
1571 case IrOpcode::kInt16x8ShiftLeftByScalar: 1571 case IrOpcode::kI16x8Shl:
1572 return MarkAsSimd128(node), VisitInt16x8ShiftLeftByScalar(node); 1572 return MarkAsSimd128(node), VisitI16x8Shl(node);
1573 case IrOpcode::kInt16x8ShiftRightByScalar: 1573 case IrOpcode::kI16x8ShrS:
1574 return MarkAsSimd128(node), VisitInt16x8ShiftRightByScalar(node); 1574 return MarkAsSimd128(node), VisitI16x8ShrS(node);
1575 case IrOpcode::kInt16x8Add: 1575 case IrOpcode::kI16x8Add:
1576 return MarkAsSimd128(node), VisitInt16x8Add(node); 1576 return MarkAsSimd128(node), VisitI16x8Add(node);
1577 case IrOpcode::kInt16x8AddSaturate: 1577 case IrOpcode::kI16x8AddSaturateS:
1578 return MarkAsSimd128(node), VisitInt16x8AddSaturate(node); 1578 return MarkAsSimd128(node), VisitI16x8AddSaturateS(node);
1579 case IrOpcode::kInt16x8Sub: 1579 case IrOpcode::kI16x8Sub:
1580 return MarkAsSimd128(node), VisitInt16x8Sub(node); 1580 return MarkAsSimd128(node), VisitI16x8Sub(node);
1581 case IrOpcode::kInt16x8SubSaturate: 1581 case IrOpcode::kI16x8SubSaturateS:
1582 return MarkAsSimd128(node), VisitInt16x8SubSaturate(node); 1582 return MarkAsSimd128(node), VisitI16x8SubSaturateS(node);
1583 case IrOpcode::kInt16x8Mul: 1583 case IrOpcode::kI16x8Mul:
1584 return MarkAsSimd128(node), VisitInt16x8Mul(node); 1584 return MarkAsSimd128(node), VisitI16x8Mul(node);
1585 case IrOpcode::kInt16x8Min: 1585 case IrOpcode::kI16x8MinS:
1586 return MarkAsSimd128(node), VisitInt16x8Min(node); 1586 return MarkAsSimd128(node), VisitI16x8MinS(node);
1587 case IrOpcode::kInt16x8Max: 1587 case IrOpcode::kI16x8MaxS:
1588 return MarkAsSimd128(node), VisitInt16x8Max(node); 1588 return MarkAsSimd128(node), VisitI16x8MaxS(node);
1589 case IrOpcode::kInt16x8Equal: 1589 case IrOpcode::kI16x8Eq:
1590 return MarkAsSimd1x8(node), VisitInt16x8Equal(node); 1590 return MarkAsSimd1x8(node), VisitI16x8Eq(node);
1591 case IrOpcode::kInt16x8NotEqual: 1591 case IrOpcode::kI16x8Ne:
1592 return MarkAsSimd1x8(node), VisitInt16x8NotEqual(node); 1592 return MarkAsSimd1x8(node), VisitI16x8Ne(node);
1593 case IrOpcode::kInt16x8LessThan: 1593 case IrOpcode::kI16x8LtS:
1594 return MarkAsSimd1x8(node), VisitInt16x8LessThan(node); 1594 return MarkAsSimd1x8(node), VisitI16x8LtS(node);
1595 case IrOpcode::kInt16x8LessThanOrEqual: 1595 case IrOpcode::kI16x8LeS:
1596 return MarkAsSimd1x8(node), VisitInt16x8LessThanOrEqual(node); 1596 return MarkAsSimd1x8(node), VisitI16x8LeS(node);
1597 case IrOpcode::kUint16x8ShiftRightByScalar: 1597 case IrOpcode::kI16x8ShrU:
1598 return MarkAsSimd128(node), VisitUint16x8ShiftRightByScalar(node); 1598 return MarkAsSimd128(node), VisitI16x8ShrU(node);
1599 case IrOpcode::kUint16x8AddSaturate: 1599 case IrOpcode::kI16x8AddSaturateU:
1600 return MarkAsSimd128(node), VisitUint16x8AddSaturate(node); 1600 return MarkAsSimd128(node), VisitI16x8AddSaturateU(node);
1601 case IrOpcode::kUint16x8SubSaturate: 1601 case IrOpcode::kI16x8SubSaturateU:
1602 return MarkAsSimd128(node), VisitUint16x8SubSaturate(node); 1602 return MarkAsSimd128(node), VisitI16x8SubSaturateU(node);
1603 case IrOpcode::kUint16x8Min: 1603 case IrOpcode::kI16x8MinU:
1604 return MarkAsSimd128(node), VisitUint16x8Min(node); 1604 return MarkAsSimd128(node), VisitI16x8MinU(node);
1605 case IrOpcode::kUint16x8Max: 1605 case IrOpcode::kI16x8MaxU:
1606 return MarkAsSimd128(node), VisitUint16x8Max(node); 1606 return MarkAsSimd128(node), VisitI16x8MaxU(node);
1607 case IrOpcode::kUint16x8LessThan: 1607 case IrOpcode::kI16x8LtU:
1608 return MarkAsSimd1x8(node), VisitUint16x8LessThan(node); 1608 return MarkAsSimd1x8(node), VisitI16x8LtU(node);
1609 case IrOpcode::kUint16x8LessThanOrEqual: 1609 case IrOpcode::kI16x8LeU:
1610 return MarkAsSimd1x8(node), VisitUint16x8LessThanOrEqual(node); 1610 return MarkAsSimd1x8(node), VisitI16x8LeU(node);
1611 case IrOpcode::kInt8x16Splat: 1611 case IrOpcode::kI8x16Splat:
1612 return MarkAsSimd128(node), VisitInt8x16Splat(node); 1612 return MarkAsSimd128(node), VisitI8x16Splat(node);
1613 case IrOpcode::kInt8x16ExtractLane: 1613 case IrOpcode::kI8x16ExtractLane:
1614 return MarkAsWord32(node), VisitInt8x16ExtractLane(node); 1614 return MarkAsWord32(node), VisitI8x16ExtractLane(node);
1615 case IrOpcode::kInt8x16ReplaceLane: 1615 case IrOpcode::kI8x16ReplaceLane:
1616 return MarkAsSimd128(node), VisitInt8x16ReplaceLane(node); 1616 return MarkAsSimd128(node), VisitI8x16ReplaceLane(node);
1617 case IrOpcode::kInt8x16Neg: 1617 case IrOpcode::kI8x16Neg:
1618 return MarkAsSimd128(node), VisitInt8x16Neg(node); 1618 return MarkAsSimd128(node), VisitI8x16Neg(node);
1619 case IrOpcode::kInt8x16ShiftLeftByScalar: 1619 case IrOpcode::kI8x16Shl:
1620 return MarkAsSimd128(node), VisitInt8x16ShiftLeftByScalar(node); 1620 return MarkAsSimd128(node), VisitI8x16Shl(node);
1621 case IrOpcode::kInt8x16ShiftRightByScalar: 1621 case IrOpcode::kI8x16ShrS:
1622 return MarkAsSimd128(node), VisitInt8x16ShiftRightByScalar(node); 1622 return MarkAsSimd128(node), VisitI8x16ShrS(node);
1623 case IrOpcode::kInt8x16Add: 1623 case IrOpcode::kI8x16Add:
1624 return MarkAsSimd128(node), VisitInt8x16Add(node); 1624 return MarkAsSimd128(node), VisitI8x16Add(node);
1625 case IrOpcode::kInt8x16AddSaturate: 1625 case IrOpcode::kI8x16AddSaturateS:
1626 return MarkAsSimd128(node), VisitInt8x16AddSaturate(node); 1626 return MarkAsSimd128(node), VisitI8x16AddSaturateS(node);
1627 case IrOpcode::kInt8x16Sub: 1627 case IrOpcode::kI8x16Sub:
1628 return MarkAsSimd128(node), VisitInt8x16Sub(node); 1628 return MarkAsSimd128(node), VisitI8x16Sub(node);
1629 case IrOpcode::kInt8x16SubSaturate: 1629 case IrOpcode::kI8x16SubSaturateS:
1630 return MarkAsSimd128(node), VisitInt8x16SubSaturate(node); 1630 return MarkAsSimd128(node), VisitI8x16SubSaturateS(node);
1631 case IrOpcode::kInt8x16Mul: 1631 case IrOpcode::kI8x16Mul:
1632 return MarkAsSimd128(node), VisitInt8x16Mul(node); 1632 return MarkAsSimd128(node), VisitI8x16Mul(node);
1633 case IrOpcode::kInt8x16Min: 1633 case IrOpcode::kI8x16MinS:
1634 return MarkAsSimd128(node), VisitInt8x16Min(node); 1634 return MarkAsSimd128(node), VisitI8x16MinS(node);
1635 case IrOpcode::kInt8x16Max: 1635 case IrOpcode::kI8x16MaxS:
1636 return MarkAsSimd128(node), VisitInt8x16Max(node); 1636 return MarkAsSimd128(node), VisitI8x16MaxS(node);
1637 case IrOpcode::kInt8x16Equal: 1637 case IrOpcode::kI8x16Eq:
1638 return MarkAsSimd1x16(node), VisitInt8x16Equal(node); 1638 return MarkAsSimd1x16(node), VisitI8x16Eq(node);
1639 case IrOpcode::kInt8x16NotEqual: 1639 case IrOpcode::kI8x16Ne:
1640 return MarkAsSimd1x16(node), VisitInt8x16NotEqual(node); 1640 return MarkAsSimd1x16(node), VisitI8x16Ne(node);
1641 case IrOpcode::kInt8x16LessThan: 1641 case IrOpcode::kI8x16LtS:
1642 return MarkAsSimd1x16(node), VisitInt8x16LessThan(node); 1642 return MarkAsSimd1x16(node), VisitI8x16LtS(node);
1643 case IrOpcode::kInt8x16LessThanOrEqual: 1643 case IrOpcode::kI8x16LeS:
1644 return MarkAsSimd1x16(node), VisitInt8x16LessThanOrEqual(node); 1644 return MarkAsSimd1x16(node), VisitI8x16LeS(node);
1645 case IrOpcode::kUint8x16ShiftRightByScalar: 1645 case IrOpcode::kI8x16ShrU:
1646 return MarkAsSimd128(node), VisitUint8x16ShiftRightByScalar(node); 1646 return MarkAsSimd128(node), VisitI8x16ShrU(node);
1647 case IrOpcode::kUint8x16AddSaturate: 1647 case IrOpcode::kI8x16AddSaturateU:
1648 return MarkAsSimd128(node), VisitUint8x16AddSaturate(node); 1648 return MarkAsSimd128(node), VisitI8x16AddSaturateU(node);
1649 case IrOpcode::kUint8x16SubSaturate: 1649 case IrOpcode::kI8x16SubSaturateU:
1650 return MarkAsSimd128(node), VisitUint8x16SubSaturate(node); 1650 return MarkAsSimd128(node), VisitI8x16SubSaturateU(node);
1651 case IrOpcode::kUint8x16Min: 1651 case IrOpcode::kI8x16MinU:
1652 return MarkAsSimd128(node), VisitUint8x16Min(node); 1652 return MarkAsSimd128(node), VisitI8x16MinU(node);
1653 case IrOpcode::kUint8x16Max: 1653 case IrOpcode::kI8x16MaxU:
1654 return MarkAsSimd128(node), VisitUint8x16Max(node); 1654 return MarkAsSimd128(node), VisitI8x16MaxU(node);
1655 case IrOpcode::kUint8x16LessThan: 1655 case IrOpcode::kI8x16LtU:
1656 return MarkAsSimd1x16(node), VisitUint8x16LessThan(node); 1656 return MarkAsSimd1x16(node), VisitI8x16LtU(node);
1657 case IrOpcode::kUint8x16LessThanOrEqual: 1657 case IrOpcode::kI8x16LeU:
1658 return MarkAsSimd1x16(node), VisitUint16x8LessThanOrEqual(node); 1658 return MarkAsSimd1x16(node), VisitI16x8LeU(node);
1659 case IrOpcode::kSimd128Zero: 1659 case IrOpcode::kS128Zero:
1660 return MarkAsSimd128(node), VisitSimd128Zero(node); 1660 return MarkAsSimd128(node), VisitS128Zero(node);
1661 case IrOpcode::kSimd128And: 1661 case IrOpcode::kS128And:
1662 return MarkAsSimd128(node), VisitSimd128And(node); 1662 return MarkAsSimd128(node), VisitS128And(node);
1663 case IrOpcode::kSimd128Or: 1663 case IrOpcode::kS128Or:
1664 return MarkAsSimd128(node), VisitSimd128Or(node); 1664 return MarkAsSimd128(node), VisitS128Or(node);
1665 case IrOpcode::kSimd128Xor: 1665 case IrOpcode::kS128Xor:
1666 return MarkAsSimd128(node), VisitSimd128Xor(node); 1666 return MarkAsSimd128(node), VisitS128Xor(node);
1667 case IrOpcode::kSimd128Not: 1667 case IrOpcode::kS128Not:
1668 return MarkAsSimd128(node), VisitSimd128Not(node); 1668 return MarkAsSimd128(node), VisitS128Not(node);
1669 case IrOpcode::kSimd32x4Select: 1669 case IrOpcode::kS32x4Select:
1670 return MarkAsSimd128(node), VisitSimd32x4Select(node); 1670 return MarkAsSimd128(node), VisitS32x4Select(node);
1671 case IrOpcode::kSimd16x8Select: 1671 case IrOpcode::kS16x8Select:
1672 return MarkAsSimd128(node), VisitSimd16x8Select(node); 1672 return MarkAsSimd128(node), VisitS16x8Select(node);
1673 case IrOpcode::kSimd8x16Select: 1673 case IrOpcode::kS8x16Select:
1674 return MarkAsSimd128(node), VisitSimd8x16Select(node); 1674 return MarkAsSimd128(node), VisitS8x16Select(node);
1675 case IrOpcode::kSimd1x4Zero: 1675 case IrOpcode::kS1x4Zero:
1676 return MarkAsSimd1x4(node), VisitSimd1x4Zero(node); 1676 return MarkAsSimd1x4(node), VisitS1x4Zero(node);
1677 case IrOpcode::kSimd1x4And: 1677 case IrOpcode::kS1x4And:
1678 return MarkAsSimd1x4(node), VisitSimd1x4And(node); 1678 return MarkAsSimd1x4(node), VisitS1x4And(node);
1679 case IrOpcode::kSimd1x4Or: 1679 case IrOpcode::kS1x4Or:
1680 return MarkAsSimd1x4(node), VisitSimd1x4Or(node); 1680 return MarkAsSimd1x4(node), VisitS1x4Or(node);
1681 case IrOpcode::kSimd1x4Xor: 1681 case IrOpcode::kS1x4Xor:
1682 return MarkAsSimd1x4(node), VisitSimd1x4Xor(node); 1682 return MarkAsSimd1x4(node), VisitS1x4Xor(node);
1683 case IrOpcode::kSimd1x4Not: 1683 case IrOpcode::kS1x4Not:
1684 return MarkAsSimd1x4(node), VisitSimd1x4Not(node); 1684 return MarkAsSimd1x4(node), VisitS1x4Not(node);
1685 case IrOpcode::kSimd1x4AnyTrue: 1685 case IrOpcode::kS1x4AnyTrue:
1686 return MarkAsWord32(node), VisitSimd1x4AnyTrue(node); 1686 return MarkAsWord32(node), VisitS1x4AnyTrue(node);
1687 case IrOpcode::kSimd1x4AllTrue: 1687 case IrOpcode::kS1x4AllTrue:
1688 return MarkAsWord32(node), VisitSimd1x4AllTrue(node); 1688 return MarkAsWord32(node), VisitS1x4AllTrue(node);
1689 case IrOpcode::kSimd1x8Zero: 1689 case IrOpcode::kS1x8Zero:
1690 return MarkAsSimd1x8(node), VisitSimd1x8Zero(node); 1690 return MarkAsSimd1x8(node), VisitS1x8Zero(node);
1691 case IrOpcode::kSimd1x8And: 1691 case IrOpcode::kS1x8And:
1692 return MarkAsSimd1x8(node), VisitSimd1x8And(node); 1692 return MarkAsSimd1x8(node), VisitS1x8And(node);
1693 case IrOpcode::kSimd1x8Or: 1693 case IrOpcode::kS1x8Or:
1694 return MarkAsSimd1x8(node), VisitSimd1x8Or(node); 1694 return MarkAsSimd1x8(node), VisitS1x8Or(node);
1695 case IrOpcode::kSimd1x8Xor: 1695 case IrOpcode::kS1x8Xor:
1696 return MarkAsSimd1x8(node), VisitSimd1x8Xor(node); 1696 return MarkAsSimd1x8(node), VisitS1x8Xor(node);
1697 case IrOpcode::kSimd1x8Not: 1697 case IrOpcode::kS1x8Not:
1698 return MarkAsSimd1x8(node), VisitSimd1x8Not(node); 1698 return MarkAsSimd1x8(node), VisitS1x8Not(node);
1699 case IrOpcode::kSimd1x8AnyTrue: 1699 case IrOpcode::kS1x8AnyTrue:
1700 return MarkAsWord32(node), VisitSimd1x8AnyTrue(node); 1700 return MarkAsWord32(node), VisitS1x8AnyTrue(node);
1701 case IrOpcode::kSimd1x8AllTrue: 1701 case IrOpcode::kS1x8AllTrue:
1702 return MarkAsWord32(node), VisitSimd1x8AllTrue(node); 1702 return MarkAsWord32(node), VisitS1x8AllTrue(node);
1703 case IrOpcode::kSimd1x16Zero: 1703 case IrOpcode::kS1x16Zero:
1704 return MarkAsSimd1x16(node), VisitSimd1x16Zero(node); 1704 return MarkAsSimd1x16(node), VisitS1x16Zero(node);
1705 case IrOpcode::kSimd1x16And: 1705 case IrOpcode::kS1x16And:
1706 return MarkAsSimd1x16(node), VisitSimd1x16And(node); 1706 return MarkAsSimd1x16(node), VisitS1x16And(node);
1707 case IrOpcode::kSimd1x16Or: 1707 case IrOpcode::kS1x16Or:
1708 return MarkAsSimd1x16(node), VisitSimd1x16Or(node); 1708 return MarkAsSimd1x16(node), VisitS1x16Or(node);
1709 case IrOpcode::kSimd1x16Xor: 1709 case IrOpcode::kS1x16Xor:
1710 return MarkAsSimd1x16(node), VisitSimd1x16Xor(node); 1710 return MarkAsSimd1x16(node), VisitS1x16Xor(node);
1711 case IrOpcode::kSimd1x16Not: 1711 case IrOpcode::kS1x16Not:
1712 return MarkAsSimd1x16(node), VisitSimd1x16Not(node); 1712 return MarkAsSimd1x16(node), VisitS1x16Not(node);
1713 case IrOpcode::kSimd1x16AnyTrue: 1713 case IrOpcode::kS1x16AnyTrue:
1714 return MarkAsWord32(node), VisitSimd1x16AnyTrue(node); 1714 return MarkAsWord32(node), VisitS1x16AnyTrue(node);
1715 case IrOpcode::kSimd1x16AllTrue: 1715 case IrOpcode::kS1x16AllTrue:
1716 return MarkAsWord32(node), VisitSimd1x16AllTrue(node); 1716 return MarkAsWord32(node), VisitS1x16AllTrue(node);
1717 default: 1717 default:
1718 V8_Fatal(__FILE__, __LINE__, "Unexpected operator #%d:%s @ node #%d", 1718 V8_Fatal(__FILE__, __LINE__, "Unexpected operator #%d:%s @ node #%d",
1719 node->opcode(), node->op()->mnemonic(), node->id()); 1719 node->opcode(), node->op()->mnemonic(), node->id());
1720 break; 1720 break;
1721 } 1721 }
1722 } 1722 }
1723 1723
1724 void InstructionSelector::VisitLoadStackPointer(Node* node) { 1724 void InstructionSelector::VisitLoadStackPointer(Node* node) {
1725 OperandGenerator g(this); 1725 OperandGenerator g(this);
1726 Emit(kArchStackPointer, g.DefineAsRegister(node)); 1726 Emit(kArchStackPointer, g.DefineAsRegister(node));
(...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after
2035 2035
2036 void InstructionSelector::VisitInt32PairMul(Node* node) { UNIMPLEMENTED(); } 2036 void InstructionSelector::VisitInt32PairMul(Node* node) { UNIMPLEMENTED(); }
2037 2037
2038 void InstructionSelector::VisitWord32PairShl(Node* node) { UNIMPLEMENTED(); } 2038 void InstructionSelector::VisitWord32PairShl(Node* node) { UNIMPLEMENTED(); }
2039 2039
2040 void InstructionSelector::VisitWord32PairShr(Node* node) { UNIMPLEMENTED(); } 2040 void InstructionSelector::VisitWord32PairShr(Node* node) { UNIMPLEMENTED(); }
2041 2041
2042 void InstructionSelector::VisitWord32PairSar(Node* node) { UNIMPLEMENTED(); } 2042 void InstructionSelector::VisitWord32PairSar(Node* node) { UNIMPLEMENTED(); }
2043 #endif // V8_TARGET_ARCH_64_BIT 2043 #endif // V8_TARGET_ARCH_64_BIT
2044 2044
2045 #if !V8_TARGET_ARCH_ARM
2046 void InstructionSelector::VisitF32x4Splat(Node* node) { UNIMPLEMENTED(); }
2047
2048 void InstructionSelector::VisitF32x4ExtractLane(Node* node) { UNIMPLEMENTED(); }
2049
2050 void InstructionSelector::VisitF32x4ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2051
2052 void InstructionSelector::VisitF32x4SConvertI32x4(Node* node) {
2053 UNIMPLEMENTED();
2054 }
2055
2056 void InstructionSelector::VisitF32x4UConvertI32x4(Node* node) {
2057 UNIMPLEMENTED();
2058 }
2059
2060 void InstructionSelector::VisitF32x4Abs(Node* node) { UNIMPLEMENTED(); }
2061
2062 void InstructionSelector::VisitF32x4Neg(Node* node) { UNIMPLEMENTED(); }
2063
2064 void InstructionSelector::VisitF32x4RecipSqrtApprox(Node* node) {
2065 UNIMPLEMENTED();
2066 }
2067
2068 void InstructionSelector::VisitF32x4RecipSqrtRefine(Node* node) {
2069 UNIMPLEMENTED();
2070 }
2071
2072 void InstructionSelector::VisitF32x4Add(Node* node) { UNIMPLEMENTED(); }
2073
2074 void InstructionSelector::VisitF32x4Sub(Node* node) { UNIMPLEMENTED(); }
2075
2076 void InstructionSelector::VisitF32x4Mul(Node* node) { UNIMPLEMENTED(); }
2077
2078 void InstructionSelector::VisitF32x4Max(Node* node) { UNIMPLEMENTED(); }
2079
2080 void InstructionSelector::VisitF32x4Min(Node* node) { UNIMPLEMENTED(); }
2081
2082 void InstructionSelector::VisitF32x4RecipApprox(Node* node) { UNIMPLEMENTED(); }
2083
2084 void InstructionSelector::VisitF32x4RecipRefine(Node* node) { UNIMPLEMENTED(); }
2085
2086 void InstructionSelector::VisitF32x4Eq(Node* node) { UNIMPLEMENTED(); }
2087
2088 void InstructionSelector::VisitF32x4Ne(Node* node) { UNIMPLEMENTED(); }
2089
2090 void InstructionSelector::VisitF32x4Lt(Node* node) { UNIMPLEMENTED(); }
2091
2092 void InstructionSelector::VisitF32x4Le(Node* node) { UNIMPLEMENTED(); }
2093 #endif // V8_TARGET_ARCH_ARM
2094
2045 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_IA32 2095 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_IA32
2046 void InstructionSelector::VisitInt32x4Splat(Node* node) { UNIMPLEMENTED(); } 2096 void InstructionSelector::VisitI32x4Splat(Node* node) { UNIMPLEMENTED(); }
2047 2097
2048 void InstructionSelector::VisitInt32x4ExtractLane(Node* node) { 2098 void InstructionSelector::VisitI32x4ExtractLane(Node* node) { UNIMPLEMENTED(); }
2049 UNIMPLEMENTED(); 2099
2050 } 2100 void InstructionSelector::VisitI32x4ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2051 2101
2052 void InstructionSelector::VisitInt32x4ReplaceLane(Node* node) { 2102 void InstructionSelector::VisitI32x4Add(Node* node) { UNIMPLEMENTED(); }
2053 UNIMPLEMENTED(); 2103
2054 } 2104 void InstructionSelector::VisitI32x4Sub(Node* node) { UNIMPLEMENTED(); }
2055
2056 void InstructionSelector::VisitInt32x4Add(Node* node) { UNIMPLEMENTED(); }
2057
2058 void InstructionSelector::VisitInt32x4Sub(Node* node) { UNIMPLEMENTED(); }
2059 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_IA32 2105 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM && !V8_TARGET_ARCH_IA32
2060 2106
2061 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2107 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2062 void InstructionSelector::VisitInt32x4Mul(Node* node) { UNIMPLEMENTED(); } 2108 void InstructionSelector::VisitI32x4Shl(Node* node) { UNIMPLEMENTED(); }
2063 2109
2064 void InstructionSelector::VisitInt32x4Max(Node* node) { UNIMPLEMENTED(); } 2110 void InstructionSelector::VisitI32x4ShrS(Node* node) { UNIMPLEMENTED(); }
2065 2111
2066 void InstructionSelector::VisitInt32x4Min(Node* node) { UNIMPLEMENTED(); } 2112 void InstructionSelector::VisitI32x4Mul(Node* node) { UNIMPLEMENTED(); }
2067 2113
2068 void InstructionSelector::VisitInt32x4Equal(Node* node) { UNIMPLEMENTED(); } 2114 void InstructionSelector::VisitI32x4MaxS(Node* node) { UNIMPLEMENTED(); }
2069 2115
2070 void InstructionSelector::VisitInt32x4NotEqual(Node* node) { UNIMPLEMENTED(); } 2116 void InstructionSelector::VisitI32x4MinS(Node* node) { UNIMPLEMENTED(); }
2071 2117
2072 void InstructionSelector::VisitInt32x4ShiftLeftByScalar(Node* node) { 2118 void InstructionSelector::VisitI32x4Eq(Node* node) { UNIMPLEMENTED(); }
2073 UNIMPLEMENTED(); 2119
2074 } 2120 void InstructionSelector::VisitI32x4Ne(Node* node) { UNIMPLEMENTED(); }
2075 2121
2076 void InstructionSelector::VisitInt32x4ShiftRightByScalar(Node* node) { 2122 void InstructionSelector::VisitI32x4MinU(Node* node) { UNIMPLEMENTED(); }
2077 UNIMPLEMENTED(); 2123
2078 } 2124 void InstructionSelector::VisitI32x4MaxU(Node* node) { UNIMPLEMENTED(); }
2079 2125
2080 void InstructionSelector::VisitUint32x4ShiftRightByScalar(Node* node) { 2126 void InstructionSelector::VisitI32x4ShrU(Node* node) { UNIMPLEMENTED(); }
2081 UNIMPLEMENTED();
2082 }
2083
2084 void InstructionSelector::VisitUint32x4Max(Node* node) { UNIMPLEMENTED(); }
2085
2086 void InstructionSelector::VisitUint32x4Min(Node* node) { UNIMPLEMENTED(); }
2087
2088 void InstructionSelector::VisitSimd128Zero(Node* node) { UNIMPLEMENTED(); }
2089
2090 void InstructionSelector::VisitSimd1x4Zero(Node* node) { UNIMPLEMENTED(); }
2091
2092 void InstructionSelector::VisitSimd1x8Zero(Node* node) { UNIMPLEMENTED(); }
2093
2094 void InstructionSelector::VisitSimd1x16Zero(Node* node) { UNIMPLEMENTED(); }
2095 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2127 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2096 2128
2097 #if !V8_TARGET_ARCH_ARM 2129 #if !V8_TARGET_ARCH_ARM
2098 void InstructionSelector::VisitFloat32x4Splat(Node* node) { UNIMPLEMENTED(); } 2130 void InstructionSelector::VisitI32x4SConvertF32x4(Node* node) {
2099 2131 UNIMPLEMENTED();
2100 void InstructionSelector::VisitFloat32x4ExtractLane(Node* node) { 2132 }
2101 UNIMPLEMENTED(); 2133
2102 } 2134 void InstructionSelector::VisitI32x4Neg(Node* node) { UNIMPLEMENTED(); }
2103 2135
2104 void InstructionSelector::VisitFloat32x4ReplaceLane(Node* node) { 2136 void InstructionSelector::VisitI32x4LtS(Node* node) { UNIMPLEMENTED(); }
2105 UNIMPLEMENTED(); 2137
2106 } 2138 void InstructionSelector::VisitI32x4LeS(Node* node) { UNIMPLEMENTED(); }
2107 2139
2108 void InstructionSelector::VisitFloat32x4FromInt32x4(Node* node) { 2140 void InstructionSelector::VisitI32x4UConvertF32x4(Node* node) {
2109 UNIMPLEMENTED(); 2141 UNIMPLEMENTED();
2110 } 2142 }
2111 2143
2112 void InstructionSelector::VisitFloat32x4FromUint32x4(Node* node) { 2144 void InstructionSelector::VisitI32x4LtU(Node* node) { UNIMPLEMENTED(); }
2113 UNIMPLEMENTED(); 2145
2114 } 2146 void InstructionSelector::VisitI32x4LeU(Node* node) { UNIMPLEMENTED(); }
2115 2147
2116 void InstructionSelector::VisitFloat32x4Abs(Node* node) { UNIMPLEMENTED(); } 2148 void InstructionSelector::VisitI16x8Splat(Node* node) { UNIMPLEMENTED(); }
2117 2149
2118 void InstructionSelector::VisitFloat32x4Neg(Node* node) { UNIMPLEMENTED(); } 2150 void InstructionSelector::VisitI16x8ExtractLane(Node* node) { UNIMPLEMENTED(); }
2119 2151
2120 void InstructionSelector::VisitFloat32x4RecipApprox(Node* node) { 2152 void InstructionSelector::VisitI16x8ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2121 UNIMPLEMENTED(); 2153
2122 } 2154 void InstructionSelector::VisitI16x8Neg(Node* node) { UNIMPLEMENTED(); }
2123 2155
2124 void InstructionSelector::VisitFloat32x4RecipRefine(Node* node) { 2156 void InstructionSelector::VisitI16x8Shl(Node* node) { UNIMPLEMENTED(); }
2125 UNIMPLEMENTED(); 2157
2126 } 2158 void InstructionSelector::VisitI16x8ShrS(Node* node) { UNIMPLEMENTED(); }
2127 2159
2128 void InstructionSelector::VisitFloat32x4RecipSqrtApprox(Node* node) { 2160 void InstructionSelector::VisitI16x8Add(Node* node) { UNIMPLEMENTED(); }
2129 UNIMPLEMENTED(); 2161
2130 } 2162 void InstructionSelector::VisitI16x8AddSaturateS(Node* node) {
2131 2163 UNIMPLEMENTED();
2132 void InstructionSelector::VisitFloat32x4RecipSqrtRefine(Node* node) { 2164 }
2133 UNIMPLEMENTED(); 2165
2134 } 2166 void InstructionSelector::VisitI16x8Sub(Node* node) { UNIMPLEMENTED(); }
2135 2167
2136 void InstructionSelector::VisitFloat32x4Add(Node* node) { UNIMPLEMENTED(); } 2168 void InstructionSelector::VisitI16x8SubSaturateS(Node* node) {
2137 2169 UNIMPLEMENTED();
2138 void InstructionSelector::VisitFloat32x4Sub(Node* node) { UNIMPLEMENTED(); } 2170 }
2139 2171
2140 void InstructionSelector::VisitFloat32x4Mul(Node* node) { UNIMPLEMENTED(); } 2172 void InstructionSelector::VisitI16x8Mul(Node* node) { UNIMPLEMENTED(); }
2141 2173
2142 void InstructionSelector::VisitFloat32x4Max(Node* node) { UNIMPLEMENTED(); } 2174 void InstructionSelector::VisitI16x8MinS(Node* node) { UNIMPLEMENTED(); }
2143 2175
2144 void InstructionSelector::VisitFloat32x4Min(Node* node) { UNIMPLEMENTED(); } 2176 void InstructionSelector::VisitI16x8MaxS(Node* node) { UNIMPLEMENTED(); }
2145 2177
2146 void InstructionSelector::VisitFloat32x4Equal(Node* node) { UNIMPLEMENTED(); } 2178 void InstructionSelector::VisitI16x8Eq(Node* node) { UNIMPLEMENTED(); }
2147 2179
2148 void InstructionSelector::VisitFloat32x4NotEqual(Node* node) { 2180 void InstructionSelector::VisitI16x8Ne(Node* node) { UNIMPLEMENTED(); }
2149 UNIMPLEMENTED(); 2181
2150 } 2182 void InstructionSelector::VisitI16x8LtS(Node* node) { UNIMPLEMENTED(); }
2151 2183
2152 void InstructionSelector::VisitFloat32x4LessThan(Node* node) { 2184 void InstructionSelector::VisitI16x8LeS(Node* node) { UNIMPLEMENTED(); }
2153 UNIMPLEMENTED(); 2185
2154 } 2186 void InstructionSelector::VisitI16x8ShrU(Node* node) { UNIMPLEMENTED(); }
2155 2187
2156 void InstructionSelector::VisitFloat32x4LessThanOrEqual(Node* node) { 2188 void InstructionSelector::VisitI16x8AddSaturateU(Node* node) {
2157 UNIMPLEMENTED(); 2189 UNIMPLEMENTED();
2158 } 2190 }
2159 2191
2160 void InstructionSelector::VisitInt32x4FromFloat32x4(Node* node) { 2192 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) {
2161 UNIMPLEMENTED(); 2193 UNIMPLEMENTED();
2162 } 2194 }
2163 2195
2164 void InstructionSelector::VisitUint32x4FromFloat32x4(Node* node) { 2196 void InstructionSelector::VisitI16x8MinU(Node* node) { UNIMPLEMENTED(); }
2165 UNIMPLEMENTED(); 2197
2166 } 2198 void InstructionSelector::VisitI16x8MaxU(Node* node) { UNIMPLEMENTED(); }
2167 2199
2168 void InstructionSelector::VisitInt32x4Neg(Node* node) { UNIMPLEMENTED(); } 2200 void InstructionSelector::VisitI16x8LtU(Node* node) { UNIMPLEMENTED(); }
2169 2201
2170 void InstructionSelector::VisitInt32x4LessThan(Node* node) { UNIMPLEMENTED(); } 2202 void InstructionSelector::VisitI16x8LeU(Node* node) { UNIMPLEMENTED(); }
2171 2203
2172 void InstructionSelector::VisitInt32x4LessThanOrEqual(Node* node) { 2204 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); }
2173 UNIMPLEMENTED(); 2205
2174 } 2206 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { UNIMPLEMENTED(); }
2175 2207
2176 void InstructionSelector::VisitUint32x4LessThan(Node* node) { UNIMPLEMENTED(); } 2208 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { UNIMPLEMENTED(); }
2177 2209
2178 void InstructionSelector::VisitUint32x4LessThanOrEqual(Node* node) { 2210 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); }
2179 UNIMPLEMENTED(); 2211
2180 } 2212 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); }
2181 2213
2182 void InstructionSelector::VisitInt16x8Splat(Node* node) { UNIMPLEMENTED(); } 2214 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); }
2183 2215
2184 void InstructionSelector::VisitInt16x8ExtractLane(Node* node) { 2216 void InstructionSelector::VisitI8x16Add(Node* node) { UNIMPLEMENTED(); }
2185 UNIMPLEMENTED(); 2217
2186 } 2218 void InstructionSelector::VisitI8x16AddSaturateS(Node* node) {
2187 2219 UNIMPLEMENTED();
2188 void InstructionSelector::VisitInt16x8ReplaceLane(Node* node) { 2220 }
2189 UNIMPLEMENTED(); 2221
2190 } 2222 void InstructionSelector::VisitI8x16Sub(Node* node) { UNIMPLEMENTED(); }
2191 2223
2192 void InstructionSelector::VisitInt16x8Neg(Node* node) { UNIMPLEMENTED(); } 2224 void InstructionSelector::VisitI8x16SubSaturateS(Node* node) {
2193 2225 UNIMPLEMENTED();
2194 void InstructionSelector::VisitInt16x8ShiftLeftByScalar(Node* node) { 2226 }
2195 UNIMPLEMENTED(); 2227
2196 } 2228 void InstructionSelector::VisitI8x16Mul(Node* node) { UNIMPLEMENTED(); }
2197 2229
2198 void InstructionSelector::VisitInt16x8ShiftRightByScalar(Node* node) { 2230 void InstructionSelector::VisitI8x16MinS(Node* node) { UNIMPLEMENTED(); }
2199 UNIMPLEMENTED(); 2231
2200 } 2232 void InstructionSelector::VisitI8x16MaxS(Node* node) { UNIMPLEMENTED(); }
2201 2233
2202 void InstructionSelector::VisitInt16x8Add(Node* node) { UNIMPLEMENTED(); } 2234 void InstructionSelector::VisitI8x16Eq(Node* node) { UNIMPLEMENTED(); }
2203 2235
2204 void InstructionSelector::VisitInt16x8AddSaturate(Node* node) { 2236 void InstructionSelector::VisitI8x16Ne(Node* node) { UNIMPLEMENTED(); }
2205 UNIMPLEMENTED(); 2237
2206 } 2238 void InstructionSelector::VisitI8x16LtS(Node* node) { UNIMPLEMENTED(); }
2207 2239
2208 void InstructionSelector::VisitInt16x8Sub(Node* node) { UNIMPLEMENTED(); } 2240 void InstructionSelector::VisitI8x16LeS(Node* node) { UNIMPLEMENTED(); }
2209 2241
2210 void InstructionSelector::VisitInt16x8SubSaturate(Node* node) { 2242 void InstructionSelector::VisitI8x16ShrU(Node* node) { UNIMPLEMENTED(); }
2211 UNIMPLEMENTED(); 2243
2212 } 2244 void InstructionSelector::VisitI8x16AddSaturateU(Node* node) {
2213 2245 UNIMPLEMENTED();
2214 void InstructionSelector::VisitInt16x8Mul(Node* node) { UNIMPLEMENTED(); } 2246 }
2215 2247
2216 void InstructionSelector::VisitInt16x8Max(Node* node) { UNIMPLEMENTED(); } 2248 void InstructionSelector::VisitI8x16SubSaturateU(Node* node) {
2217 2249 UNIMPLEMENTED();
2218 void InstructionSelector::VisitInt16x8Min(Node* node) { UNIMPLEMENTED(); } 2250 }
2219 2251
2220 void InstructionSelector::VisitInt16x8Equal(Node* node) { UNIMPLEMENTED(); } 2252 void InstructionSelector::VisitI8x16MinU(Node* node) { UNIMPLEMENTED(); }
2221 2253
2222 void InstructionSelector::VisitInt16x8NotEqual(Node* node) { UNIMPLEMENTED(); } 2254 void InstructionSelector::VisitI8x16MaxU(Node* node) { UNIMPLEMENTED(); }
2223 2255
2224 void InstructionSelector::VisitInt16x8LessThan(Node* node) { UNIMPLEMENTED(); } 2256 void InstructionSelector::VisitI8x16LtU(Node* node) { UNIMPLEMENTED(); }
2225 2257
2226 void InstructionSelector::VisitInt16x8LessThanOrEqual(Node* node) { 2258 void InstructionSelector::VisitI8x16LeU(Node* node) { UNIMPLEMENTED(); }
2227 UNIMPLEMENTED(); 2259
2228 } 2260 void InstructionSelector::VisitS128And(Node* node) { UNIMPLEMENTED(); }
2229 2261
2230 void InstructionSelector::VisitUint16x8ShiftRightByScalar(Node* node) { 2262 void InstructionSelector::VisitS128Or(Node* node) { UNIMPLEMENTED(); }
2231 UNIMPLEMENTED(); 2263
2232 } 2264 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); }
2233 2265
2234 void InstructionSelector::VisitUint16x8AddSaturate(Node* node) { 2266 void InstructionSelector::VisitS128Not(Node* node) { UNIMPLEMENTED(); }
2235 UNIMPLEMENTED();
2236 }
2237
2238 void InstructionSelector::VisitUint16x8SubSaturate(Node* node) {
2239 UNIMPLEMENTED();
2240 }
2241
2242 void InstructionSelector::VisitUint16x8Max(Node* node) { UNIMPLEMENTED(); }
2243
2244 void InstructionSelector::VisitUint16x8Min(Node* node) { UNIMPLEMENTED(); }
2245
2246 void InstructionSelector::VisitUint16x8LessThan(Node* node) { UNIMPLEMENTED(); }
2247
2248 void InstructionSelector::VisitUint16x8LessThanOrEqual(Node* node) {
2249 UNIMPLEMENTED();
2250 }
2251
2252 void InstructionSelector::VisitInt8x16Splat(Node* node) { UNIMPLEMENTED(); }
2253
2254 void InstructionSelector::VisitInt8x16ExtractLane(Node* node) {
2255 UNIMPLEMENTED();
2256 }
2257
2258 void InstructionSelector::VisitInt8x16ReplaceLane(Node* node) {
2259 UNIMPLEMENTED();
2260 }
2261
2262 void InstructionSelector::VisitInt8x16Neg(Node* node) { UNIMPLEMENTED(); }
2263
2264 void InstructionSelector::VisitInt8x16ShiftLeftByScalar(Node* node) {
2265 UNIMPLEMENTED();
2266 }
2267
2268 void InstructionSelector::VisitInt8x16ShiftRightByScalar(Node* node) {
2269 UNIMPLEMENTED();
2270 }
2271
2272 void InstructionSelector::VisitInt8x16Add(Node* node) { UNIMPLEMENTED(); }
2273
2274 void InstructionSelector::VisitInt8x16AddSaturate(Node* node) {
2275 UNIMPLEMENTED();
2276 }
2277
2278 void InstructionSelector::VisitInt8x16Sub(Node* node) { UNIMPLEMENTED(); }
2279
2280 void InstructionSelector::VisitInt8x16SubSaturate(Node* node) {
2281 UNIMPLEMENTED();
2282 }
2283
2284 void InstructionSelector::VisitInt8x16Mul(Node* node) { UNIMPLEMENTED(); }
2285
2286 void InstructionSelector::VisitInt8x16Max(Node* node) { UNIMPLEMENTED(); }
2287
2288 void InstructionSelector::VisitInt8x16Min(Node* node) { UNIMPLEMENTED(); }
2289
2290 void InstructionSelector::VisitInt8x16Equal(Node* node) { UNIMPLEMENTED(); }
2291
2292 void InstructionSelector::VisitInt8x16NotEqual(Node* node) { UNIMPLEMENTED(); }
2293
2294 void InstructionSelector::VisitInt8x16LessThan(Node* node) { UNIMPLEMENTED(); }
2295
2296 void InstructionSelector::VisitInt8x16LessThanOrEqual(Node* node) {
2297 UNIMPLEMENTED();
2298 }
2299
2300 void InstructionSelector::VisitUint8x16ShiftRightByScalar(Node* node) {
2301 UNIMPLEMENTED();
2302 }
2303
2304 void InstructionSelector::VisitUint8x16AddSaturate(Node* node) {
2305 UNIMPLEMENTED();
2306 }
2307
2308 void InstructionSelector::VisitUint8x16SubSaturate(Node* node) {
2309 UNIMPLEMENTED();
2310 }
2311
2312 void InstructionSelector::VisitUint8x16Max(Node* node) { UNIMPLEMENTED(); }
2313
2314 void InstructionSelector::VisitUint8x16Min(Node* node) { UNIMPLEMENTED(); }
2315
2316 void InstructionSelector::VisitUint8x16LessThan(Node* node) { UNIMPLEMENTED(); }
2317
2318 void InstructionSelector::VisitUint8x16LessThanOrEqual(Node* node) {
2319 UNIMPLEMENTED();
2320 }
2321
2322 void InstructionSelector::VisitSimd128And(Node* node) { UNIMPLEMENTED(); }
2323
2324 void InstructionSelector::VisitSimd128Or(Node* node) { UNIMPLEMENTED(); }
2325
2326 void InstructionSelector::VisitSimd128Xor(Node* node) { UNIMPLEMENTED(); }
2327
2328 void InstructionSelector::VisitSimd128Not(Node* node) { UNIMPLEMENTED(); }
2329 #endif // !V8_TARGET_ARCH_ARM 2267 #endif // !V8_TARGET_ARCH_ARM
2330 2268
2331 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2269 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2332 void InstructionSelector::VisitSimd32x4Select(Node* node) { UNIMPLEMENTED(); } 2270 void InstructionSelector::VisitS128Zero(Node* node) { UNIMPLEMENTED(); }
2271
2272 void InstructionSelector::VisitS1x4Zero(Node* node) { UNIMPLEMENTED(); }
2273
2274 void InstructionSelector::VisitS1x8Zero(Node* node) { UNIMPLEMENTED(); }
2275
2276 void InstructionSelector::VisitS1x16Zero(Node* node) { UNIMPLEMENTED(); }
2277
2278 void InstructionSelector::VisitS32x4Select(Node* node) { UNIMPLEMENTED(); }
2333 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM 2279 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM
2334 2280
2335 #if !V8_TARGET_ARCH_ARM 2281 #if !V8_TARGET_ARCH_ARM
2336 void InstructionSelector::VisitSimd16x8Select(Node* node) { UNIMPLEMENTED(); } 2282 void InstructionSelector::VisitS16x8Select(Node* node) { UNIMPLEMENTED(); }
2337 2283
2338 void InstructionSelector::VisitSimd8x16Select(Node* node) { UNIMPLEMENTED(); } 2284 void InstructionSelector::VisitS8x16Select(Node* node) { UNIMPLEMENTED(); }
2339 2285
2340 void InstructionSelector::VisitSimd1x4And(Node* node) { UNIMPLEMENTED(); } 2286 void InstructionSelector::VisitS1x4And(Node* node) { UNIMPLEMENTED(); }
2341 2287
2342 void InstructionSelector::VisitSimd1x4Or(Node* node) { UNIMPLEMENTED(); } 2288 void InstructionSelector::VisitS1x4Or(Node* node) { UNIMPLEMENTED(); }
2343 2289
2344 void InstructionSelector::VisitSimd1x4Xor(Node* node) { UNIMPLEMENTED(); } 2290 void InstructionSelector::VisitS1x4Xor(Node* node) { UNIMPLEMENTED(); }
2345 2291
2346 void InstructionSelector::VisitSimd1x4Not(Node* node) { UNIMPLEMENTED(); } 2292 void InstructionSelector::VisitS1x4Not(Node* node) { UNIMPLEMENTED(); }
2347 2293
2348 void InstructionSelector::VisitSimd1x4AnyTrue(Node* node) { UNIMPLEMENTED(); } 2294 void InstructionSelector::VisitS1x4AnyTrue(Node* node) { UNIMPLEMENTED(); }
2349 2295
2350 void InstructionSelector::VisitSimd1x4AllTrue(Node* node) { UNIMPLEMENTED(); } 2296 void InstructionSelector::VisitS1x4AllTrue(Node* node) { UNIMPLEMENTED(); }
2351 2297
2352 void InstructionSelector::VisitSimd1x8And(Node* node) { UNIMPLEMENTED(); } 2298 void InstructionSelector::VisitS1x8And(Node* node) { UNIMPLEMENTED(); }
2353 2299
2354 void InstructionSelector::VisitSimd1x8Or(Node* node) { UNIMPLEMENTED(); } 2300 void InstructionSelector::VisitS1x8Or(Node* node) { UNIMPLEMENTED(); }
2355 2301
2356 void InstructionSelector::VisitSimd1x8Xor(Node* node) { UNIMPLEMENTED(); } 2302 void InstructionSelector::VisitS1x8Xor(Node* node) { UNIMPLEMENTED(); }
2357 2303
2358 void InstructionSelector::VisitSimd1x8Not(Node* node) { UNIMPLEMENTED(); } 2304 void InstructionSelector::VisitS1x8Not(Node* node) { UNIMPLEMENTED(); }
2359 2305
2360 void InstructionSelector::VisitSimd1x8AnyTrue(Node* node) { UNIMPLEMENTED(); } 2306 void InstructionSelector::VisitS1x8AnyTrue(Node* node) { UNIMPLEMENTED(); }
2361 2307
2362 void InstructionSelector::VisitSimd1x8AllTrue(Node* node) { UNIMPLEMENTED(); } 2308 void InstructionSelector::VisitS1x8AllTrue(Node* node) { UNIMPLEMENTED(); }
2363 2309
2364 void InstructionSelector::VisitSimd1x16And(Node* node) { UNIMPLEMENTED(); } 2310 void InstructionSelector::VisitS1x16And(Node* node) { UNIMPLEMENTED(); }
2365 2311
2366 void InstructionSelector::VisitSimd1x16Or(Node* node) { UNIMPLEMENTED(); } 2312 void InstructionSelector::VisitS1x16Or(Node* node) { UNIMPLEMENTED(); }
2367 2313
2368 void InstructionSelector::VisitSimd1x16Xor(Node* node) { UNIMPLEMENTED(); } 2314 void InstructionSelector::VisitS1x16Xor(Node* node) { UNIMPLEMENTED(); }
2369 2315
2370 void InstructionSelector::VisitSimd1x16Not(Node* node) { UNIMPLEMENTED(); } 2316 void InstructionSelector::VisitS1x16Not(Node* node) { UNIMPLEMENTED(); }
2371 2317
2372 void InstructionSelector::VisitSimd1x16AnyTrue(Node* node) { UNIMPLEMENTED(); } 2318 void InstructionSelector::VisitS1x16AnyTrue(Node* node) { UNIMPLEMENTED(); }
2373 2319
2374 void InstructionSelector::VisitSimd1x16AllTrue(Node* node) { UNIMPLEMENTED(); } 2320 void InstructionSelector::VisitS1x16AllTrue(Node* node) { UNIMPLEMENTED(); }
2375 #endif // !V8_TARGET_ARCH_ARM 2321 #endif // !V8_TARGET_ARCH_ARM
2376 2322
2377 void InstructionSelector::VisitFinishRegion(Node* node) { EmitIdentity(node); } 2323 void InstructionSelector::VisitFinishRegion(Node* node) { EmitIdentity(node); }
2378 2324
2379 void InstructionSelector::VisitParameter(Node* node) { 2325 void InstructionSelector::VisitParameter(Node* node) {
2380 OperandGenerator g(this); 2326 OperandGenerator g(this);
2381 int index = ParameterIndexOf(node->op()); 2327 int index = ParameterIndexOf(node->op());
2382 InstructionOperand op = 2328 InstructionOperand op =
2383 linkage()->ParameterHasSecondaryLocation(index) 2329 linkage()->ParameterHasSecondaryLocation(index)
2384 ? g.DefineAsDualLocation( 2330 ? g.DefineAsDualLocation(
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after
2744 return new (instruction_zone()) FrameStateDescriptor( 2690 return new (instruction_zone()) FrameStateDescriptor(
2745 instruction_zone(), state_info.type(), state_info.bailout_id(), 2691 instruction_zone(), state_info.type(), state_info.bailout_id(),
2746 state_info.state_combine(), parameters, locals, stack, 2692 state_info.state_combine(), parameters, locals, stack,
2747 state_info.shared_info(), outer_state); 2693 state_info.shared_info(), outer_state);
2748 } 2694 }
2749 2695
2750 2696
2751 } // namespace compiler 2697 } // namespace compiler
2752 } // namespace internal 2698 } // namespace internal
2753 } // namespace v8 2699 } // namespace v8
OLDNEW
« no previous file with comments | « src/compiler/ia32/instruction-selector-ia32.cc ('k') | src/compiler/machine-graph-verifier.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698