Lines Matching defs:condition

732 // Maps FP condition to x86_64 name.
1284 void InstructionCodeGeneratorX86_64::GenerateCompareTest(HCondition* condition) {
1285 LocationSummary* locations = condition->GetLocations();
1289 Primitive::Type type = condition->InputAt(0)->GetType();
1353 LOG(FATAL) << "Unexpected condition type " << type;
1358 void InstructionCodeGeneratorX86_64::GenerateCompareTestAndBranch(HCondition* condition,
1368 GenerateCompareTest(condition);
1371 Primitive::Type type = condition->InputAt(0)->GetType();
1374 __ j(X86_64IntegerCondition(condition->GetCondition()), true_target);
1378 GenerateFPJumps(condition, true_target, false_target);
1382 GenerateFPJumps(condition, true_target, false_target);
1386 LOG(FATAL) << "Unexpected condition type " << type;
1418 // Constant condition, statically compared against "true" (integer value 1).
1434 // - opposite condition true => branch to false_target
1436 // - condition true => branch to true_target
1438 // - condition true => branch to true_target
1448 // Materialized condition, compare against 0.
1463 // comparison and its condition as the branch condition.
1464 HCondition* condition = cond->AsCondition();
1468 Primitive::Type type = condition->InputAt(0)->GetType();
1470 GenerateCompareTestAndBranch(condition, true_target, false_target);
1474 Location lhs = condition->GetLocations()->InAt(0);
1475 Location rhs = condition->GetLocations()->InAt(1);
1486 __ j(X86_64IntegerCondition(condition->GetOppositeCondition()), false_target);
1488 __ j(X86_64IntegerCondition(condition->GetCondition()), true_target);
1538 // A FP condition doesn't generate the single CC that we need.
1539 HInstruction* condition = select->GetCondition();
1540 if (condition->IsCondition() &&
1541 Primitive::IsFloatingPointType(condition->InputAt(0)->GetType())) {
1575 // If both the condition and the source types are integer, we can generate
1584 // Figure out how to test the 'condition'.
1586 HCondition* condition = select_condition->AsCondition();
1587 if (!condition->IsEmittedAtUseSite()) {
1588 // This was a previously materialized condition.
1589 // Can we use the existing condition code?
1590 if (AreEflagsSetFrom(condition, select)) {
1592 cond = X86_64IntegerCondition(condition->GetCondition());
1594 // No, we have to recreate the condition code.
1599 GenerateCompareTest(condition);
1600 cond = X86_64IntegerCondition(condition->GetCondition());
1603 // Must be a boolean condition, which needs to be compared to 0.
1608 // If the condition is true, overwrite the output, which already contains false.
5017 // We have to reverse the jump condition because the length is the constant.