Lines Matching refs:cont
204 FlagsContinuation* cont) {
238 if (cont->IsBranch()) {
239 inputs[input_count++] = g.Label(cont->true_block());
240 inputs[input_count++] = g.Label(cont->false_block());
243 if (cont->IsDeoptimize()) {
251 if (cont->IsSet()) {
252 outputs[output_count++] = g.DefineAsRegister(cont->result());
260 opcode = cont->Encode(opcode);
261 if (cont->IsDeoptimize()) {
263 cont->reason(), cont->frame_state());
273 FlagsContinuation cont;
274 VisitBinop<Matcher>(selector, node, opcode, operand_mode, &cont);
1063 FlagsContinuation* cont);
1065 FlagsContinuation* cont) {
1084 VisitCompare(selector, kS390_Cmp32, high32_operand, temp_operand, cont);
1108 FlagsContinuation cont = FlagsContinuation::ForSet(kNotEqual, ovf);
1109 return EmitInt32MulWithOverflow(this, node, &cont);
1112 // FlagsContinuation cont;
1113 // EmitInt32MulWithOverflow(this, node, &cont);
1474 FlagsContinuation cont = FlagsContinuation::ForSet(kOverflow, ovf);
1476 &cont);
1478 FlagsContinuation cont;
1479 VisitBinop<Int32BinopMatcher>(this, node, kS390_Add32, kInt32Imm, &cont);
1484 FlagsContinuation cont = FlagsContinuation::ForSet(kOverflow, ovf);
1486 kInt32Imm_Negate, &cont);
1488 FlagsContinuation cont;
1490 &cont);
1496 FlagsContinuation cont = FlagsContinuation::ForSet(kOverflow, ovf);
1498 &cont);
1500 FlagsContinuation cont;
1501 VisitBinop<Int64BinopMatcher>(this, node, kS390_Add64, kInt32Imm, &cont);
1506 FlagsContinuation cont = FlagsContinuation::ForSet(kOverflow, ovf);
1508 kInt32Imm_Negate, &cont);
1510 FlagsContinuation cont;
1512 &cont);
1516 static bool CompareLogical(FlagsContinuation* cont) {
1517 switch (cont->condition()) {
1535 FlagsContinuation* cont) {
1537 opcode = cont->Encode(opcode);
1538 if (cont->IsBranch()) {
1540 g.Label(cont->true_block()), g.Label(cont->false_block()));
1541 } else if (cont->IsDeoptimize()) {
1542 selector->EmitDeoptimize(opcode, g.NoOutput(), left, right, cont->reason(),
1543 cont->frame_state());
1545 DCHECK(cont->IsSet());
1546 selector->Emit(opcode, g.DefineAsRegister(cont->result()), left, right);
1552 InstructionCode opcode, FlagsContinuation* cont,
1561 cont);
1563 if (!commutative) cont->Commute();
1565 cont);
1568 cont);
1573 FlagsContinuation* cont) {
1574 ImmediateMode mode = (CompareLogical(cont) ? kUint32Imm : kInt32Imm);
1575 VisitWordCompare(selector, node, kS390_Cmp32, cont, false, mode);
1580 FlagsContinuation* cont) {
1581 ImmediateMode mode = (CompareLogical(cont) ? kUint32Imm : kUint32Imm);
1582 VisitWordCompare(selector, node, kS390_Cmp64, cont, false, mode);
1588 FlagsContinuation* cont) {
1593 g.UseRegister(right), cont);
1598 FlagsContinuation* cont) {
1603 g.UseRegister(right), cont);
1609 FlagsContinuation* cont) {
1618 cont->Negate();
1624 cont->OverwriteAndNegateIfEqual(kEqual);
1625 return VisitWord32Compare(selector, value, cont);
1627 cont->OverwriteAndNegateIfEqual(kSignedLessThan);
1628 return VisitWord32Compare(selector, value, cont);
1630 cont->OverwriteAndNegateIfEqual(kSignedLessThanOrEqual);
1631 return VisitWord32Compare(selector, value, cont);
1633 cont->OverwriteAndNegateIfEqual(kUnsignedLessThan);
1634 return VisitWord32Compare(selector, value, cont);
1636 cont->OverwriteAndNegateIfEqual(kUnsignedLessThanOrEqual);
1637 return VisitWord32Compare(selector, value, cont);
1640 cont->OverwriteAndNegateIfEqual(kEqual);
1641 return VisitWord64Compare(selector, value, cont);
1643 cont->OverwriteAndNegateIfEqual(kSignedLessThan);
1644 return VisitWord64Compare(selector, value, cont);
1646 cont->OverwriteAndNegateIfEqual(kSignedLessThanOrEqual);
1647 return VisitWord64Compare(selector, value, cont);
1649 cont->OverwriteAndNegateIfEqual(kUnsignedLessThan);
1650 return VisitWord64Compare(selector, value, cont);
1652 cont->OverwriteAndNegateIfEqual(kUnsignedLessThanOrEqual);
1653 return VisitWord64Compare(selector, value, cont);
1656 cont->OverwriteAndNegateIfEqual(kEqual);
1657 return VisitFloat32Compare(selector, value, cont);
1659 cont->OverwriteAndNegateIfEqual(kUnsignedLessThan);
1660 return VisitFloat32Compare(selector, value, cont);
1662 cont->OverwriteAndNegateIfEqual(kUnsignedLessThanOrEqual);
1663 return VisitFloat32Compare(selector, value, cont);
1665 cont->OverwriteAndNegateIfEqual(kEqual);
1666 return VisitFloat64Compare(selector, value, cont);
1668 cont->OverwriteAndNegateIfEqual(kUnsignedLessThan);
1669 return VisitFloat64Compare(selector, value, cont);
1671 cont->OverwriteAndNegateIfEqual(kUnsignedLessThanOrEqual);
1672 return VisitFloat64Compare(selector, value, cont);
1687 cont->OverwriteAndNegateIfEqual(kOverflow);
1689 selector, node, kS390_Add32, kInt32Imm, cont);
1691 cont->OverwriteAndNegateIfEqual(kOverflow);
1693 selector, node, kS390_Sub32, kInt32Imm_Negate, cont);
1695 cont->OverwriteAndNegateIfEqual(kNotEqual);
1696 return EmitInt32MulWithOverflow(selector, node, cont);
1699 cont->OverwriteAndNegateIfEqual(kOverflow);
1701 selector, node, kS390_Add64, kInt32Imm, cont);
1703 cont->OverwriteAndNegateIfEqual(kOverflow);
1705 selector, node, kS390_Sub64, kInt32Imm_Negate, cont);
1714 return VisitWord32Compare(selector, value, cont);
1716 return VisitWordCompare(selector, value, kS390_Tst32, cont, true,
1728 return VisitWord64Compare(selector, value, cont);
1730 return VisitWordCompare(selector, value, kS390_Tst64, cont, true,
1749 cont);
1753 Node* value, FlagsContinuation* cont) {
1754 VisitWordCompareZero(selector, user, value, kS390_Cmp32, cont);
1759 Node* value, FlagsContinuation* cont) {
1760 VisitWordCompareZero(selector, user, value, kS390_Cmp64, cont);
1768 FlagsContinuation cont(kNotEqual, tbranch, fbranch);
1769 VisitWord32CompareZero(this, branch, branch->InputAt(0), &cont);
1773 FlagsContinuation cont = FlagsContinuation::ForDeoptimize(
1775 VisitWord32CompareZero(this, node, node->InputAt(0), &cont);
1779 FlagsContinuation cont = FlagsContinuation::ForDeoptimize(
1781 VisitWord32CompareZero(this, node, node->InputAt(0), &cont);
1812 FlagsContinuation cont = FlagsContinuation::ForSet(kEqual, node);
1815 return VisitWord32CompareZero(this, m.node(), m.left().node(), &cont);
1817 VisitWord32Compare(this, node, &cont);
1821 FlagsContinuation cont = FlagsContinuation::ForSet(kSignedLessThan, node);
1822 VisitWord32Compare(this, node, &cont);
1826 FlagsContinuation cont =
1828 VisitWord32Compare(this, node, &cont);
1832 FlagsContinuation cont = FlagsContinuation::ForSet(kUnsignedLessThan, node);
1833 VisitWord32Compare(this, node, &cont);
1837 FlagsContinuation cont =
1839 VisitWord32Compare(this, node, &cont);
1844 FlagsContinuation cont = FlagsContinuation::ForSet(kEqual, node);
1847 return VisitWord64CompareZero(this, m.node(), m.left().node(), &cont);
1849 VisitWord64Compare(this, node, &cont);
1853 FlagsContinuation cont = FlagsContinuation::ForSet(kSignedLessThan, node);
1854 VisitWord64Compare(this, node, &cont);
1858 FlagsContinuation cont =
1860 VisitWord64Compare(this, node, &cont);
1864 FlagsContinuation cont = FlagsContinuation::ForSet(kUnsignedLessThan, node);
1865 VisitWord64Compare(this, node, &cont);
1869 FlagsContinuation cont =
1871 VisitWord64Compare(this, node, &cont);
1876 FlagsContinuation cont = FlagsContinuation::ForSet(kEqual, node);
1877 VisitFloat32Compare(this, node, &cont);
1881 FlagsContinuation cont = FlagsContinuation::ForSet(kUnsignedLessThan, node);
1882 VisitFloat32Compare(this, node, &cont);
1886 FlagsContinuation cont =
1888 VisitFloat32Compare(this, node, &cont);
1892 FlagsContinuation cont = FlagsContinuation::ForSet(kEqual, node);
1893 VisitFloat64Compare(this, node, &cont);
1897 FlagsContinuation cont = FlagsContinuation::ForSet(kUnsignedLessThan, node);
1898 VisitFloat64Compare(this, node, &cont);
1902 FlagsContinuation cont =
1904 VisitFloat64Compare(this, node, &cont);