Lines Matching refs:dest
67 void Arm64JNIMacroAssembler::GetCurrentThread(ManagedRegister dest) { in GetCurrentThread() argument
68 ___ Mov(reg_x(dest.AsArm64().AsXRegister()), reg_x(TR)); in GetCurrentThread()
214 void Arm64JNIMacroAssembler::LoadImmediate(XRegister dest, int32_t value, Condition cond) { in LoadImmediate() argument
216 ___ Mov(reg_x(dest), value); in LoadImmediate()
222 temps.Exclude(reg_x(dest)); in LoadImmediate()
225 ___ Csel(reg_x(dest), temp, reg_x(dest), cond); in LoadImmediate()
227 ___ Csel(reg_x(dest), reg_x(XZR), reg_x(dest), cond); in LoadImmediate()
233 WRegister dest, in LoadWFromOffset() argument
238 ___ Ldrsb(reg_w(dest), MEM_OP(reg_x(base), offset)); in LoadWFromOffset()
241 ___ Ldrsh(reg_w(dest), MEM_OP(reg_x(base), offset)); in LoadWFromOffset()
244 ___ Ldrb(reg_w(dest), MEM_OP(reg_x(base), offset)); in LoadWFromOffset()
247 ___ Ldrh(reg_w(dest), MEM_OP(reg_x(base), offset)); in LoadWFromOffset()
250 ___ Ldr(reg_w(dest), MEM_OP(reg_x(base), offset)); in LoadWFromOffset()
259 void Arm64JNIMacroAssembler::LoadFromOffset(XRegister dest, XRegister base, int32_t offset) { in LoadFromOffset() argument
260 CHECK_NE(dest, SP); in LoadFromOffset()
261 ___ Ldr(reg_x(dest), MEM_OP(reg_x(base), offset)); in LoadFromOffset()
264 void Arm64JNIMacroAssembler::LoadSFromOffset(SRegister dest, XRegister base, int32_t offset) { in LoadSFromOffset() argument
265 ___ Ldr(reg_s(dest), MEM_OP(reg_x(base), offset)); in LoadSFromOffset()
268 void Arm64JNIMacroAssembler::LoadDFromOffset(DRegister dest, XRegister base, int32_t offset) { in LoadDFromOffset() argument
269 ___ Ldr(reg_d(dest), MEM_OP(reg_x(base), offset)); in LoadDFromOffset()
272 void Arm64JNIMacroAssembler::Load(Arm64ManagedRegister dest, in Load() argument
276 if (dest.IsNoRegister()) { in Load()
277 CHECK_EQ(0u, size) << dest; in Load()
278 } else if (dest.IsWRegister()) { in Load()
279 CHECK_EQ(4u, size) << dest; in Load()
280 ___ Ldr(reg_w(dest.AsWRegister()), MEM_OP(reg_x(base), offset)); in Load()
281 } else if (dest.IsXRegister()) { in Load()
282 CHECK_NE(dest.AsXRegister(), SP) << dest; in Load()
285 ___ Ldrb(reg_w(dest.AsOverlappingWRegister()), MEM_OP(reg_x(base), offset)); in Load()
287 ___ Ldr(reg_w(dest.AsOverlappingWRegister()), MEM_OP(reg_x(base), offset)); in Load()
289 CHECK_EQ(8u, size) << dest; in Load()
290 ___ Ldr(reg_x(dest.AsXRegister()), MEM_OP(reg_x(base), offset)); in Load()
292 } else if (dest.IsSRegister()) { in Load()
293 ___ Ldr(reg_s(dest.AsSRegister()), MEM_OP(reg_x(base), offset)); in Load()
295 CHECK(dest.IsDRegister()) << dest; in Load()
296 ___ Ldr(reg_d(dest.AsDRegister()), MEM_OP(reg_x(base), offset)); in Load()
361 const ArgumentLocation& dest = dests[i]; in MoveArguments() local
365 DCHECK_EQ(dest.GetSize(), static_cast<size_t>(kArm64PointerSize)); in MoveArguments()
367 DCHECK_EQ(src.GetSize(), dest.GetSize()); in MoveArguments()
369 if (dest.IsRegister()) { in MoveArguments()
374 dest.GetRegister().AsArm64().AsXRegister()) { in MoveArguments()
376 CreateJObject(dest.GetRegister(), ref, src.GetRegister(), /*null_allowed=*/ i != 0u); in MoveArguments()
377 } else if (src.IsRegister() && src.GetRegister().Equals(dest.GetRegister())) { in MoveArguments()
383 dest_regs |= get_mask(dest.GetRegister()); in MoveArguments()
391 Store(dest.GetFrameOffset(), src_x, dest.GetSize()); in MoveArguments()
393 CreateJObject(dest.GetFrameOffset(), ref, /*null_allowed=*/ i != 0u); in MoveArguments()
401 srcs[i + 1u].GetSize() == dest.GetSize() && in MoveArguments()
407 dest.GetFrameOffset().SizeValue() + dest.GetSize() && in MoveArguments()
408 IsAlignedParam(dest.GetFrameOffset().SizeValue(), dest.GetSize()) && in MoveArguments()
409 dest.GetFrameOffset().SizeValue() < in MoveArguments()
410 (dest.GetSize() == 8u ? kStpXOffsetCutoff : kStpWOffsetCutoff)) { in MoveArguments()
411 DCHECK_EQ(dests[i + 1u].GetSize(), dest.GetSize()); in MoveArguments()
414 DCHECK_EQ(dest.GetSize() == 8u, src_reg.IsXRegister() || src_reg.IsDRegister()); in MoveArguments()
415 DCHECK_EQ(dest.GetSize() == 8u, src2_reg.IsXRegister() || src2_reg.IsDRegister()); in MoveArguments()
419 MEM_OP(sp, dest.GetFrameOffset().SizeValue())); in MoveArguments()
423 MEM_OP(sp, dest.GetFrameOffset().SizeValue())); in MoveArguments()
427 MEM_OP(sp, dest.GetFrameOffset().SizeValue())); in MoveArguments()
432 MEM_OP(sp, dest.GetFrameOffset().SizeValue())); in MoveArguments()
436 Store(dest.GetFrameOffset(), src.GetRegister(), dest.GetSize()); in MoveArguments()
439 Copy(dest.GetFrameOffset(), src.GetFrameOffset(), dest.GetSize()); in MoveArguments()
449 const ArgumentLocation& dest = dests[i]; in MoveArguments() local
451 if (!dest.IsRegister()) { in MoveArguments()
464 if (!can_process(dest.GetRegister())) { in MoveArguments()
469 CreateJObject(dest.GetRegister(), ref, src.GetRegister(), /*null_allowed=*/ i != 0u); in MoveArguments()
471 Move(dest.GetRegister(), src.GetRegister(), dest.GetSize()); in MoveArguments()
477 dest.GetRegister().AsArm64().IsGPRegister() == in MoveArguments()
485 Arm64ManagedRegister dest_reg = dest.GetRegister().AsArm64(); in MoveArguments()
490 DCHECK_EQ(dest.GetSize(), 8u); in MoveArguments()
496 DCHECK_EQ(dest.GetSize(), 4u); in MoveArguments()
502 DCHECK_EQ(dest.GetSize(), 8u); in MoveArguments()
508 DCHECK_EQ(dest.GetSize(), ref != kInvalidReferenceOffset ? 8u : 4u); in MoveArguments()
529 dest.GetRegister(), ref, ManagedRegister::NoRegister(), /*null_allowed=*/ i != 0u); in MoveArguments()
531 Load(dest.GetRegister(), src.GetFrameOffset(), dest.GetSize()); in MoveArguments()
534 dest_regs &= ~get_mask(dest.GetRegister()); // Destination register was filled. in MoveArguments()
589 void Arm64JNIMacroAssembler::Copy(FrameOffset dest, FrameOffset src, size_t size) { in Copy() argument
594 ___ Str(scratch, MEM_OP(reg_x(SP), dest.Int32Value())); in Copy()