Lines Matching refs:rl_src1
133 void ArmMir2Lir::GenCmpLong(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2) { in GenCmpLong() argument
136 rl_src1 = LoadValueWide(rl_src1, kCoreReg); in GenCmpLong()
140 OpRegReg(kOpCmp, rl_src1.reg.GetHigh(), rl_src2.reg.GetHigh()); in GenCmpLong()
143 OpRegRegReg(kOpSub, t_reg, rl_src1.reg.GetLow(), rl_src2.reg.GetLow()); in GenCmpLong()
166 void ArmMir2Lir::GenFusedLongCmpImmBranch(BasicBlock* bb, RegLocation rl_src1, in GenFusedLongCmpImmBranch() argument
174 rl_src1 = LoadValueWide(rl_src1, kCoreReg); in GenFusedLongCmpImmBranch()
175 RegStorage low_reg = rl_src1.reg.GetLow(); in GenFusedLongCmpImmBranch()
176 RegStorage high_reg = rl_src1.reg.GetHigh(); in GenFusedLongCmpImmBranch()
319 RegLocation rl_src1 = mir_graph_->GetSrcWide(mir, 0); in GenFusedLongCmpBranch() local
323 if (rl_src1.is_const) { in GenFusedLongCmpBranch()
324 std::swap(rl_src1, rl_src2); in GenFusedLongCmpBranch()
333 GenFusedLongCmpImmBranch(bb, rl_src1, val, ccode); in GenFusedLongCmpBranch()
339 rl_src1 = LoadValueWide(rl_src1, kCoreReg); in GenFusedLongCmpBranch()
341 OpRegReg(kOpCmp, rl_src1.reg.GetHigh(), rl_src2.reg.GetHigh()); in GenFusedLongCmpBranch()
372 OpRegReg(kOpCmp, rl_src1.reg.GetLow(), rl_src2.reg.GetLow()); in GenFusedLongCmpBranch()
715 RegLocation ArmMir2Lir::GenDivRem(RegLocation rl_dest, RegLocation rl_src1, in GenDivRem() argument
717 UNUSED(rl_dest, rl_src1, rl_src2, is_div, flags); in GenDivRem()
722 RegLocation ArmMir2Lir::GenDivRemLit(RegLocation rl_dest, RegLocation rl_src1, int lit, in GenDivRemLit() argument
724 UNUSED(rl_dest, rl_src1, lit, is_div); in GenDivRemLit()
770 RegLocation rl_src1 = info->args[0]; in GenInlinedMinMax() local
772 rl_src1 = LoadValue(rl_src1, kCoreReg); in GenInlinedMinMax()
776 OpRegReg(kOpCmp, rl_src1.reg, rl_src2.reg); in GenInlinedMinMax()
779 OpRegReg(kOpMov, rl_result.reg, rl_src1.reg); in GenInlinedMinMax()
1135 void ArmMir2Lir::GenMaddMsubInt(RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2, in GenMaddMsubInt() argument
1137 rl_src1 = LoadValue(rl_src1, kCoreReg); in GenMaddMsubInt()
1141 NewLIR4(is_sub ? kThumb2Mls : kThumb2Mla, rl_result.reg.GetReg(), rl_src1.reg.GetReg(), in GenMaddMsubInt()
1245 RegLocation rl_src1, RegLocation rl_src2) { in GenMulLong() argument
1262 if (PartiallyIntersects(rl_src1, rl_dest) || (PartiallyIntersects(rl_src2, rl_dest))) { in GenMulLong()
1264 CallRuntimeHelperRegLocationRegLocation(kQuickLmul, rl_src1, rl_src2, false); in GenMulLong()
1270 rl_src1 = LoadValueWide(rl_src1, kCoreReg); in GenMulLong()
1278 bool src1_promoted = !IsTemp(rl_src1.reg.GetLow()) && !IsTemp(rl_src1.reg.GetHigh()); in GenMulLong()
1281 if ((rl_dest.s_reg_low != rl_src1.s_reg_low && rl_dest.s_reg_low != rl_src2.s_reg_low) && in GenMulLong()
1289 if ((rl_src1.s_reg_low == rl_src2.s_reg_low) || src1_promoted || src2_promoted) { in GenMulLong()
1306 if (rl_src1.reg == rl_src2.reg) { in GenMulLong()
1309 NewLIR3(kThumb2MulRRR, tmp1.GetReg(), rl_src1.reg.GetLowReg(), rl_src1.reg.GetHighReg()); in GenMulLong()
1310 NewLIR4(kThumb2Umull, res_lo.GetReg(), res_hi.GetReg(), rl_src1.reg.GetLowReg(), in GenMulLong()
1311 rl_src1.reg.GetLowReg()); in GenMulLong()
1314 NewLIR3(kThumb2MulRRR, tmp1.GetReg(), rl_src2.reg.GetLowReg(), rl_src1.reg.GetHighReg()); in GenMulLong()
1317 DCHECK_NE(rl_src1.reg.GetLowReg(), rl_src2.reg.GetLowReg()); in GenMulLong()
1318 DCHECK_NE(rl_src1.reg.GetHighReg(), rl_src2.reg.GetHighReg()); in GenMulLong()
1320 Clobber(rl_src1.reg); in GenMulLong()
1321 FreeTemp(rl_src1.reg.GetHigh()); in GenMulLong()
1327 rl_src1.reg.GetLowReg()); in GenMulLong()
1328 NewLIR4(kThumb2Mla, tmp1.GetReg(), rl_src1.reg.GetLowReg(), rl_src2.reg.GetHighReg(), in GenMulLong()
1332 FreeTemp(rl_src1.reg.GetLow()); in GenMulLong()
1353 void ArmMir2Lir::GenArithOpLong(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src1, in GenArithOpLong() argument
1358 GenMulLong(opcode, rl_dest, rl_src1, rl_src2); in GenArithOpLong()
1369 Mir2Lir::GenArithOpLong(opcode, rl_dest, rl_src1, rl_src2, flags); in GenArithOpLong()
1625 RegLocation rl_dest, RegLocation rl_src1, RegLocation rl_src2, in GenArithImmOpLong() argument
1630 GenArithOpLong(opcode, rl_dest, rl_src1, rl_src2, flags); in GenArithImmOpLong()
1636 DCHECK(rl_src1.is_const); in GenArithImmOpLong()
1637 std::swap(rl_src1, rl_src2); in GenArithImmOpLong()
1640 if (PartiallyIntersects(rl_src1, rl_dest)) { in GenArithImmOpLong()
1641 GenArithOpLong(opcode, rl_dest, rl_src1, rl_src2, flags); in GenArithImmOpLong()
1658 GenArithOpLong(opcode, rl_dest, rl_src1, rl_src2, flags); in GenArithImmOpLong()
1665 rl_src1 = LoadValueWide(rl_src1, kCoreReg); in GenArithImmOpLong()
1671 NewLIR3(kThumb2AddRRI8M, rl_result.reg.GetLowReg(), rl_src1.reg.GetLowReg(), mod_imm_lo); in GenArithImmOpLong()
1672 NewLIR3(kThumb2AdcRRI8M, rl_result.reg.GetHighReg(), rl_src1.reg.GetHighReg(), mod_imm_hi); in GenArithImmOpLong()
1676 if ((val_lo != 0) || (rl_result.reg.GetLowReg() != rl_src1.reg.GetLowReg())) { in GenArithImmOpLong()
1677 OpRegRegImm(kOpOr, rl_result.reg.GetLow(), rl_src1.reg.GetLow(), val_lo); in GenArithImmOpLong()
1679 if ((val_hi != 0) || (rl_result.reg.GetHighReg() != rl_src1.reg.GetHighReg())) { in GenArithImmOpLong()
1680 OpRegRegImm(kOpOr, rl_result.reg.GetHigh(), rl_src1.reg.GetHigh(), val_hi); in GenArithImmOpLong()
1685 OpRegRegImm(kOpXor, rl_result.reg.GetLow(), rl_src1.reg.GetLow(), val_lo); in GenArithImmOpLong()
1686 OpRegRegImm(kOpXor, rl_result.reg.GetHigh(), rl_src1.reg.GetHigh(), val_hi); in GenArithImmOpLong()
1690 if ((val_lo != 0xffffffff) || (rl_result.reg.GetLowReg() != rl_src1.reg.GetLowReg())) { in GenArithImmOpLong()
1691 OpRegRegImm(kOpAnd, rl_result.reg.GetLow(), rl_src1.reg.GetLow(), val_lo); in GenArithImmOpLong()
1693 if ((val_hi != 0xffffffff) || (rl_result.reg.GetHighReg() != rl_src1.reg.GetHighReg())) { in GenArithImmOpLong()
1694 OpRegRegImm(kOpAnd, rl_result.reg.GetHigh(), rl_src1.reg.GetHigh(), val_hi); in GenArithImmOpLong()
1699 NewLIR3(kThumb2SubRRI8M, rl_result.reg.GetLowReg(), rl_src1.reg.GetLowReg(), mod_imm_lo); in GenArithImmOpLong()
1700 NewLIR3(kThumb2SbcRRI8M, rl_result.reg.GetHighReg(), rl_src1.reg.GetHighReg(), mod_imm_hi); in GenArithImmOpLong()