Lines Matching refs:magic_table
396 static const MagicTable magic_table[] = { variable
419 if ((lit < 0) || (lit >= static_cast<int>(arraysize(magic_table)))) { in SmallLiteralDivRem()
422 DividePattern pattern = magic_table[lit].pattern; in SmallLiteralDivRem()
432 LoadConstant(r_magic, magic_table[lit].magic32); in SmallLiteralDivRem()
444 32 + magic_table[lit].shift); in SmallLiteralDivRem()
450 OpRegRegImm(kOpAsr, r_long_mul, r_long_mul, magic_table[lit].shift); in SmallLiteralDivRem()
463 if ((lit < 0) || (lit >= static_cast<int>(arraysize(magic_table)))) { in SmallLiteralDivRem64()
466 DividePattern pattern = magic_table[lit].pattern; in SmallLiteralDivRem64()
480 if (magic_table[lit].magic64_base >= 0) { in SmallLiteralDivRem64()
484 uint64_t base = DecodeLogicalImmediate(/*is_wide*/true, magic_table[lit].magic64_base); in SmallLiteralDivRem64()
485 if (magic_table[lit].magic64_eor >= 0) { in SmallLiteralDivRem64()
486 uint64_t eor = DecodeLogicalImmediate(/*is_wide*/true, magic_table[lit].magic64_eor); in SmallLiteralDivRem64()
491 DCHECK_EQ(reconstructed_imm, magic_table[lit].magic64) << " for literal " << lit; in SmallLiteralDivRem64()
495 NewLIR3(WIDE(kA64Orr3Rrl), r_magic.GetReg(), rxzr, magic_table[lit].magic64_base); in SmallLiteralDivRem64()
496 if (magic_table[lit].magic64_eor >= 0) { in SmallLiteralDivRem64()
498 magic_table[lit].magic64_eor); in SmallLiteralDivRem64()
503 LoadConstantWide(r_magic, magic_table[lit].magic64); in SmallLiteralDivRem64()
512 OpRegRegImm(kOpAsr, r_long_mul, r_long_mul, magic_table[lit].shift); in SmallLiteralDivRem64()
517 OpRegRegImm(kOpAsr, r_long_mul, r_long_mul, magic_table[lit].shift); in SmallLiteralDivRem64()