Lines Matching refs:cond
1008 inline vixl32::Condition ARMCondition(IfCondition cond) { in ARMCondition() argument
1009 switch (cond) { in ARMCondition()
1026 inline vixl32::Condition ARMUnsignedCondition(IfCondition cond) { in ARMUnsignedCondition() argument
1027 switch (cond) { in ARMUnsignedCondition()
1045 inline vixl32::Condition ARMFPCondition(IfCondition cond, bool gt_bias) { in ARMFPCondition() argument
1050 switch (cond) { in ARMFPCondition()
1369 IfCondition cond = condition->GetCondition(); in GenerateLongTestConstant() local
1373 std::swap(cond, opposite); in GenerateLongTestConstant()
1384 int64_t value = AdjustConstantForCondition(Int64ConstantFrom(right), &cond, &opposite); in GenerateLongTestConstant()
1389 switch (cond) { in GenerateLongTestConstant()
1403 return std::make_pair(ARMCondition(cond), ARMCondition(opposite)); in GenerateLongTestConstant()
1416 switch (cond) { in GenerateLongTestConstant()
1443 ret = std::make_pair(ARMUnsignedCondition(cond), ARMUnsignedCondition(opposite)); in GenerateLongTestConstant()
1451 ret = cond == kCondLE ? std::make_pair(eq, ne) : std::make_pair(ne, eq); in GenerateLongTestConstant()
1455 if (cond == kCondLE) { in GenerateLongTestConstant()
1457 cond = kCondLT; in GenerateLongTestConstant()
1460 DCHECK_EQ(cond, kCondGT); in GenerateLongTestConstant()
1462 cond = kCondGE; in GenerateLongTestConstant()
1472 ret = std::make_pair(ARMCondition(cond), ARMCondition(opposite)); in GenerateLongTestConstant()
1490 IfCondition cond = condition->GetCondition(); in GenerateLongTest() local
1494 std::swap(cond, opposite); in GenerateLongTest()
1503 switch (cond) { in GenerateLongTest()
1519 ret = std::make_pair(ARMUnsignedCondition(cond), ARMUnsignedCondition(opposite)); in GenerateLongTest()
1524 if (cond == kCondLE) { in GenerateLongTest()
1526 cond = kCondGE; in GenerateLongTest()
1529 DCHECK_EQ(cond, kCondGT); in GenerateLongTest()
1531 cond = kCondLT; in GenerateLongTest()
1543 ret = std::make_pair(ARMCondition(cond), ARMCondition(opposite)); in GenerateLongTest()
1558 IfCondition cond = condition->GetCondition(); in GenerateTest() local
1563 std::swap(cond, opposite); in GenerateTest()
1573 ret = std::make_pair(ARMFPCondition(cond, condition->IsGtBias()), in GenerateTest()
1578 ret = std::make_pair(ARMCondition(cond), ARMCondition(opposite)); in GenerateTest()
1584 static void GenerateConditionGeneric(HCondition* cond, CodeGeneratorARMVIXL* codegen) { in GenerateConditionGeneric() argument
1585 const vixl32::Register out = OutputRegister(cond); in GenerateConditionGeneric()
1586 const auto condition = GenerateTest(cond, false, codegen); in GenerateConditionGeneric()
1600 vixl32::Label* const final_label = codegen->GetFinalLabel(cond, &done_label); in GenerateConditionGeneric()
1611 static void GenerateEqualLong(HCondition* cond, CodeGeneratorARMVIXL* codegen) { in GenerateEqualLong() argument
1612 DCHECK_EQ(cond->GetLeft()->GetType(), DataType::Type::kInt64); in GenerateEqualLong()
1614 const LocationSummary* const locations = cond->GetLocations(); in GenerateEqualLong()
1615 IfCondition condition = cond->GetCondition(); in GenerateEqualLong()
1616 const vixl32::Register out = OutputRegister(cond); in GenerateEqualLong()
1625 IfCondition opposite = cond->GetOppositeCondition(); in GenerateEqualLong()
1667 static void GenerateConditionLong(HCondition* cond, CodeGeneratorARMVIXL* codegen) { in GenerateConditionLong() argument
1668 DCHECK_EQ(cond->GetLeft()->GetType(), DataType::Type::kInt64); in GenerateConditionLong()
1670 const LocationSummary* const locations = cond->GetLocations(); in GenerateConditionLong()
1671 IfCondition condition = cond->GetCondition(); in GenerateConditionLong()
1672 const vixl32::Register out = OutputRegister(cond); in GenerateConditionLong()
1677 IfCondition opposite = cond->GetOppositeCondition(); in GenerateConditionLong()
1724 GenerateEqualLong(cond, codegen); in GenerateConditionLong()
1728 GenerateConditionGeneric(cond, codegen); in GenerateConditionLong()
1731 static void GenerateConditionIntegralOrNonPrimitive(HCondition* cond, in GenerateConditionIntegralOrNonPrimitive() argument
1733 const DataType::Type type = cond->GetLeft()->GetType(); in GenerateConditionIntegralOrNonPrimitive()
1738 GenerateConditionLong(cond, codegen); in GenerateConditionIntegralOrNonPrimitive()
1742 IfCondition condition = cond->GetCondition(); in GenerateConditionIntegralOrNonPrimitive()
1743 vixl32::Register in = InputRegisterAt(cond, 0); in GenerateConditionIntegralOrNonPrimitive()
1744 const vixl32::Register out = OutputRegister(cond); in GenerateConditionIntegralOrNonPrimitive()
1745 const Location right = cond->GetLocations()->InAt(1); in GenerateConditionIntegralOrNonPrimitive()
1749 IfCondition opposite = cond->GetOppositeCondition(); in GenerateConditionIntegralOrNonPrimitive()
1795 operand = InputOperandAt(cond, 0); in GenerateConditionIntegralOrNonPrimitive()
1798 operand = InputOperandAt(cond, 1); in GenerateConditionIntegralOrNonPrimitive()
1819 GenerateConditionGeneric(cond, codegen); in GenerateConditionIntegralOrNonPrimitive()
2906 const auto cond = GenerateTest(condition, invert, codegen_); in GenerateCompareTestAndBranch() local
2908 __ B(cond.first, non_fallthrough_target, is_far_target); in GenerateCompareTestAndBranch()
2921 HInstruction* cond = instruction->InputAt(condition_input_index); in GenerateTestAndBranch() local
2926 } else if (cond->IsIntConstant()) { in GenerateTestAndBranch()
2928 if (cond->AsIntConstant()->IsTrue()) { in GenerateTestAndBranch()
2933 DCHECK(cond->AsIntConstant()->IsFalse()) << Int32ConstantFrom(cond); in GenerateTestAndBranch()
2949 if (IsBooleanValueOrMaterializedCondition(cond)) { in GenerateTestAndBranch()
2967 HCondition* condition = cond->AsCondition(); in GenerateTestAndBranch()
2979 const vixl32::Register left = InputRegisterAt(cond, 0); in GenerateTestAndBranch()
2980 const Operand right = InputOperandAt(cond, 1); in GenerateTestAndBranch()
3179 std::pair<vixl32::Condition, vixl32::Condition> cond(eq, ne); in VisitSelect() local
3183 cond = invert ? std::make_pair(eq, ne) : std::make_pair(ne, eq); in VisitSelect()
3185 cond = GenerateTest(condition->AsCondition(), invert, codegen_); in VisitSelect()
3195 __ it(cond.first); in VisitSelect()
3196 __ mov(cond.first, RegisterFrom(out), OperandFrom(src, type)); in VisitSelect()
3214 __ it(cond.first); in VisitSelect()
3215 __ mov(cond.first, LowRegisterFrom(out), operand_low); in VisitSelect()
3216 __ it(cond.first); in VisitSelect()
3217 __ mov(cond.first, HighRegisterFrom(out), operand_high); in VisitSelect()
3358 void LocationsBuilderARMVIXL::HandleCondition(HCondition* cond) { in HandleCondition() argument
3360 new (GetGraph()->GetAllocator()) LocationSummary(cond, LocationSummary::kNoCall); in HandleCondition()
3361 const DataType::Type type = cond->InputAt(0)->GetType(); in HandleCondition()
3364 locations->SetInAt(1, ArithmeticZeroOrFpuRegister(cond->InputAt(1))); in HandleCondition()
3367 locations->SetInAt(1, Location::RegisterOrConstant(cond->InputAt(1))); in HandleCondition()
3369 if (!cond->IsEmittedAtUseSite()) { in HandleCondition()
3374 void InstructionCodeGeneratorARMVIXL::HandleCondition(HCondition* cond) { in HandleCondition() argument
3375 if (cond->IsEmittedAtUseSite()) { in HandleCondition()
3379 const DataType::Type type = cond->GetLeft()->GetType(); in HandleCondition()
3382 GenerateConditionGeneric(cond, codegen_); in HandleCondition()
3388 const IfCondition condition = cond->GetCondition(); in HandleCondition()
3394 cond->GetRight()->GetType() == DataType::Type::kBool && in HandleCondition()
3396 vixl32::Register left = InputRegisterAt(cond, 0); in HandleCondition()
3397 const vixl32::Register out = OutputRegister(cond); in HandleCondition()
3398 const Location right_loc = cond->GetLocations()->InAt(1); in HandleCondition()
3419 GenerateConditionIntegralOrNonPrimitive(cond, codegen_); in HandleCondition()
5021 vixl32::ConditionType cond = is_min ? ge : lt; in GenerateMinMaxLong() local
5025 __ itt(cond); in GenerateMinMaxLong()
5026 __ mov(cond, out_lo, op2_lo); in GenerateMinMaxLong()
5027 __ mov(cond, out_hi, op2_hi); in GenerateMinMaxLong()
5060 vixl32::ConditionType cond = is_min ? gt : lt; in GenerateMinMaxFloat() local
5065 __ it(cond); in GenerateMinMaxFloat()
5066 __ vmov(cond, F32, out, op2); in GenerateMinMaxFloat()
5117 vixl32::ConditionType cond = is_min ? gt : lt; in GenerateMinMaxDouble() local
5122 __ it(cond); in GenerateMinMaxDouble()
5123 __ vmov(cond, F64, out, op2); in GenerateMinMaxDouble()
6494 vixl32::Condition cond) { in LoadFromShiftedRegOffset() argument
6501 __ Ldrb(cond, RegisterFrom(out_loc), mem_address); in LoadFromShiftedRegOffset()
6504 __ Ldrsb(cond, RegisterFrom(out_loc), mem_address); in LoadFromShiftedRegOffset()
6507 __ Ldrh(cond, RegisterFrom(out_loc), mem_address); in LoadFromShiftedRegOffset()
6510 __ Ldrsh(cond, RegisterFrom(out_loc), mem_address); in LoadFromShiftedRegOffset()
6514 __ Ldr(cond, RegisterFrom(out_loc), mem_address); in LoadFromShiftedRegOffset()
6530 vixl32::Condition cond) { in StoreToShiftedRegOffset() argument
6538 __ Strb(cond, RegisterFrom(loc), mem_address); in StoreToShiftedRegOffset()
6542 __ Strh(cond, RegisterFrom(loc), mem_address); in StoreToShiftedRegOffset()
6546 __ Str(cond, RegisterFrom(loc), mem_address); in StoreToShiftedRegOffset()