Lines Matching refs:reg

47     OpRegCopy(r_dest, rl_src.reg);
87 OpRegCopyWide(r_dest, rl_src.reg);
113 if (!RegClassMatches(op_kind, rl_src.reg)) {
116 OpRegCopy(new_reg, rl_src.reg);
118 Clobber(rl_src.reg);
119 FreeTemp(rl_src.reg);
121 rl_src.reg = new_reg;
128 rl_src.reg = AllocTypedTemp(rl_src.fp, op_kind);
129 LoadValueDirect(rl_src, rl_src.reg);
153 if (IsLive(rl_src.reg) ||
154 IsPromoted(rl_src.reg) ||
156 // Src is live/promoted or Dest has assigned reg.
158 OpRegCopy(rl_dest.reg, rl_src.reg);
161 rl_dest.reg = rl_src.reg;
162 Clobber(rl_src.reg);
167 LoadValueDirect(rl_src, rl_dest.reg);
176 if (IsDirty(rl_dest.reg) && LiveOut(rl_dest.s_reg_low)) {
180 StoreRefDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg, kNotVolatile);
182 Store32Disp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg);
197 if (!RegClassMatches(op_kind, rl_src.reg)) {
200 OpRegCopyWide(new_regs, rl_src.reg);
202 Clobber(rl_src.reg);
203 FreeTemp(rl_src.reg);
205 rl_src.reg = new_regs;
213 rl_src.reg = AllocTypedTempWide(rl_src.fp, op_kind);
214 LoadValueDirectWide(rl_src, rl_src.reg);
238 if (IsLive(rl_src.reg) ||
239 IsPromoted(rl_src.reg) ||
242 * If src reg[s] are tied to the original Dalvik vreg via liveness or promotion, we
243 * can't repurpose them. Similarly, if the dest reg[s] are tied to Dalvik vregs via
247 OpRegCopyWide(rl_dest.reg, rl_src.reg);
250 rl_dest.reg = rl_src.reg;
251 Clobber(rl_src.reg);
256 LoadValueDirectWide(rl_src, rl_dest.reg);
261 MarkWide(rl_dest.reg);
265 if (IsDirty(rl_dest.reg) && (LiveOut(rl_dest.s_reg_low) ||
271 StoreBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg, k64, kNotVolatile);
282 OpRegCopy(rl_dest.reg, rl_src.reg);
284 // Just re-assign the register. Dest gets Src's reg.
286 rl_dest.reg = rl_src.reg;
287 Clobber(rl_src.reg);
296 if (IsDirty(rl_dest.reg) && LiveOut(rl_dest.s_reg_low)) {
299 Store32Disp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg);
315 OpRegCopyWide(rl_dest.reg, rl_src.reg);
319 rl_dest.reg = rl_src.reg;
320 Clobber(rl_src.reg);
325 MarkWide(rl_dest.reg);
329 if (IsDirty(rl_dest.reg) && (LiveOut(rl_dest.s_reg_low) ||
335 StoreBaseDisp(TargetPtrReg(kSp), SRegOffset(rl_dest.s_reg_low), rl_dest.reg, k64, kNotVolatile);
357 DCHECK(!IsTemp(rl_method.reg));
358 return rl_method.reg;
374 DCHECK(!loc.reg.IsFloat());
375 if (IsTemp(loc.reg)) {
376 Clobber(loc.reg);
379 OpRegCopy(temp_low, loc.reg);
380 loc.reg = temp_low;
391 DCHECK(!loc.reg.IsFloat());
393 if (!loc.reg.IsPair()) {
394 if (IsTemp(loc.reg)) {
395 Clobber(loc.reg);
398 OpRegCopy(temp, loc.reg);
399 loc.reg = temp;
402 if (IsTemp(loc.reg.GetLow())) {
403 Clobber(loc.reg.GetLow());
406 OpRegCopy(temp_low, loc.reg.GetLow());
407 loc.reg.SetLowReg(temp_low.GetReg());
409 if (IsTemp(loc.reg.GetHigh())) {
410 Clobber(loc.reg.GetHigh());
413 OpRegCopy(temp_high, loc.reg.GetHigh());
414 loc.reg.SetHighReg(temp_high.GetReg());