Lines Matching full:right
276 if (mlength.HasValue() && moffset.right().HasValue() &&
277 moffset.right().Value() >= 0 &&
278 mlength.Value() >= moffset.right().Value()) {
281 g.UseImmediate(moffset.right().node()), g.UseImmediate(length));
330 if (mlength.HasValue() && moffset.right().HasValue() &&
331 moffset.right().Value() >= 0 &&
332 mlength.Value() >= moffset.right().Value()) {
335 g.UseImmediate(moffset.right().node()), g.UseImmediate(length),
353 Node* right = m.right().node();
360 if (left == right) {
371 } else if (g.CanBeImmediate(right)) {
373 inputs[input_count++] = g.UseImmediate(right);
376 g.CanBeBetterLeftOperand(right)) {
377 std::swap(left, right);
380 inputs[input_count++] = g.Use(right);
414 if (m.right().Is(0xff)) {
416 } else if (m.right().Is(0xffff)) {
442 if (m.right().Is(-1)) {
453 if (m.right().Is(-1)) {
470 Node* right = m.right().node();
472 if (g.CanBeImmediate(right)) {
474 g.UseImmediate(right));
477 g.UseFixed(right, rcx));
489 Node* right = m.right().node();
491 if (g.CanBeImmediate(right)) {
493 g.UseImmediate(right));
495 if (m.right().IsWord64And()) {
496 Int64BinopMatcher mright(right);
497 if (mright.right().Is(0x3F)) {
498 right = mright.left().node();
502 g.UseFixed(right, rcx));
547 m.right().IsInRange(32, 63)) {
552 g.UseImmediate(m.right().node()));
574 if (mleft.right().Is(16) && m.right().Is(16)) {
577 } else if (mleft.right().Is(24) && m.right().Is(24)) {
673 Emit(kX64Neg32, g.DefineSameAsFirst(node), g.UseRegister(m.right().node()));
675 if (m.right().HasValue() && g.CanBeImmediate(m.right().node())) {
680 g.TempImmediate(-m.right().Value()));
692 Emit(kX64Neg, g.DefineSameAsFirst(node), g.UseRegister(m.right().node()));
715 Node* right = m.right().node();
716 if (g.CanBeImmediate(right)) {
718 g.UseImmediate(right));
720 if (g.CanBeBetterLeftOperand(right)) {
721 std::swap(left, right);
724 g.Use(right));
733 Node* right = node->InputAt(1);
734 if (selector->IsLive(left) && !selector->IsLive(right)) {
735 std::swap(left, right);
740 g.UseUniqueRegister(right));
1034 if (m.right().Is(32)) {
1110 VisitFloatUnop(this, node, m.right().node(), kAVXFloat32Neg,
1157 if (m.right().IsFloat64RoundDown() &&
1158 CanCover(m.node(), m.right().node())) {
1159 if (m.right().InputAt(0)->opcode() == IrOpcode::kFloat64Sub &&
1160 CanCover(m.right().node(), m.right().InputAt(0))) {
1161 Float64BinopMatcher mright0(m.right().InputAt(0));
1164 g.DefineAsRegister(node), g.UseRegister(mright0.right().node()));
1169 VisitFloatUnop(this, node, m.right().node(), kAVXFloat64Neg,
1308 InstructionOperand left, InstructionOperand right,
1313 selector->Emit(opcode, g.NoOutput(), left, right,
1317 selector->Emit(opcode, g.DefineAsRegister(cont->result()), left, right);
1324 Node* left, Node* right, FlagsContinuation* cont,
1327 if (commutative && g.CanBeBetterLeftOperand(right)) {
1328 std::swap(left, right);
1330 VisitCompare(selector, opcode, g.UseRegister(left), g.Use(right), cont);
1339 Node* const right = node->InputAt(1);
1341 // Match immediates on left or right side of comparison.
1342 if (g.CanBeImmediate(right)) {
1343 VisitCompare(selector, opcode, g.Use(left), g.UseImmediate(right), cont);
1346 VisitCompare(selector, opcode, g.Use(right), g.UseImmediate(left), cont);
1348 VisitCompare(selector, opcode, left, right, cont,
1359 if (m.left().IsLoad() && m.right().IsLoadStackPointer()) {
1393 Node* const right = node->InputAt(1);
1396 VisitCompare(selector, opcode, right, left, cont, false);
1404 Node* const right = node->InputAt(1);
1407 VisitCompare(selector, opcode, right, left, cont, false);
1424 if (m.right().Is(0)) {
1454 if (m.right().Is(0)) {
1586 if (m.right().Is(0)) {
1592 if (m.right().Is(0)) {
1645 if (m.right().Is(0)) {
1761 Node* right = node->InputAt(1);
1764 Emit(kSSEFloat64LoadLowWord32, g.DefineAsRegister(node), g.Use(right));
1768 g.UseRegister(left), g.Use(right));
1775 Node* right = node->InputAt(1);
1777 g.UseRegister(left), g.Use(right));