Lines Matching refs:cont
231 FlagsContinuation* cont) { in VisitBinop() argument
255 if (cont->IsBranch()) { in VisitBinop()
256 inputs[input_count++] = g.Label(cont->true_block()); in VisitBinop()
257 inputs[input_count++] = g.Label(cont->false_block()); in VisitBinop()
261 if (cont->IsSet()) { in VisitBinop()
262 outputs[output_count++] = g.DefineAsRegister(cont->result()); in VisitBinop()
271 Instruction* instr = selector->Emit(cont->Encode(opcode), output_count, in VisitBinop()
273 if (cont->IsBranch()) instr->MarkAsControl(); in VisitBinop()
279 FlagsContinuation cont; in VisitBinop() local
280 VisitBinop(selector, node, opcode, reverse_opcode, &cont); in VisitBinop()
475 FlagsContinuation* cont) { in VisitShift() argument
485 if (cont->IsBranch()) { in VisitShift()
486 inputs[input_count++] = g.Label(cont->true_block()); in VisitShift()
487 inputs[input_count++] = g.Label(cont->false_block()); in VisitShift()
491 if (cont->IsSet()) { in VisitShift()
492 outputs[output_count++] = g.DefineAsRegister(cont->result()); in VisitShift()
501 Instruction* instr = selector->Emit(cont->Encode(opcode), output_count, in VisitShift()
503 if (cont->IsBranch()) instr->MarkAsControl(); in VisitShift()
510 FlagsContinuation cont; in VisitShift() local
511 VisitShift(selector, node, try_match_shift, &cont); in VisitShift()
834 FlagsContinuation* cont) { in VisitInt32AddWithOverflow() argument
835 VisitBinop(this, node, kArmAdd, kArmAdd, cont); in VisitInt32AddWithOverflow()
840 FlagsContinuation* cont) { in VisitInt32SubWithOverflow() argument
841 VisitBinop(this, node, kArmSub, kArmRsb, cont); in VisitInt32SubWithOverflow()
847 InstructionCode opcode, FlagsContinuation* cont, in VisitWordCompare() argument
862 if (!commutative) cont->Commute(); in VisitWordCompare()
871 if (cont->IsBranch()) { in VisitWordCompare()
872 inputs[input_count++] = g.Label(cont->true_block()); in VisitWordCompare()
873 inputs[input_count++] = g.Label(cont->false_block()); in VisitWordCompare()
875 DCHECK(cont->IsSet()); in VisitWordCompare()
876 outputs[output_count++] = g.DefineAsRegister(cont->result()); in VisitWordCompare()
883 Instruction* instr = selector->Emit(cont->Encode(opcode), output_count, in VisitWordCompare()
885 if (cont->IsBranch()) instr->MarkAsControl(); in VisitWordCompare()
889 void InstructionSelector::VisitWord32Test(Node* node, FlagsContinuation* cont) { in VisitWord32Test() argument
892 return VisitWordCompare(this, node, kArmCmn, cont, true); in VisitWord32Test()
894 return VisitWordCompare(this, node, kArmCmp, cont, false); in VisitWord32Test()
896 return VisitWordCompare(this, node, kArmTst, cont, true); in VisitWord32Test()
898 return VisitBinop(this, node, kArmOrr, kArmOrr, cont); in VisitWord32Test()
900 return VisitWordCompare(this, node, kArmTeq, cont, true); in VisitWord32Test()
902 return VisitShift(this, node, TryMatchASR, cont); in VisitWord32Test()
904 return VisitShift(this, node, TryMatchLSL, cont); in VisitWord32Test()
906 return VisitShift(this, node, TryMatchLSR, cont); in VisitWord32Test()
908 return VisitShift(this, node, TryMatchROR, cont); in VisitWord32Test()
915 cont->Encode(kArmTst) | AddressingModeField::encode(kMode_Operand2_R); in VisitWord32Test()
916 if (cont->IsBranch()) { in VisitWord32Test()
918 g.Label(cont->true_block()), in VisitWord32Test()
919 g.Label(cont->false_block()))->MarkAsControl(); in VisitWord32Test()
921 Emit(opcode, g.DefineAsRegister(cont->result()), g.UseRegister(node), in VisitWord32Test()
928 FlagsContinuation* cont) { in VisitWord32Compare() argument
929 VisitWordCompare(this, node, kArmCmp, cont, false); in VisitWord32Compare()
934 FlagsContinuation* cont) { in VisitFloat64Compare() argument
937 if (cont->IsBranch()) { in VisitFloat64Compare()
938 Emit(cont->Encode(kArmVcmpF64), NULL, g.UseRegister(m.left().node()), in VisitFloat64Compare()
939 g.UseRegister(m.right().node()), g.Label(cont->true_block()), in VisitFloat64Compare()
940 g.Label(cont->false_block()))->MarkAsControl(); in VisitFloat64Compare()
942 DCHECK(cont->IsSet()); in VisitFloat64Compare()
943 Emit(cont->Encode(kArmVcmpF64), g.DefineAsRegister(cont->result()), in VisitFloat64Compare()