Lines Matching refs:r_dest
414 LIR* ArmMir2Lir::OpRegCopyNoInsert(RegStorage r_dest, RegStorage r_src) { in OpRegCopyNoInsert() argument
418 if (r_dest.IsPair()) { in OpRegCopyNoInsert()
419 r_dest = r_dest.GetLow(); in OpRegCopyNoInsert()
424 if (r_dest.IsFloat() || r_src.IsFloat()) in OpRegCopyNoInsert()
425 return OpFpRegCopy(r_dest, r_src); in OpRegCopyNoInsert()
426 if (r_dest.Low8() && r_src.Low8()) in OpRegCopyNoInsert()
428 else if (!r_dest.Low8() && !r_src.Low8()) in OpRegCopyNoInsert()
430 else if (r_dest.Low8()) in OpRegCopyNoInsert()
434 res = RawLIR(current_dalvik_offset_, opcode, r_dest.GetReg(), r_src.GetReg()); in OpRegCopyNoInsert()
435 if (!(cu_->disable_opt & (1 << kSafeOptimizations)) && r_dest == r_src) { in OpRegCopyNoInsert()
441 void ArmMir2Lir::OpRegCopy(RegStorage r_dest, RegStorage r_src) { in OpRegCopy() argument
442 if (r_dest != r_src) { in OpRegCopy()
443 LIR* res = OpRegCopyNoInsert(r_dest, r_src); in OpRegCopy()
448 void ArmMir2Lir::OpRegCopyWide(RegStorage r_dest, RegStorage r_src) { in OpRegCopyWide() argument
449 if (r_dest != r_src) { in OpRegCopyWide()
450 bool dest_fp = r_dest.IsFloat(); in OpRegCopyWide()
452 DCHECK(r_dest.Is64Bit()); in OpRegCopyWide()
457 if (dest_fp && r_dest.IsPair()) { in OpRegCopyWide()
458 r_dest = As64BitFloatReg(r_dest); in OpRegCopyWide()
465 OpRegCopy(r_dest, r_src); in OpRegCopyWide()
467 NewLIR3(kThumb2Fmdrr, r_dest.GetReg(), r_src.GetLowReg(), r_src.GetHighReg()); in OpRegCopyWide()
471 NewLIR3(kThumb2Fmrrd, r_dest.GetLowReg(), r_dest.GetHighReg(), r_src.GetReg()); in OpRegCopyWide()
474 if (r_src.GetHighReg() != r_dest.GetLowReg()) { in OpRegCopyWide()
475 OpRegCopy(r_dest.GetLow(), r_src.GetLow()); in OpRegCopyWide()
476 OpRegCopy(r_dest.GetHigh(), r_src.GetHigh()); in OpRegCopyWide()
477 } else if (r_src.GetLowReg() != r_dest.GetHighReg()) { in OpRegCopyWide()
478 OpRegCopy(r_dest.GetHigh(), r_src.GetHigh()); in OpRegCopyWide()
479 OpRegCopy(r_dest.GetLow(), r_src.GetLow()); in OpRegCopyWide()
483 OpRegCopy(r_dest.GetLow(), r_src.GetLow()); in OpRegCopyWide()
484 OpRegCopy(r_dest.GetHigh(), r_tmp); in OpRegCopyWide()
654 void ArmMir2Lir::GenEasyMultiplyTwoOps(RegStorage r_dest, RegStorage r_src, EasyMultiplyOp* ops) { in GenEasyMultiplyTwoOps() argument
660 r_tmp1 = r_dest; in GenEasyMultiplyTwoOps()
661 } else if (r_dest.GetReg() != r_src.GetReg()) { in GenEasyMultiplyTwoOps()
662 r_tmp1 = r_dest; in GenEasyMultiplyTwoOps()
686 OpRegRegImm(kOpLsl, r_dest, r_tmp1, ops[1].shift); in GenEasyMultiplyTwoOps()
689 OpRegRegRegShift(kOpAdd, r_dest, r_src, r_tmp1, EncodeShift(kArmLsl, ops[1].shift)); in GenEasyMultiplyTwoOps()
692 OpRegRegRegShift(kOpRsub, r_dest, r_src, r_tmp1, EncodeShift(kArmLsl, ops[1].shift)); in GenEasyMultiplyTwoOps()
1099 void ArmMir2Lir::OpPcRelDexCacheArrayAddr(const DexFile* dex_file, int offset, RegStorage r_dest) { in OpPcRelDexCacheArrayAddr() argument
1100 LIR* movw = NewLIR2(kThumb2MovImm16, r_dest.GetReg(), 0); in OpPcRelDexCacheArrayAddr()
1101 LIR* movt = NewLIR2(kThumb2MovImm16H, r_dest.GetReg(), 0); in OpPcRelDexCacheArrayAddr()
1102 ArmOpcode add_pc_opcode = (r_dest.GetRegNum() < 8) ? kThumbAddRRLH : kThumbAddRRHH; in OpPcRelDexCacheArrayAddr()
1103 LIR* add_pc = NewLIR2(add_pc_opcode, r_dest.GetReg(), rs_rARM_PC.GetReg()); in OpPcRelDexCacheArrayAddr()
1115 void ArmMir2Lir::OpPcRelDexCacheArrayLoad(const DexFile* dex_file, int offset, RegStorage r_dest, in OpPcRelDexCacheArrayLoad() argument
1120 r_dest, kNotVolatile); in OpPcRelDexCacheArrayLoad()
1122 OpPcRelDexCacheArrayAddr(dex_file, offset, r_dest); in OpPcRelDexCacheArrayLoad()
1123 LoadRefDisp(r_dest, 0, r_dest, kNotVolatile); in OpPcRelDexCacheArrayLoad()