Lines Matching refs:rl_src
116 void ArmMir2Lir::GenConversion(Instruction::Code opcode, RegLocation rl_dest, RegLocation rl_src) { in GenConversion() argument
141 rl_src = LoadValueWide(rl_src, kFPReg); in GenConversion()
142 RegisterInfo* info = GetRegInfo(rl_src.reg); in GenConversion()
161 GenConversionCall(kQuickF2l, rl_dest, rl_src); in GenConversion()
164 rl_src = LoadValueWide(rl_src, kFPReg); in GenConversion()
165 RegisterInfo* info = GetRegInfo(rl_src.reg); in GenConversion()
191 GenConversionCall(kQuickD2l, rl_dest, rl_src); in GenConversion()
196 if (rl_src.wide) { in GenConversion()
197 rl_src = LoadValueWide(rl_src, kFPReg); in GenConversion()
198 src_reg = rl_src.reg.GetReg(); in GenConversion()
200 rl_src = LoadValue(rl_src, kFPReg); in GenConversion()
201 src_reg = rl_src.reg.GetReg(); in GenConversion()
323 void ArmMir2Lir::GenNegFloat(RegLocation rl_dest, RegLocation rl_src) { in GenNegFloat() argument
325 rl_src = LoadValue(rl_src, kFPReg); in GenNegFloat()
327 NewLIR2(kThumb2Vnegs, rl_result.reg.GetReg(), rl_src.reg.GetReg()); in GenNegFloat()
331 void ArmMir2Lir::GenNegDouble(RegLocation rl_dest, RegLocation rl_src) { in GenNegDouble() argument
333 rl_src = LoadValueWide(rl_src, kFPReg); in GenNegDouble()
335 NewLIR2(kThumb2Vnegd, rl_result.reg.GetReg(), rl_src.reg.GetReg()); in GenNegDouble()
339 static RegisterClass RegClassForAbsFP(RegLocation rl_src, RegLocation rl_dest) { in RegClassForAbsFP() argument
341 if ((rl_src.location == kLocPhysReg && !rl_src.reg.IsFloat()) || in RegClassForAbsFP()
346 if (rl_src.location == kLocPhysReg || rl_dest.location == kLocPhysReg) { in RegClassForAbsFP()
362 RegLocation rl_src = UpdateLoc(info->args[0]); in GenInlinedAbsFloat() local
363 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest); in GenInlinedAbsFloat()
364 rl_src = LoadValue(rl_src, reg_class); in GenInlinedAbsFloat()
367 NewLIR2(kThumb2Vabss, rl_result.reg.GetReg(), rl_src.reg.GetReg()); in GenInlinedAbsFloat()
369 OpRegRegImm(kOpAnd, rl_result.reg, rl_src.reg, 0x7fffffff); in GenInlinedAbsFloat()
380 RegLocation rl_src = UpdateLocWide(info->args[0]); in GenInlinedAbsDouble() local
381 RegisterClass reg_class = RegClassForAbsFP(rl_src, rl_dest); in GenInlinedAbsDouble()
382 rl_src = LoadValueWide(rl_src, reg_class); in GenInlinedAbsDouble()
385 NewLIR2(kThumb2Vabsd, rl_result.reg.GetReg(), rl_src.reg.GetReg()); in GenInlinedAbsDouble()
386 } else if (rl_result.reg.GetLow().GetReg() != rl_src.reg.GetHigh().GetReg()) { in GenInlinedAbsDouble()
388 OpRegCopy(rl_result.reg.GetLow(), rl_src.reg.GetLow()); in GenInlinedAbsDouble()
389 OpRegRegImm(kOpAnd, rl_result.reg.GetHigh(), rl_src.reg.GetHigh(), 0x7fffffff); in GenInlinedAbsDouble()
393 OpRegCopy(rs_tmp, rl_src.reg.GetHigh()); in GenInlinedAbsDouble()
394 OpRegCopy(rl_result.reg.GetLow(), rl_src.reg.GetLow()); in GenInlinedAbsDouble()
404 RegLocation rl_src = info->args[0]; in GenInlinedSqrt() local
406 rl_src = LoadValueWide(rl_src, kFPReg); in GenInlinedSqrt()
408 NewLIR2(kThumb2Vsqrtd, rl_result.reg.GetReg(), rl_src.reg.GetReg()); in GenInlinedSqrt()