/art/compiler/dex/quick/arm64/ |
D | int_arm64.cc | 417 RegLocation rl_src, RegLocation rl_dest, int lit) { in SmallLiteralDivRem() argument 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() 461 RegLocation rl_src, RegLocation rl_dest, int64_t lit) { in SmallLiteralDivRem64() argument 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() [all …]
|
D | codegen_arm64.h | 55 RegLocation rl_dest, int lit) OVERRIDE; 57 RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE; 59 RegLocation rl_src, RegLocation rl_dest, int64_t lit); 60 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE; 169 RegLocation GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, bool is_div) 189 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, 349 RegLocation GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, bool is_div) OVERRIDE; 353 RegLocation rl_dest, int64_t lit);
|
/art/compiler/dex/quick/arm/ |
D | int_arm.cc | 520 RegLocation rl_src, RegLocation rl_dest, int lit) { in SmallLiteralDivRem() argument 522 if ((lit < 0) || (lit >= static_cast<int>(sizeof(magic_table)/sizeof(magic_table[0])))) { in SmallLiteralDivRem() 525 DividePattern pattern = magic_table[lit].pattern; in SmallLiteralDivRem() 531 LoadConstant(r_magic, magic_table[lit].magic); in SmallLiteralDivRem() 549 EncodeShift(kArmAsr, magic_table[lit].shift)); in SmallLiteralDivRem() 555 EncodeShift(kArmAsr, magic_table[lit].shift)); in SmallLiteralDivRem() 568 bool canEasyMultiply = GetEasyMultiplyTwoOps(lit, ops); in SmallLiteralDivRem() 580 bool ArmMir2Lir::GetEasyMultiplyOp(int lit, ArmMir2Lir::EasyMultiplyOp* op) { in GetEasyMultiplyOp() argument 581 if (lit == 0) { in GetEasyMultiplyOp() 590 if (IsPowerOfTwo(lit)) { in GetEasyMultiplyOp() [all …]
|
D | codegen_arm.h | 63 RegLocation rl_dest, int lit); 64 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE; 169 RegLocation GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, bool is_div); 187 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, 278 RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE; 295 … RegLocation GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, bool is_div) OVERRIDE; 300 bool GetEasyMultiplyOp(int lit, EasyMultiplyOp* op); 301 bool GetEasyMultiplyTwoOps(int lit, EasyMultiplyOp* ops);
|
/art/compiler/dex/quick/ |
D | gen_common.cc | 1672 RegLocation rl_src, RegLocation rl_dest, int lit) { in HandleEasyDivRem() argument 1673 if ((lit < 2) || (!IsPowerOfTwo(lit))) { in HandleEasyDivRem() 1676 int k = CTZ(lit); in HandleEasyDivRem() 1685 if (lit == 2) { in HandleEasyDivRem() 1699 if (lit == 2) { in HandleEasyDivRem() 1702 OpRegRegImm(kOpAnd, t_reg2, t_reg2, lit -1); in HandleEasyDivRem() 1708 OpRegRegImm(kOpAnd, t_reg2, t_reg2, lit - 1); in HandleEasyDivRem() 1718 bool Mir2Lir::HandleEasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) { in HandleEasyMultiply() argument 1719 if (lit < 0) { in HandleEasyMultiply() 1722 if (lit == 0) { in HandleEasyMultiply() [all …]
|
D | mir_to_lir.h | 793 RegLocation rl_src, RegLocation rl_dest, int lit); 794 bool HandleEasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit); 846 RegLocation rl_src, int lit); 1141 RegLocation rl_src, RegLocation rl_dest, int lit) = 0; 1142 virtual bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) = 0; 1308 virtual RegLocation GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, 1328 virtual RegLocation GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, 1379 virtual void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit,
|
/art/compiler/dex/quick/mips/ |
D | int_mips.cc | 316 RegLocation MipsMir2Lir::GenDivRemLit(RegLocation rl_dest, RegStorage reg1, int lit, bool is_div) { in GenDivRemLit() argument 319 if (IsUint<16>(lit)) { in GenDivRemLit() 320 NewLIR3(kMipsOri, t_reg.GetReg(), rZERO, lit); in GenDivRemLit() 323 NewLIR3(kMipsAddiu, t_reg.GetReg(), rZERO, lit); in GenDivRemLit() 337 RegLocation MipsMir2Lir::GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, in GenDivRemLit() argument 339 UNUSED(rl_dest, rl_src1, lit, is_div); in GenDivRemLit() 429 void MipsMir2Lir::GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, in GenMultiplyByTwoBitMultiplier() argument 431 UNUSED(lit); in GenMultiplyByTwoBitMultiplier() 466 RegLocation rl_src, RegLocation rl_dest, int lit) { in SmallLiteralDivRem() argument 467 UNUSED(dalvik_opcode, is_div, rl_src, rl_dest, lit); in SmallLiteralDivRem() [all …]
|
D | codegen_mips.h | 74 RegLocation rl_dest, int lit); 75 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE; 170 RegLocation GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, bool is_div); 186 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, 243 RegLocation GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, bool is_div) OVERRIDE;
|
/art/compiler/dex/quick/x86/ |
D | codegen_x86.h | 84 RegLocation rl_dest, int lit) OVERRIDE; 85 bool EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) OVERRIDE; 261 RegLocation GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, bool is_div) OVERRIDE; 276 void GenMultiplyByTwoBitMultiplier(RegLocation rl_src, RegLocation rl_result, int lit, 773 RegLocation GenDivRemLit(RegLocation rl_dest, RegLocation rl_src, int lit, bool is_div);
|
D | int_x86.cc | 600 RegLocation X86Mir2Lir::GenDivRemLit(RegLocation rl_dest, RegStorage reg_lo, int lit, bool is_div) { in GenDivRemLit() argument 601 UNUSED(rl_dest, reg_lo, lit, is_div); in GenDivRemLit() 1465 RegLocation rl_result, int lit, in GenMultiplyByTwoBitMultiplier() argument 1467 UNUSED(lit); in GenMultiplyByTwoBitMultiplier() 1599 RegLocation rl_src, RegLocation rl_dest, int lit) { in SmallLiteralDivRem() argument 1600 UNUSED(dalvik_opcode, is_div, rl_src, rl_dest, lit); in SmallLiteralDivRem() 1605 bool X86Mir2Lir::EasyMultiply(RegLocation rl_src, RegLocation rl_dest, int lit) { in EasyMultiply() argument 1606 UNUSED(rl_src, rl_dest, lit); in EasyMultiply()
|