OLD | NEW |
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 Loading... |
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::kI16x8AddSaturate: |
1578 return MarkAsSimd128(node), VisitInt16x8AddSaturate(node); | 1578 return MarkAsSimd128(node), VisitI16x8AddSaturate(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::kI16x8SubSaturate: |
1582 return MarkAsSimd128(node), VisitInt16x8SubSaturate(node); | 1582 return MarkAsSimd128(node), VisitI16x8SubSaturate(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::kI8x16AddSaturate: |
1626 return MarkAsSimd128(node), VisitInt8x16AddSaturate(node); | 1626 return MarkAsSimd128(node), VisitI8x16AddSaturate(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::kI8x16SubSaturate: |
1630 return MarkAsSimd128(node), VisitInt8x16SubSaturate(node); | 1630 return MarkAsSimd128(node), VisitI8x16SubSaturate(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 Loading... |
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::VisitI16x8AddSaturate(Node* node) { UNIMPLEMENTED(); } |
2131 | 2163 |
2132 void InstructionSelector::VisitFloat32x4RecipSqrtRefine(Node* node) { | 2164 void InstructionSelector::VisitI16x8Sub(Node* node) { UNIMPLEMENTED(); } |
2133 UNIMPLEMENTED(); | 2165 |
2134 } | 2166 void InstructionSelector::VisitI16x8SubSaturate(Node* node) { UNIMPLEMENTED(); } |
2135 | 2167 |
2136 void InstructionSelector::VisitFloat32x4Add(Node* node) { UNIMPLEMENTED(); } | 2168 void InstructionSelector::VisitI16x8Mul(Node* node) { UNIMPLEMENTED(); } |
2137 | 2169 |
2138 void InstructionSelector::VisitFloat32x4Sub(Node* node) { UNIMPLEMENTED(); } | 2170 void InstructionSelector::VisitI16x8MinS(Node* node) { UNIMPLEMENTED(); } |
2139 | 2171 |
2140 void InstructionSelector::VisitFloat32x4Mul(Node* node) { UNIMPLEMENTED(); } | 2172 void InstructionSelector::VisitI16x8MaxS(Node* node) { UNIMPLEMENTED(); } |
2141 | 2173 |
2142 void InstructionSelector::VisitFloat32x4Max(Node* node) { UNIMPLEMENTED(); } | 2174 void InstructionSelector::VisitI16x8Eq(Node* node) { UNIMPLEMENTED(); } |
2143 | 2175 |
2144 void InstructionSelector::VisitFloat32x4Min(Node* node) { UNIMPLEMENTED(); } | 2176 void InstructionSelector::VisitI16x8Ne(Node* node) { UNIMPLEMENTED(); } |
2145 | 2177 |
2146 void InstructionSelector::VisitFloat32x4Equal(Node* node) { UNIMPLEMENTED(); } | 2178 void InstructionSelector::VisitI16x8LtS(Node* node) { UNIMPLEMENTED(); } |
2147 | 2179 |
2148 void InstructionSelector::VisitFloat32x4NotEqual(Node* node) { | 2180 void InstructionSelector::VisitI16x8LeS(Node* node) { UNIMPLEMENTED(); } |
2149 UNIMPLEMENTED(); | 2181 |
2150 } | 2182 void InstructionSelector::VisitI16x8ShrU(Node* node) { UNIMPLEMENTED(); } |
2151 | 2183 |
2152 void InstructionSelector::VisitFloat32x4LessThan(Node* node) { | 2184 void InstructionSelector::VisitI16x8AddSaturateU(Node* node) { |
2153 UNIMPLEMENTED(); | 2185 UNIMPLEMENTED(); |
2154 } | 2186 } |
2155 | 2187 |
2156 void InstructionSelector::VisitFloat32x4LessThanOrEqual(Node* node) { | 2188 void InstructionSelector::VisitI16x8SubSaturateU(Node* node) { |
2157 UNIMPLEMENTED(); | 2189 UNIMPLEMENTED(); |
2158 } | 2190 } |
2159 | 2191 |
2160 void InstructionSelector::VisitInt32x4FromFloat32x4(Node* node) { | 2192 void InstructionSelector::VisitI16x8MinU(Node* node) { UNIMPLEMENTED(); } |
2161 UNIMPLEMENTED(); | 2193 |
2162 } | 2194 void InstructionSelector::VisitI16x8MaxU(Node* node) { UNIMPLEMENTED(); } |
2163 | 2195 |
2164 void InstructionSelector::VisitUint32x4FromFloat32x4(Node* node) { | 2196 void InstructionSelector::VisitI16x8LtU(Node* node) { UNIMPLEMENTED(); } |
2165 UNIMPLEMENTED(); | 2197 |
2166 } | 2198 void InstructionSelector::VisitI16x8LeU(Node* node) { UNIMPLEMENTED(); } |
2167 | 2199 |
2168 void InstructionSelector::VisitInt32x4Neg(Node* node) { UNIMPLEMENTED(); } | 2200 void InstructionSelector::VisitI8x16Splat(Node* node) { UNIMPLEMENTED(); } |
2169 | 2201 |
2170 void InstructionSelector::VisitInt32x4LessThan(Node* node) { UNIMPLEMENTED(); } | 2202 void InstructionSelector::VisitI8x16ExtractLane(Node* node) { UNIMPLEMENTED(); } |
2171 | 2203 |
2172 void InstructionSelector::VisitInt32x4LessThanOrEqual(Node* node) { | 2204 void InstructionSelector::VisitI8x16ReplaceLane(Node* node) { UNIMPLEMENTED(); } |
2173 UNIMPLEMENTED(); | 2205 |
2174 } | 2206 void InstructionSelector::VisitI8x16Neg(Node* node) { UNIMPLEMENTED(); } |
2175 | 2207 |
2176 void InstructionSelector::VisitUint32x4LessThan(Node* node) { UNIMPLEMENTED(); } | 2208 void InstructionSelector::VisitI8x16Shl(Node* node) { UNIMPLEMENTED(); } |
2177 | 2209 |
2178 void InstructionSelector::VisitUint32x4LessThanOrEqual(Node* node) { | 2210 void InstructionSelector::VisitI8x16ShrS(Node* node) { UNIMPLEMENTED(); } |
2179 UNIMPLEMENTED(); | 2211 |
2180 } | 2212 void InstructionSelector::VisitI8x16Add(Node* node) { UNIMPLEMENTED(); } |
2181 | 2213 |
2182 void InstructionSelector::VisitInt16x8Splat(Node* node) { UNIMPLEMENTED(); } | 2214 void InstructionSelector::VisitI8x16AddSaturate(Node* node) { UNIMPLEMENTED(); } |
2183 | 2215 |
2184 void InstructionSelector::VisitInt16x8ExtractLane(Node* node) { | 2216 void InstructionSelector::VisitI8x16Sub(Node* node) { UNIMPLEMENTED(); } |
2185 UNIMPLEMENTED(); | 2217 |
2186 } | 2218 void InstructionSelector::VisitI8x16SubSaturate(Node* node) { UNIMPLEMENTED(); } |
2187 | 2219 |
2188 void InstructionSelector::VisitInt16x8ReplaceLane(Node* node) { | 2220 void InstructionSelector::VisitI8x16Mul(Node* node) { UNIMPLEMENTED(); } |
2189 UNIMPLEMENTED(); | 2221 |
2190 } | 2222 void InstructionSelector::VisitI8x16MinS(Node* node) { UNIMPLEMENTED(); } |
2191 | 2223 |
2192 void InstructionSelector::VisitInt16x8Neg(Node* node) { UNIMPLEMENTED(); } | 2224 void InstructionSelector::VisitI8x16MaxS(Node* node) { UNIMPLEMENTED(); } |
2193 | 2225 |
2194 void InstructionSelector::VisitInt16x8ShiftLeftByScalar(Node* node) { | 2226 void InstructionSelector::VisitI8x16Eq(Node* node) { UNIMPLEMENTED(); } |
2195 UNIMPLEMENTED(); | 2227 |
2196 } | 2228 void InstructionSelector::VisitI8x16Ne(Node* node) { UNIMPLEMENTED(); } |
2197 | 2229 |
2198 void InstructionSelector::VisitInt16x8ShiftRightByScalar(Node* node) { | 2230 void InstructionSelector::VisitI8x16LtS(Node* node) { UNIMPLEMENTED(); } |
2199 UNIMPLEMENTED(); | 2231 |
2200 } | 2232 void InstructionSelector::VisitI8x16LeS(Node* node) { UNIMPLEMENTED(); } |
2201 | 2233 |
2202 void InstructionSelector::VisitInt16x8Add(Node* node) { UNIMPLEMENTED(); } | 2234 void InstructionSelector::VisitI8x16ShrU(Node* node) { UNIMPLEMENTED(); } |
2203 | 2235 |
2204 void InstructionSelector::VisitInt16x8AddSaturate(Node* node) { | 2236 void InstructionSelector::VisitI8x16AddSaturateU(Node* node) { |
2205 UNIMPLEMENTED(); | 2237 UNIMPLEMENTED(); |
2206 } | 2238 } |
2207 | 2239 |
2208 void InstructionSelector::VisitInt16x8Sub(Node* node) { UNIMPLEMENTED(); } | 2240 void InstructionSelector::VisitI8x16SubSaturateU(Node* node) { |
2209 | 2241 UNIMPLEMENTED(); |
2210 void InstructionSelector::VisitInt16x8SubSaturate(Node* node) { | 2242 } |
2211 UNIMPLEMENTED(); | 2243 |
2212 } | 2244 void InstructionSelector::VisitI8x16MinU(Node* node) { UNIMPLEMENTED(); } |
2213 | 2245 |
2214 void InstructionSelector::VisitInt16x8Mul(Node* node) { UNIMPLEMENTED(); } | 2246 void InstructionSelector::VisitI8x16MaxU(Node* node) { UNIMPLEMENTED(); } |
2215 | 2247 |
2216 void InstructionSelector::VisitInt16x8Max(Node* node) { UNIMPLEMENTED(); } | 2248 void InstructionSelector::VisitI8x16LtU(Node* node) { UNIMPLEMENTED(); } |
2217 | 2249 |
2218 void InstructionSelector::VisitInt16x8Min(Node* node) { UNIMPLEMENTED(); } | 2250 void InstructionSelector::VisitI8x16LeU(Node* node) { UNIMPLEMENTED(); } |
2219 | 2251 |
2220 void InstructionSelector::VisitInt16x8Equal(Node* node) { UNIMPLEMENTED(); } | 2252 void InstructionSelector::VisitS128And(Node* node) { UNIMPLEMENTED(); } |
2221 | 2253 |
2222 void InstructionSelector::VisitInt16x8NotEqual(Node* node) { UNIMPLEMENTED(); } | 2254 void InstructionSelector::VisitS128Or(Node* node) { UNIMPLEMENTED(); } |
2223 | 2255 |
2224 void InstructionSelector::VisitInt16x8LessThan(Node* node) { UNIMPLEMENTED(); } | 2256 void InstructionSelector::VisitS128Xor(Node* node) { UNIMPLEMENTED(); } |
2225 | 2257 |
2226 void InstructionSelector::VisitInt16x8LessThanOrEqual(Node* node) { | 2258 void InstructionSelector::VisitS128Not(Node* node) { UNIMPLEMENTED(); } |
2227 UNIMPLEMENTED(); | |
2228 } | |
2229 | |
2230 void InstructionSelector::VisitUint16x8ShiftRightByScalar(Node* node) { | |
2231 UNIMPLEMENTED(); | |
2232 } | |
2233 | |
2234 void InstructionSelector::VisitUint16x8AddSaturate(Node* node) { | |
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 | 2259 #endif // !V8_TARGET_ARCH_ARM |
2330 | 2260 |
2331 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM | 2261 #if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM |
2332 void InstructionSelector::VisitSimd32x4Select(Node* node) { UNIMPLEMENTED(); } | 2262 void InstructionSelector::VisitS128Zero(Node* node) { UNIMPLEMENTED(); } |
| 2263 |
| 2264 void InstructionSelector::VisitS1x4Zero(Node* node) { UNIMPLEMENTED(); } |
| 2265 |
| 2266 void InstructionSelector::VisitS1x8Zero(Node* node) { UNIMPLEMENTED(); } |
| 2267 |
| 2268 void InstructionSelector::VisitS1x16Zero(Node* node) { UNIMPLEMENTED(); } |
| 2269 |
| 2270 void InstructionSelector::VisitS32x4Select(Node* node) { UNIMPLEMENTED(); } |
2333 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM | 2271 #endif // !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_ARM |
2334 | 2272 |
2335 #if !V8_TARGET_ARCH_ARM | 2273 #if !V8_TARGET_ARCH_ARM |
2336 void InstructionSelector::VisitSimd16x8Select(Node* node) { UNIMPLEMENTED(); } | 2274 void InstructionSelector::VisitS16x8Select(Node* node) { UNIMPLEMENTED(); } |
2337 | 2275 |
2338 void InstructionSelector::VisitSimd8x16Select(Node* node) { UNIMPLEMENTED(); } | 2276 void InstructionSelector::VisitS8x16Select(Node* node) { UNIMPLEMENTED(); } |
2339 | 2277 |
2340 void InstructionSelector::VisitSimd1x4And(Node* node) { UNIMPLEMENTED(); } | 2278 void InstructionSelector::VisitS1x4And(Node* node) { UNIMPLEMENTED(); } |
2341 | 2279 |
2342 void InstructionSelector::VisitSimd1x4Or(Node* node) { UNIMPLEMENTED(); } | 2280 void InstructionSelector::VisitS1x4Or(Node* node) { UNIMPLEMENTED(); } |
2343 | 2281 |
2344 void InstructionSelector::VisitSimd1x4Xor(Node* node) { UNIMPLEMENTED(); } | 2282 void InstructionSelector::VisitS1x4Xor(Node* node) { UNIMPLEMENTED(); } |
2345 | 2283 |
2346 void InstructionSelector::VisitSimd1x4Not(Node* node) { UNIMPLEMENTED(); } | 2284 void InstructionSelector::VisitS1x4Not(Node* node) { UNIMPLEMENTED(); } |
2347 | 2285 |
2348 void InstructionSelector::VisitSimd1x4AnyTrue(Node* node) { UNIMPLEMENTED(); } | 2286 void InstructionSelector::VisitS1x4AnyTrue(Node* node) { UNIMPLEMENTED(); } |
2349 | 2287 |
2350 void InstructionSelector::VisitSimd1x4AllTrue(Node* node) { UNIMPLEMENTED(); } | 2288 void InstructionSelector::VisitS1x4AllTrue(Node* node) { UNIMPLEMENTED(); } |
2351 | 2289 |
2352 void InstructionSelector::VisitSimd1x8And(Node* node) { UNIMPLEMENTED(); } | 2290 void InstructionSelector::VisitS1x8And(Node* node) { UNIMPLEMENTED(); } |
2353 | 2291 |
2354 void InstructionSelector::VisitSimd1x8Or(Node* node) { UNIMPLEMENTED(); } | 2292 void InstructionSelector::VisitS1x8Or(Node* node) { UNIMPLEMENTED(); } |
2355 | 2293 |
2356 void InstructionSelector::VisitSimd1x8Xor(Node* node) { UNIMPLEMENTED(); } | 2294 void InstructionSelector::VisitS1x8Xor(Node* node) { UNIMPLEMENTED(); } |
2357 | 2295 |
2358 void InstructionSelector::VisitSimd1x8Not(Node* node) { UNIMPLEMENTED(); } | 2296 void InstructionSelector::VisitS1x8Not(Node* node) { UNIMPLEMENTED(); } |
2359 | 2297 |
2360 void InstructionSelector::VisitSimd1x8AnyTrue(Node* node) { UNIMPLEMENTED(); } | 2298 void InstructionSelector::VisitS1x8AnyTrue(Node* node) { UNIMPLEMENTED(); } |
2361 | 2299 |
2362 void InstructionSelector::VisitSimd1x8AllTrue(Node* node) { UNIMPLEMENTED(); } | 2300 void InstructionSelector::VisitS1x8AllTrue(Node* node) { UNIMPLEMENTED(); } |
2363 | 2301 |
2364 void InstructionSelector::VisitSimd1x16And(Node* node) { UNIMPLEMENTED(); } | 2302 void InstructionSelector::VisitS1x16And(Node* node) { UNIMPLEMENTED(); } |
2365 | 2303 |
2366 void InstructionSelector::VisitSimd1x16Or(Node* node) { UNIMPLEMENTED(); } | 2304 void InstructionSelector::VisitS1x16Or(Node* node) { UNIMPLEMENTED(); } |
2367 | 2305 |
2368 void InstructionSelector::VisitSimd1x16Xor(Node* node) { UNIMPLEMENTED(); } | 2306 void InstructionSelector::VisitS1x16Xor(Node* node) { UNIMPLEMENTED(); } |
2369 | 2307 |
2370 void InstructionSelector::VisitSimd1x16Not(Node* node) { UNIMPLEMENTED(); } | 2308 void InstructionSelector::VisitS1x16Not(Node* node) { UNIMPLEMENTED(); } |
2371 | 2309 |
2372 void InstructionSelector::VisitSimd1x16AnyTrue(Node* node) { UNIMPLEMENTED(); } | 2310 void InstructionSelector::VisitS1x16AnyTrue(Node* node) { UNIMPLEMENTED(); } |
2373 | 2311 |
2374 void InstructionSelector::VisitSimd1x16AllTrue(Node* node) { UNIMPLEMENTED(); } | 2312 void InstructionSelector::VisitS1x16AllTrue(Node* node) { UNIMPLEMENTED(); } |
2375 #endif // !V8_TARGET_ARCH_ARM | 2313 #endif // !V8_TARGET_ARCH_ARM |
2376 | 2314 |
2377 void InstructionSelector::VisitFinishRegion(Node* node) { EmitIdentity(node); } | 2315 void InstructionSelector::VisitFinishRegion(Node* node) { EmitIdentity(node); } |
2378 | 2316 |
2379 void InstructionSelector::VisitParameter(Node* node) { | 2317 void InstructionSelector::VisitParameter(Node* node) { |
2380 OperandGenerator g(this); | 2318 OperandGenerator g(this); |
2381 int index = ParameterIndexOf(node->op()); | 2319 int index = ParameterIndexOf(node->op()); |
2382 InstructionOperand op = | 2320 InstructionOperand op = |
2383 linkage()->ParameterHasSecondaryLocation(index) | 2321 linkage()->ParameterHasSecondaryLocation(index) |
2384 ? g.DefineAsDualLocation( | 2322 ? g.DefineAsDualLocation( |
(...skipping 359 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2744 return new (instruction_zone()) FrameStateDescriptor( | 2682 return new (instruction_zone()) FrameStateDescriptor( |
2745 instruction_zone(), state_info.type(), state_info.bailout_id(), | 2683 instruction_zone(), state_info.type(), state_info.bailout_id(), |
2746 state_info.state_combine(), parameters, locals, stack, | 2684 state_info.state_combine(), parameters, locals, stack, |
2747 state_info.shared_info(), outer_state); | 2685 state_info.shared_info(), outer_state); |
2748 } | 2686 } |
2749 | 2687 |
2750 | 2688 |
2751 } // namespace compiler | 2689 } // namespace compiler |
2752 } // namespace internal | 2690 } // namespace internal |
2753 } // namespace v8 | 2691 } // namespace v8 |
OLD | NEW |