Lines Matching refs:left
129 inputs[input_count++] = g.UseRegister(m.left().node());
435 if ((m->left().IsWord32Xor() || m->left().IsWord64Xor()) && left_can_cover) {
436 Matcher mleft(m->left().node());
440 g.UseRegister(mleft.left().node()));
452 g.UseRegister(m->left().node()),
453 g.UseRegister(mright.left().node()));
496 Node* left = m.left().node();
497 if ((m.left().IsWord32Shr() || m.left().IsWord32Shl()) &&
498 CanCover(node, left)) {
499 // Try to absorb left/right shift into rlwinm
500 Int32BinopMatcher mleft(m.left().node());
502 left = mleft.left().node();
504 if (m.left().IsWord32Shr()) {
515 Emit(kPPC_RotLeftAndMask32, g.DefineAsRegister(node), g.UseRegister(left),
521 this, node, &m, kPPC_And, CanCover(node, m.left().node()),
535 Node* left = m.left().node();
536 if ((m.left().IsWord64Shr() || m.left().IsWord64Shl()) &&
537 CanCover(node, left)) {
538 // Try to absorb left/right shift into rldic
539 Int64BinopMatcher mleft(m.left().node());
541 left = mleft.left().node();
543 if (m.left().IsWord64Shr()) {
565 } else if (sh && me <= sh && m.left().IsWord64Shl()) {
571 Emit(opcode, g.DefineAsRegister(node), g.UseRegister(left),
578 this, node, &m, kPPC_And, CanCover(node, m.left().node()),
587 this, node, &m, kPPC_Or, CanCover(node, m.left().node()),
596 this, node, &m, kPPC_Or, CanCover(node, m.left().node()),
606 Emit(kPPC_Not, g.DefineAsRegister(node), g.UseRegister(m.left().node()));
618 Emit(kPPC_Not, g.DefineAsRegister(node), g.UseRegister(m.left().node()));
629 if (m.left().IsWord32And() && m.right().IsInRange(0, 31)) {
631 Int32BinopMatcher mleft(m.left().node());
641 g.UseRegister(mleft.left().node()), g.TempImmediate(sh),
655 // TODO(mbrandy): eliminate left sign extension if right >= 32
656 if (m.left().IsWord64And() && m.right().IsInRange(0, 63)) {
658 Int64BinopMatcher mleft(m.left().node());
685 g.UseRegister(mleft.left().node()), g.TempImmediate(sh),
700 if (m.left().IsWord32And() && m.right().IsInRange(0, 31)) {
702 Int32BinopMatcher mleft(m.left().node());
713 g.UseRegister(mleft.left().node()), g.TempImmediate(sh),
726 if (m.left().IsWord64And() && m.right().IsInRange(0, 63)) {
728 Int64BinopMatcher mleft(m.left().node());
752 g.UseRegister(mleft.left().node()), g.TempImmediate(sh),
768 if (CanCover(node, m.left().node()) && m.left().IsWord32Shl()) {
769 Int32BinopMatcher mleft(m.left().node());
772 g.UseRegister(mleft.left().node()));
776 g.UseRegister(mleft.left().node()));
864 if (CanCover(m.node(), m.left().node()) && m.left().IsLoad() &&
868 BaseWithIndexAndDisplacement64Matcher mleft(m.left().node(), true);
965 if (m.left().Is(0)) {
977 if (m.left().Is(0)) {
1221 if (m.left().IsMinusZero()) {
1238 if (m.left().IsMinusZero()) {
1244 if (mright0.left().IsMinusZero()) {
1456 InstructionOperand left, InstructionOperand right,
1461 selector->Emit(opcode, g.NoOutput(), left, right,
1464 selector->EmitDeoptimize(opcode, g.NoOutput(), left, right,
1468 selector->Emit(opcode, g.DefineAsRegister(cont->result()), left, right);
1478 Node* left = node->InputAt(0);
1481 // Match immediates on left or right side of comparison.
1483 VisitCompare(selector, opcode, g.UseRegister(left), g.UseImmediate(right),
1485 } else if (g.CanBeImmediate(left, immediate_mode)) {
1487 VisitCompare(selector, opcode, g.UseRegister(right), g.UseImmediate(left),
1490 VisitCompare(selector, opcode, g.UseRegister(left), g.UseRegister(right),
1516 Node* left = node->InputAt(0);
1518 VisitCompare(selector, kPPC_CmpDouble, g.UseRegister(left),
1527 Node* left = node->InputAt(0);
1529 VisitCompare(selector, kPPC_CmpDouble, g.UseRegister(left),
1546 value = m.left().node();
1747 return VisitWord32CompareZero(this, m.node(), m.left().node(), &cont);
1784 return VisitWord64CompareZero(this, m.node(), m.left().node(), &cont);
1915 Node* left = node->InputAt(0);
1917 if (left->opcode() == IrOpcode::kFloat64InsertHighWord32 &&
1918 CanCover(node, left)) {
1919 left = left->InputAt(1);
1920 Emit(kPPC_DoubleConstruct, g.DefineAsRegister(node), g.UseRegister(left),
1925 g.UseRegister(left), g.UseRegister(right));
1931 Node* left = node->InputAt(0);
1933 if (left->opcode() == IrOpcode::kFloat64InsertLowWord32 &&
1934 CanCover(node, left)) {
1935 left = left->InputAt(1);
1937 g.UseRegister(left));
1941 g.UseRegister(left), g.UseRegister(right));