Lines Matching full:right
106 if (m.right().IsInRange(kImmMin, kImmMax)) {
108 *shift_return = g.UseImmediate(m.right().node());
111 *shift_return = g.UseRegister(m.right().node());
196 if (m.left().node() == m.right().node()) {
208 } else if (TryMatchImmediateOrShift(selector, &opcode, m.right().node(),
215 inputs[0] = g.UseRegister(m.right().node());
221 inputs[input_count++] = g.UseRegister(m.right().node());
278 g.UseRegister(m.right().node()));
289 InstructionOperand right_operand = g.UseRegister(m.right().node());
506 Node* right) {
511 if (TryMatchShift(selector, &opcode, right, &value_operand, &shift_operand)) {
518 g.UseRegister(right));
539 if (mleft.right().Is(-1)) {
540 EmitBic(this, node, m.right().node(), mleft.left().node());
544 if (m.right().IsWord32Xor() && CanCover(node, m.right().node())) {
545 Int32BinopMatcher mright(m.right().node());
546 if (mright.right().Is(-1)) {
551 if (m.right().HasValue()) {
552 uint32_t const value = m.right().Value();
560 if (mleft.right().IsInRange(0, 31)) {
565 uint32_t const lsb = mleft.right().Value();
609 if (m.right().Is(-1)) {
680 m.right().IsInRange(0, 31)) {
681 uint32_t lsb = m.right().Value();
683 if (mleft.right().HasValue()) {
684 uint32_t value = (mleft.right().Value() >> lsb) << lsb;
702 if (mleft.right().Is(16) && m.right().Is(16)) {
706 } else if (mleft.right().Is(24) && m.right().Is(24)) {
741 g.UseRegister(mleft.right().node()),
742 g.UseRegister(m.right().node()));
749 g.UseRegister(mleft.right().node()),
750 g.UseRegister(m.right().node()));
755 if (mleft.right().Is(0xff)) {
757 g.UseRegister(m.right().node()),
760 } else if (mleft.right().Is(0xffff)) {
762 g.UseRegister(m.right().node()),
772 if (mleft.right().Is(24) && mleftleft.right().Is(24)) {
774 g.UseRegister(m.right().node()),
777 } else if (mleft.right().Is(16) && mleftleft.right().Is(16)) {
779 g.UseRegister(m.right().node()),
789 if (CanCover(node, m.right().node())) {
790 switch (m.right().opcode()) {
792 Int32BinopMatcher mright(m.right().node());
795 g.UseRegister(mright.right().node()),
800 Int32BinopMatcher mright(m.right().node());
803 g.UseRegister(mright.right().node()),
808 Int32BinopMatcher mright(m.right().node());
809 if (mright.right().Is(0xff)) {
814 } else if (mright.right().Is(0xffff)) {
822 Int32BinopMatcher mright(m.right().node());
826 if (mright.right().Is(24) && mrightleft.right().Is(24)) {
831 } else if (mright.right().Is(16) && mrightleft.right().Is(16)) {
850 if (IsSupported(MLS) && m.right().IsInt32Mul() &&
851 CanCover(node, m.right().node())) {
852 Int32BinopMatcher mright(m.right().node());
854 g.UseRegister(mright.right().node()), g.UseRegister(m.left().node()));
864 if (m.right().HasValue() && m.right().Value() > 0) {
865 int32_t value = m.right().Value();
979 g.UseRegister(m.right().node()), g.UseRegister(mleft.left().node()),
980 g.UseRegister(mleft.right().node()));
983 if (m.right().IsFloat32Mul() && CanCover(node, m.right().node())) {
984 Float32BinopMatcher mright(m.right().node());
987 g.UseRegister(mright.right().node()));
1000 g.UseRegister(m.right().node()), g.UseRegister(mleft.left().node()),
1001 g.UseRegister(mleft.right().node()));
1004 if (m.right().IsFloat64Mul() && CanCover(node, m.right().node())) {
1005 Float64BinopMatcher mright(m.right().node());
1008 g.UseRegister(mright.right().node()));
1020 g.UseRegister(m.right().node()));
1023 if (m.right().IsFloat32Mul() && CanCover(node, m.right().node())) {
1024 Float32BinopMatcher mright(m.right().node());
1027 g.UseRegister(mright.right().node()));
1038 if (m.right().IsFloat64RoundDown() &&
1039 CanCover(m.node(), m.right().node())) {
1040 if (m.right().InputAt(0)->opcode() == IrOpcode::kFloat64Sub &&
1041 CanCover(m.right().node(), m.right().InputAt(0))) {
1042 Float64BinopMatcher mright0(m.right().InputAt(0));
1045 g.UseRegister(mright0.right().node()));
1051 g.UseRegister(m.right().node()));
1054 if (m.right().IsFloat64Mul() && CanCover(node, m.right().node())) {
1055 Float64BinopMatcher mright(m.right().node());
1058 g.UseRegister(mright.right().node()));
1207 InstructionOperand left, InstructionOperand right,
1212 selector->Emit(opcode, g.NoOutput(), left, right,
1216 selector->Emit(opcode, g.DefineAsRegister(cont->result()), left, right);
1226 if (m.right().Is(0.0f)) {
1228 g.UseImmediate(m.right().node()), cont);
1231 VisitCompare(selector, kArmVcmpF32, g.UseRegister(m.right().node()),
1235 g.UseRegister(m.right().node()), cont);
1245 if (m.right().Is(0.0)) {
1247 g.UseImmediate(m.right().node()), cont);
1250 VisitCompare(selector, kArmVcmpF64, g.UseRegister(m.right().node()),
1254 g.UseRegister(m.right().node()), cont);
1269 if (TryMatchImmediateOrShift(selector, &opcode, m.right().node(),
1276 inputs[0] = g.UseRegister(m.right().node());
1281 inputs[input_count++] = g.UseRegister(m.right().node());
1316 if (m.right().Is(0)) {
1459 if (m.right().Is(0)) {
1559 Node* right = node->InputAt(1);
1563 Emit(kArmVmovF64U32U32, g.DefineAsRegister(node), g.UseRegister(right),
1568 g.UseRegister(right));
1575 Node* right = node->InputAt(1);
1580 g.UseRegister(right));
1584 g.UseRegister(right));