Lines Matching refs:scratch
153 Register scratch = temps.Acquire();
154 Add_d(scratch, object, offset - kHeapObjectTag);
155 And(scratch, scratch, Operand(kPointerSize - 1));
156 Branch(&ok, eq, scratch, Operand(zero_reg));
236 Register scratch = temps.Acquire();
237 li(scratch, Operand(BuiltinEntry(builtin), RelocInfo::OFF_HEAP_TARGET));
238 Call(scratch);
276 // scratch register.
295 Register scratch = temps.Acquire();
296 Add_d(scratch, object, offset);
297 Ld_d(scratch, MemOperand(scratch, 0));
298 Assert(eq, AbortReason::kWrongAddressOrValuePassedToRecordWrite, scratch,
352 Register scratch = temps.Acquire();
353 DCHECK(rj != scratch);
354 li(scratch, rk);
355 add_w(rd, rj, scratch);
369 Register scratch = temps.Acquire();
370 DCHECK(rj != scratch);
371 li(scratch, rk);
372 add_d(rd, rj, scratch);
387 Register scratch = temps.Acquire();
388 DCHECK(rj != scratch);
391 li(scratch, -rk.immediate());
392 add_w(rd, rj, scratch);
395 li(scratch, rk);
396 sub_w(rd, rj, scratch);
416 Register scratch = temps.Acquire();
417 li(scratch, Operand(-rk.immediate()));
418 add_d(rd, rj, scratch);
422 Register scratch = temps.Acquire();
423 li(scratch, rk);
424 sub_d(rd, rj, scratch);
435 Register scratch = temps.Acquire();
436 DCHECK(rj != scratch);
437 li(scratch, rk);
438 mul_w(rd, rj, scratch);
448 Register scratch = temps.Acquire();
449 DCHECK(rj != scratch);
450 li(scratch, rk);
451 mulh_w(rd, rj, scratch);
461 Register scratch = temps.Acquire();
462 DCHECK(rj != scratch);
463 li(scratch, rk);
464 mulh_wu(rd, rj, scratch);
474 Register scratch = temps.Acquire();
475 DCHECK(rj != scratch);
476 li(scratch, rk);
477 mul_d(rd, rj, scratch);
487 Register scratch = temps.Acquire();
488 DCHECK(rj != scratch);
489 li(scratch, rk);
490 mulh_d(rd, rj, scratch);
500 Register scratch = temps.Acquire();
501 DCHECK(rj != scratch);
502 li(scratch, rk);
503 div_w(rd, rj, scratch);
513 Register scratch = temps.Acquire();
514 DCHECK(rj != scratch);
515 li(scratch, rk);
516 mod_w(rd, rj, scratch);
526 Register scratch = temps.Acquire();
527 DCHECK(rj != scratch);
528 li(scratch, rk);
529 mod_wu(rd, rj, scratch);
539 Register scratch = temps.Acquire();
540 DCHECK(rj != scratch);
541 li(scratch, rk);
542 div_d(rd, rj, scratch);
552 Register scratch = temps.Acquire();
553 DCHECK(rj != scratch);
554 li(scratch, rk);
555 div_wu(rd, rj, scratch);
565 Register scratch = temps.Acquire();
566 DCHECK(rj != scratch);
567 li(scratch, rk);
568 div_du(rd, rj, scratch);
578 Register scratch = temps.Acquire();
579 DCHECK(rj != scratch);
580 li(scratch, rk);
581 mod_d(rd, rj, scratch);
591 Register scratch = temps.Acquire();
592 DCHECK(rj != scratch);
593 li(scratch, rk);
594 mod_du(rd, rj, scratch);
607 Register scratch = temps.Acquire();
608 DCHECK(rj != scratch);
609 li(scratch, rk);
610 and_(rd, rj, scratch);
624 Register scratch = temps.Acquire();
625 DCHECK(rj != scratch);
626 li(scratch, rk);
627 or_(rd, rj, scratch);
641 Register scratch = temps.Acquire();
642 DCHECK(rj != scratch);
643 li(scratch, rk);
644 xor_(rd, rj, scratch);
655 Register scratch = temps.Acquire();
656 DCHECK(rj != scratch);
657 li(scratch, rk);
658 nor(rd, rj, scratch);
668 Register scratch = temps.Acquire();
669 DCHECK(rj != scratch);
670 li(scratch, rk);
671 andn(rd, rj, scratch);
681 Register scratch = temps.Acquire();
682 DCHECK(rj != scratch);
683 li(scratch, rk);
684 orn(rd, rj, scratch);
703 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
704 DCHECK(rj != scratch);
705 li(scratch, rk);
706 slt(rd, rj, scratch);
721 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
722 DCHECK(rj != scratch);
723 li(scratch, rk);
724 sltu(rd, rj, scratch);
735 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
737 DCHECK(rj != scratch);
738 li(scratch, rk);
739 slt(rd, scratch, rj);
750 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
752 DCHECK(rj != scratch);
753 li(scratch, rk);
754 sltu(rd, scratch, rj);
775 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
777 DCHECK(rj != scratch);
778 li(scratch, rk);
779 slt(rd, scratch, rj);
789 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
791 DCHECK(rj != scratch);
792 li(scratch, rk);
793 sltu(rd, scratch, rj);
820 Register scratch) {
825 Register tmp = rd == rk ? scratch : rd;
833 Register scratch) {
838 Register tmp = rd == rk ? scratch : rd;
1059 Register scratch = temps.Acquire();
1060 li(scratch, rj.offset());
1061 add_d(scratch, scratch, rj.base());
1062 ll_w(rd, scratch, 0);
1073 Register scratch = temps.Acquire();
1074 li(scratch, rj.offset());
1075 add_d(scratch, scratch, rj.base());
1076 ll_d(rd, scratch, 0);
1087 Register scratch = temps.Acquire();
1088 li(scratch, rj.offset());
1089 add_d(scratch, scratch, rj.base());
1090 sc_w(rd, scratch, 0);
1101 Register scratch = temps.Acquire();
1102 li(scratch, rj.offset());
1103 add_d(scratch, scratch, rj.base());
1104 sc_d(rd, scratch, 0);
1525 FPURegister scratch) {
1536 movgr2fr_d(scratch, t8);
1537 Ftintrz_l_d(fd, scratch);
1541 FPURegister scratch) {
1543 Ftintrz_uw_d(t8, fj, scratch);
1548 FPURegister scratch) {
1550 Ftintrz_uw_s(t8, fj, scratch);
1555 FPURegister scratch, Register result) {
1557 Ftintrz_ul_d(t8, fj, scratch, result);
1562 FPURegister scratch, Register result) {
1564 Ftintrz_ul_s(t8, fj, scratch, result);
1585 FPURegister scratch) {
1586 DCHECK(fj != scratch);
1590 // Load 2^31 into scratch as its float representation.
1594 movgr2fr_w(scratch, zero_reg);
1595 movgr2frh_w(scratch, scratch1);
1597 // Test if scratch > fd.
1600 CompareF64(fj, scratch, CLT);
1605 fsub_d(scratch, fj, scratch);
1606 ftintrz_w_d(scratch, scratch);
1607 movfr2gr_s(rd, scratch);
1614 ftintrz_w_d(scratch, fj);
1615 movfr2gr_s(rd, scratch);
1621 FPURegister scratch) {
1622 DCHECK(fj != scratch);
1625 // Load 2^31 into scratch as its float representation.
1629 movgr2fr_w(scratch, scratch1);
1631 // Test if scratch > fs.
1634 CompareF32(fj, scratch, CLT);
1639 fsub_s(scratch, fj, scratch);
1640 ftintrz_w_s(scratch, scratch);
1641 movfr2gr_s(rd, scratch);
1648 ftintrz_w_s(scratch, fj);
1649 movfr2gr_s(rd, scratch);
1655 FPURegister scratch, Register result) {
1656 DCHECK(fj != scratch);
1662 Move(scratch, -1.0);
1664 CompareF64(fj, scratch, CLE);
1666 CompareIsNanF64(fj, scratch);
1670 // Load 2^63 into scratch as its double representation.
1672 movgr2fr_d(scratch, t7);
1674 // Test if scratch > fs.
1676 CompareF64(fj, scratch, CLT);
1681 fsub_d(scratch, fj, scratch);
1682 ftintrz_l_d(scratch, scratch);
1683 movfr2gr_d(rd, scratch);
1689 ftintrz_l_d(scratch, fj);
1690 movfr2gr_d(rd, scratch);
1700 movfr2gr_d(result, scratch);
1710 FPURegister scratch, Register result) {
1711 DCHECK(fj != scratch);
1717 Move(scratch, -1.0f);
1719 CompareF32(fj, scratch, CLE);
1721 CompareIsNanF32(fj, scratch);
1726 // Load 2^63 into scratch as its float representation.
1730 movgr2fr_w(scratch, scratch1);
1733 // Test if scratch > fs.
1735 CompareF32(fj, scratch, CLT);
1740 fsub_s(scratch, fj, scratch);
1741 ftintrz_l_s(scratch, scratch);
1742 movfr2gr_d(rd, scratch);
1748 ftintrz_l_s(scratch, fj);
1749 movfr2gr_d(rd, scratch);
1759 movfr2gr_d(result, scratch);
1771 Register scratch = t8;
1772 movfcsr2gr(scratch);
1776 movgr2fcsr(scratch);
1798 Register scratch = t8;
1799 movfcsr2gr(scratch);
1803 movgr2fcsr(scratch);
1875 Register scratch = temps.Acquire();
1876 DCHECK(src_low != scratch);
1877 movfrh2gr_s(scratch, dst);
1879 movgr2frh_w(dst, scratch);
1884 Register scratch = temps.Acquire();
1885 li(scratch, Operand(static_cast<int32_t>(src)));
1886 movgr2fr_w(dst, scratch);
1897 Register scratch = temps.Acquire();
1898 li(scratch, Operand(static_cast<int64_t>(src)));
1899 movgr2fr_d(dst, scratch);
1906 Register scratch = temps.Acquire();
1907 masknez(scratch, rj, rk);
1909 or_(rd, rd, scratch);
1914 Register scratch = temps.Acquire();
1915 maskeqz(scratch, rj, rk);
1917 or_(rd, rd, scratch);
2016 Register scratch = temps.Acquire();
2017 movcf2gr(scratch, cc);
2018 LoadZeroIfConditionNotZero(dest, scratch);
2023 Register scratch = temps.Acquire();
2024 movcf2gr(scratch, cc);
2025 LoadZeroIfConditionZero(dest, scratch);
2061 Register scratch = temps.Acquire();
2063 srli_w(scratch, rj, 1);
2065 And(scratch, scratch, scratch2);
2066 Sub_w(scratch, rj, scratch);
2068 And(rd, scratch, scratch2);
2069 srli_w(scratch, scratch, 2);
2070 And(scratch, scratch, scratch2);
2071 Add_w(scratch, rd, scratch);
2072 srli_w(rd, scratch, 4);
2073 Add_w(rd, rd, scratch);
2076 li(scratch, value);
2077 Mul_w(rd, rd, scratch);
2091 Register scratch = temps.Acquire();
2093 srli_d(scratch, rj, 1);
2095 And(scratch, scratch, scratch2);
2096 Sub_d(scratch, rj, scratch);
2098 And(rd, scratch, scratch2);
2099 srli_d(scratch, scratch, 2);
2100 And(scratch, scratch, scratch2);
2101 Add_d(scratch, rd, scratch);
2102 srli_d(rd, scratch, 4);
2103 Add_d(rd, rd, scratch);
2106 li(scratch, value);
2107 Mul_d(rd, rd, scratch);
2139 Register scratch = temps.Acquire();
2140 Sub_d(scratch, zero_reg, pos);
2141 Rotr_d(dest, dest, scratch);
2151 Register scratch = temps.Acquire();
2156 li(scratch, 1L << 63);
2157 Xor(scratch, scratch, scratch2);
2158 rotri_d(scratch2, scratch, 1);
2160 Branch(done, ne, scratch, Operand(scratch2));
2246 Register scratch = temps.Acquire();
2247 LoadRoot(scratch, index);
2248 Branch(L, cond, rj, Operand(scratch));
2256 Register scratch) {
2261 r2 = scratch;
2273 Register scratch = temps.hasAvailable() ? temps.Acquire() : t8;
2308 // We don't want any other register but scratch clobbered.
2309 Register sc = GetRkAsRegisterHelper(rk, scratch);
2330 // We don't want any other register but scratch clobbered.
2331 Register sc = GetRkAsRegisterHelper(rk, scratch);
2350 Register sc = GetRkAsRegisterHelper(rk, scratch);
2371 Register sc = GetRkAsRegisterHelper(rk, scratch);
2389 Register sc = GetRkAsRegisterHelper(rk, scratch);
2410 Register sc = GetRkAsRegisterHelper(rk, scratch);
2430 Register sc = GetRkAsRegisterHelper(rk, scratch);
2451 Register sc = GetRkAsRegisterHelper(rk, scratch);
2466 Register sc = GetRkAsRegisterHelper(rk, scratch);
2486 Register sc = GetRkAsRegisterHelper(rk, scratch);
2635 Register scratch = temps.Acquire();
2636 Sub_d(scratch, value, Operand(lower_limit));
2637 Branch(on_in_range, ls, scratch, Operand(higher_limit - lower_limit));
2749 Register scratch = temps.Acquire();
2750 pcaddi(scratch, 4);
2751 Ld_d(t7, MemOperand(scratch, 0));
2788 ArgumentsCountMode mode, Register scratch) {
2796 DCHECK_NE(scratch, no_reg);
2797 SmiScale(scratch, count, kPointerSizeLog2);
2798 Add_d(sp, sp, scratch);
2815 Register scratch) {
2819 DropArguments(argc, type, kCountIncludesReceiver, scratch);
2822 DropArguments(argc, type, mode, scratch);
2850 void MacroAssembler::Swap(Register reg1, Register reg2, Register scratch) {
2851 if (scratch == no_reg) {
2856 mov(scratch, reg1);
2858 mov(reg2, scratch);
2866 Register scratch = temps.Acquire();
2867 li(scratch, Operand(smi));
2868 Push(scratch);
2873 Register scratch = temps.Acquire();
2874 li(scratch, Operand(handle));
2875 Push(scratch);
2878 void TurboAssembler::PushArray(Register array, Register size, Register scratch,
2880 DCHECK(!AreAliased(array, size, scratch, scratch2));
2883 mov(scratch, zero_reg);
2886 Alsl_d(scratch2, scratch, array, kPointerSizeLog2, t7);
2889 Add_d(scratch, scratch, Operand(1));
2891 Branch(&loop, less, scratch, Operand(size));
2893 mov(scratch, size);
2896 Alsl_d(scratch2, scratch, array, kPointerSizeLog2, t7);
2900 Add_d(scratch, scratch, Operand(-1));
2901 Branch(&loop, greater_equal, scratch, Operand(zero_reg));
2932 Register scratch = temps.Acquire();
2933 li(scratch,
2935 St_d(a1, MemOperand(scratch, 0));
3201 Register scratch = temps.Acquire();
3205 li(scratch, Operand(right));
3206 right_reg = scratch;
3218 xor_(scratch, scratch2, right_reg);
3219 and_(overflow, overflow, scratch);
3224 xor_(scratch, dst, right_reg);
3225 and_(overflow, overflow, scratch);
3234 Register scratch = temps.Acquire();
3238 li(scratch, Operand(right));
3239 right_reg = scratch;
3251 xor_(scratch, left, right_reg);
3252 and_(overflow, overflow, scratch);
3257 xor_(scratch, left, right_reg);
3258 and_(overflow, overflow, scratch);
3267 Register scratch = temps.Acquire();
3271 li(scratch, Operand(right));
3272 right_reg = scratch;
3460 Register scratch = temps.Acquire();
3461 li(scratch, Operand(StackFrame::TypeToMarker(type)));
3462 PushCommonFrame(scratch);
3514 Register scratch = temps.Acquire();
3515 li(scratch, Operand(StackFrame::TypeToMarker(frame_type)));
3516 St_d(scratch, MemOperand(sp, 1 * kPointerSize));
3562 Register scratch = temps.Acquire();
3563 addi_d(scratch, sp, kPointerSize);
3564 St_d(scratch, MemOperand(fp, ExitFrameConstants::kSPOffset));
3597 Register scratch = temp.Acquire();
3598 li(scratch, Operand(Context::kInvalidContext));
3599 St_d(scratch, MemOperand(t8, 0));
3648 Register scratch = temps.Acquire();
3649 andi(scratch, sp, frame_alignment_mask);
3650 Branch(&alignment_as_expected, eq, scratch, Operand(zero_reg));
3672 Register scratch = temps.Acquire();
3673 andi(scratch, value, kSmiTagMask);
3674 Branch(smi_label, eq, scratch, Operand(zero_reg));
3680 Register scratch = temps.Acquire();
3681 andi(scratch, value, kSmiTagMask);
3682 Branch(not_smi_label, ne, scratch, Operand(zero_reg));
3690 Register scratch = temps.Acquire();
3691 andi(scratch, object, kSmiTagMask);
3692 Check(ne, AbortReason::kOperandIsASmi, scratch, Operand(zero_reg));
3701 Register scratch = temps.Acquire();
3702 andi(scratch, object, kSmiTagMask);
3703 Check(eq, AbortReason::kOperandIsASmi, scratch, Operand(zero_reg));
3800 Register scratch) {
3805 LoadRoot(scratch, RootIndex::kUndefinedValue);
3806 Branch(&done_checking, eq, object, Operand(scratch));
3807 GetObjectType(object, scratch, scratch);
3808 Assert(eq, AbortReason::kExpectedUndefinedOrCell, scratch,
3910 Register scratch) {
3921 mov(scratch, sp);
3925 St_d(scratch, MemOperand(sp, stack_passed_arguments * kPointerSize));
3932 Register scratch) {
3933 PrepareCallCFunction(num_reg_arguments, 0, scratch);
3977 Register scratch = t8;
3978 And(scratch, sp, Operand(frame_alignment_mask));
3979 Branch(&alignment_as_expected, eq, scratch, Operand(zero_reg));
4001 // 't' registers are caller-saved so this is safe as a scratch register.
4003 Register scratch = t2;
4004 DCHECK(!AreAliased(pc_scratch, scratch, function));
4016 li(scratch, ExternalReference::fast_c_call_caller_pc_address(isolate()));
4017 St_d(pc_scratch, MemOperand(scratch, 0));
4018 li(scratch, ExternalReference::fast_c_call_caller_fp_address(isolate()));
4019 St_d(fp, MemOperand(scratch, 0));
4030 li(scratch, ExternalReference::fast_c_call_caller_fp_address(isolate()));
4031 St_d(zero_reg, MemOperand(scratch, 0));
4054 Register scratch = temps.Acquire();
4055 And(scratch, object, Operand(~kPageAlignmentMask));
4056 Ld_d(scratch, MemOperand(scratch, BasicMemoryChunk::kFlagsOffset));
4057 And(scratch, scratch, Operand(mask));
4058 Branch(condition_met, cc, scratch, Operand(zero_reg));
4108 Register scratch = t8;
4110 DCHECK(!AreAliased(destination, scratch));
4111 DCHECK(!AreAliased(code_object, scratch));
4116 Ld_w(scratch, FieldMemOperand(code_object, Code::kFlagsOffset));
4117 And(scratch, scratch, Operand(Code::IsOffHeapTrampoline::kMask));
4118 BranchShort(&if_code_is_off_heap, ne, scratch, Operand(zero_reg));
4127 Ld_w(scratch, FieldMemOperand(code_object, Code::kBuiltinIndexOffset));
4129 Alsl_d(destination, scratch, kRootRegister, kSystemPointerSizeLog2,