Home
last modified time | relevance | path

Searched refs:divisor (Results 1 – 19 of 19) sorted by relevance

/art/test/2252-rem-optimization-dividend-divisor/
DAndroid.bp3 // Build rules for ART run-test `2252-rem-optimization-dividend-divisor`.
16 name: "art-run-test-2252-rem-optimization-dividend-divisor",
21 ":art-run-test-2252-rem-optimization-dividend-divisor-expected-stdout",
22 ":art-run-test-2252-rem-optimization-dividend-divisor-expected-stderr",
28 name: "art-run-test-2252-rem-optimization-dividend-divisor-expected-stdout",
29 out: ["art-run-test-2252-rem-optimization-dividend-divisor-expected-stdout.txt"],
36 name: "art-run-test-2252-rem-optimization-dividend-divisor-expected-stderr",
37 out: ["art-run-test-2252-rem-optimization-dividend-divisor-expected-stderr.txt"],
Dinfo.txt2 if the dividend equals the divisor.
/art/compiler/optimizing/
Dcode_generator_utils.cc25 void CalculateMagicAndShiftForDivRem(int64_t divisor, bool is_long, in CalculateMagicAndShiftForDivRem() argument
28 DCHECK_NE(divisor, 0); in CalculateMagicAndShiftForDivRem()
58 uint64_t abs_d = (divisor >= 0) ? divisor : -divisor; in CalculateMagicAndShiftForDivRem()
59 uint64_t sign_bit = is_long ? static_cast<uint64_t>(divisor) >> 63 : in CalculateMagicAndShiftForDivRem()
60 static_cast<uint32_t>(divisor) >> 31; in CalculateMagicAndShiftForDivRem()
90 *magic = (divisor > 0) ? (quotient2 + 1) : (-quotient2 - 1); in CalculateMagicAndShiftForDivRem()
Dcode_generator_utils.h32 void CalculateMagicAndShiftForDivRem(int64_t divisor, bool is_long, int64_t* magic, int* shift);
Dconstant_folding.cc464 HInstruction* divisor = inst->InputAt(1); in FoldDivideUnsignedIntrinsic() local
465 if (!divisor->IsConstant()) { in FoldDivideUnsignedIntrinsic()
469 divisor->IsIntConstant()); in FoldDivideUnsignedIntrinsic()
471 divisor->IsLongConstant()); in FoldDivideUnsignedIntrinsic()
473 if ((is_int_intrinsic && divisor->AsIntConstant()->IsArithmeticZero()) || in FoldDivideUnsignedIntrinsic()
474 (!is_int_intrinsic && divisor->AsLongConstant()->IsArithmeticZero())) { in FoldDivideUnsignedIntrinsic()
494 dchecked_integral_cast<uint32_t>(divisor->AsIntConstant()->GetValueAsUint64()); in FoldDivideUnsignedIntrinsic()
498 uint64_t divisor_val = divisor->AsLongConstant()->GetValueAsUint64(); in FoldDivideUnsignedIntrinsic()
Dinstruction_simplifier.cc1872 static constexpr bool CanDivideByReciprocalMultiplyFloat(int32_t divisor) { in CanDivideByReciprocalMultiplyFloat() argument
1874 return ((divisor & 0x7fffff) == 0); in CanDivideByReciprocalMultiplyFloat()
1878 static constexpr bool CanDivideByReciprocalMultiplyDouble(int64_t divisor) { in CanDivideByReciprocalMultiplyDouble() argument
1880 return ((divisor & ((UINT64_C(1) << 52) - 1)) == 0); in CanDivideByReciprocalMultiplyDouble()
1942 HInstruction* divisor, in FindDivWithInputsInBasicBlock() argument
1949 user->InputAt(1) == divisor) { in FindDivWithInputsInBasicBlock()
1972 HInstruction* divisor = rem->GetRight(); in TryToReuseDiv() local
1974 if (divisor->IsConstant()) { in TryToReuseDiv()
1984 HDiv* quotient = FindDivWithInputsInBasicBlock(dividend, divisor, basic_block); in TryToReuseDiv()
1993 HInstruction* mul = new (allocator) HMul(type, quotient, divisor); in TryToReuseDiv()
Dcode_generator_arm64.cc3404 static inline bool NeedToAddDividend(int64_t magic_number, int64_t divisor) { in NeedToAddDividend() argument
3405 return divisor > 0 && magic_number < 0; in NeedToAddDividend()
3410 static inline bool NeedToSubDividend(int64_t magic_number, int64_t divisor) { in NeedToSubDividend() argument
3411 return divisor < 0 && magic_number > 0; in NeedToSubDividend()
3434 int64_t divisor, in GenerateResultRemWithAnyConstant() argument
3437 __ Mov(temp_imm, divisor); in GenerateResultRemWithAnyConstant()
3614 int64_t divisor) { in GenerateDivRemWithAnyConstant() argument
3617 if (divisor > 0 && HasNonNegativeInputAt(instruction, 0)) { in GenerateDivRemWithAnyConstant()
3653 Register divisor = InputRegisterAt(instruction, 1); in GenerateIntDiv() local
3654 __ Sdiv(out, dividend, divisor); in GenerateIntDiv()
[all …]
Dcode_generator_arm64.h409 int64_t divisor,
415 void GenerateDivRemWithAnyConstant(HBinaryOperation* instruction, int64_t divisor);
Dintrinsics_riscv64.cc605 XRegister divisor = locations->InAt(1).AsRegister<XRegister>(); in GenerateDivRemUnsigned() local
612 __ Beqz(divisor, slow_path->GetEntryLabel()); in GenerateDivRemUnsigned()
616 __ Divuw(out, dividend, divisor); in GenerateDivRemUnsigned()
618 __ Divu(out, dividend, divisor); in GenerateDivRemUnsigned()
622 __ Remuw(out, dividend, divisor); in GenerateDivRemUnsigned()
624 __ Remu(out, dividend, divisor); in GenerateDivRemUnsigned()
Dcode_generator_riscv64.cc1557 XRegister divisor = second.AsRegister<XRegister>(); in GenerateDivRemIntegral() local
1560 __ Divw(out, dividend, divisor); in GenerateDivRemIntegral()
1562 __ Div(out, dividend, divisor); in GenerateDivRemIntegral()
1566 __ Remw(out, dividend, divisor); in GenerateDivRemIntegral()
1568 __ Rem(out, dividend, divisor); in GenerateDivRemIntegral()
3680 int64_t divisor = codegen_->GetInt64ValueOf(value.GetConstant()->AsConstant()); in VisitDivZeroCheck() local
3681 if (divisor == 0) { in VisitDivZeroCheck()
Dcode_generator_arm_vixl.cc4706 HInstruction* divisor = div->InputAt(1); in VisitDiv() local
4707 if (divisor->IsConstant()) { in VisitDiv()
4709 locations->SetInAt(1, Location::ConstantLocation(divisor)); in VisitDiv()
4710 int32_t value = Int32ConstantFrom(divisor); in VisitDiv()
4824 HInstruction* divisor = rem->InputAt(1); in VisitRem() local
4825 if (divisor->IsConstant()) { in VisitRem()
4827 locations->SetInAt(1, Location::ConstantLocation(divisor)); in VisitRem()
4828 int32_t value = Int32ConstantFrom(divisor); in VisitRem()
Dintrinsics_arm_vixl.cc2553 vixl32::Register divisor = RegisterFrom(locations->InAt(1)); in VisitIntegerDivideUnsigned() local
2560 __ CompareAndBranchIfZero(divisor, slow_path->GetEntryLabel()); in VisitIntegerDivideUnsigned()
2562 __ Udiv(out, dividend, divisor); in VisitIntegerDivideUnsigned()
Dintrinsics_arm64.cc4244 Register divisor = RegisterFrom(locations->InAt(1), type); in GenerateDivideUnsigned() local
4251 __ Cbz(divisor, slow_path->GetEntryLabel()); in GenerateDivideUnsigned()
4253 __ Udiv(out, dividend, divisor); in GenerateDivideUnsigned()
/art/runtime/interpreter/
Dinterpreter_common.h349 int32_t dividend, int32_t divisor) in DoIntDivide() argument
352 if (UNLIKELY(divisor == 0)) { in DoIntDivide()
356 if (UNLIKELY(dividend == kMinInt && divisor == -1)) { in DoIntDivide()
359 shadow_frame.SetVReg(result_reg, dividend / divisor); in DoIntDivide()
367 int32_t dividend, int32_t divisor) in DoIntRemainder() argument
370 if (UNLIKELY(divisor == 0)) { in DoIntRemainder()
374 if (UNLIKELY(dividend == kMinInt && divisor == -1)) { in DoIntRemainder()
377 shadow_frame.SetVReg(result_reg, dividend % divisor); in DoIntRemainder()
387 int64_t divisor) in DoLongDivide() argument
390 if (UNLIKELY(divisor == 0)) { in DoLongDivide()
[all …]
/art/test/2260-checker-inline-unimplemented-intrinsics/src/
DMain.java46 private static long $noinline$divideUnsignedLong(long dividend, long divisor) { in $noinline$divideUnsignedLong() argument
47 return Long.divideUnsigned(dividend, divisor); in $noinline$divideUnsignedLong()
/art/libartbase/base/
Dtime_utils.cc98 uint64_t divisor = GetNsToTimeUnitDivisor(time_unit); in FormatDuration() local
113 const uint64_t whole_part = nano_duration / divisor; in FormatDuration()
114 uint64_t fractional_part = nano_duration % divisor; in FormatDuration()
124 while (avail_digits > 1 && fractional_part * multiplier < divisor) { in FormatDuration()
/art/test/435-try-finally-without-catch/
Dinfo.txt8 divisor is non-null, as it wouldn't be used. However, dx is not
9 that clever regarding exception handling: if the divisor is known to
/art/runtime/base/
Dtiming_logger.cc205 uint64_t divisor = GetNsToTimeUnitDivisor(tu); in Dump() local
206 uint64_t mod_fraction = divisor >= 1000 ? divisor / 1000 : 1; in Dump()
/art/
DTEST_MAPPING461 "name": "art-run-test-2252-rem-optimization-dividend-divisor"
1889 "name": "art-run-test-2252-rem-optimization-dividend-divisor[com.google.android.art.apex]"
3335 "name": "art-run-test-2252-rem-optimization-dividend-divisor"
4771 "name": "art-run-test-2252-rem-optimization-dividend-divisor"