Lines Matching refs:scratch
58 ZRegister scratch = temps.AcquireZ().WithLaneSize(zn.GetLaneSizeInBits());
59 Dup(scratch, imm);
63 add(zd, zn, scratch);
65 sub(zd, zn, scratch);
119 ZRegister scratch =
122 Dup(scratch, imm);
126 (this->*reg_macro)(zd, pg.Merging(), zn, scratch);
191 // with a scratch register if necessary.
225 // instructions. This requires two scratch registers in the general case, so
226 // try to re-use the destination as a scratch register.
231 Register scratch = temps.AcquireX();
234 Rdvl(scratch, multiplier);
238 asr(xd, scratch, kZRegBitsPerPRegBitLog2);
241 asr(scratch, scratch, kZRegBitsPerPRegBitLog2);
242 add(xd, xn, scratch);
244 add(xd, xn, Operand(scratch, ASR, kZRegBitsPerPRegBitLog2));
262 // with a scratch register if necessary. `rdvl` cannot write into `sp`.
282 // instructions. This requires two scratch registers in the general case, so
283 // we try to re-use the destination as a scratch register.
413 // Fall back to using a scratch register.
415 Register scratch = temps.AcquireRegisterToHoldLane(zd);
416 Mov(scratch, imm);
419 cpy(zd, pg_m, scratch);
493 Register scratch = temps.AcquireRegisterToHoldLane(zd);
494 Mov(scratch, imm);
497 dup(zd, scratch);
545 // Use a scratch register to keep the argument order exactly as
547 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zn);
549 MovprfxHelperScope guard(this, scratch, pg, zn);
550 (this->*fn)(scratch, pg, scratch, zm);
552 Mov(zd, scratch);
652 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zm); \
653 Mov(scratch, zm); \
655 ASMFN(zd, pg, zd, scratch); \
903 Register scratch = temps->AcquireRegisterToHoldLane(zd_inner);
904 masm->Mov(scratch, op);
905 return IndexOperand(scratch);
955 Register scratch = temps.AcquireRegisterToHoldLane(zdn);
960 Mov(scratch, imm);
963 insr(zdn, scratch);
1103 ZRegister scratch = temps.AcquireZ().WithLaneSize(zm.GetLaneSizeInBits());
1104 Dup(scratch, imm);
1107 sub(zd, scratch, zm);
1123 Register scratch = temps.AcquireX();
1124 CalculateSVEAddress(scratch, addr, zt);
1126 (this->*fn)(zt, pg, SVEMemOperand(scratch));
1151 Register scratch = temps.AcquireX();
1152 CalculateSVEAddress(scratch, addr, rt);
1154 (this->*fn)(rt, SVEMemOperand(scratch));
1201 Register scratch = temps.AcquireX();
1202 CalculateSVEAddress(scratch, addr, vl_divisor_log2);
1204 (this->*fn)(zt, pg, SVEMemOperand(scratch));
1256 Register scratch = temps.AcquireX();
1257 Mov(scratch, addr.GetImmediateOffset());
1261 (this->*fn)(zt, pg, SVEMemOperand(scratch, addr.GetVectorBase(), om));
1267 Register scratch = temps.AcquireX();
1272 CalculateSVEAddress(scratch, addr, vl_divisor_log2);
1274 (this->*fn)(zt, pg, SVEMemOperand(scratch));
1683 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
1685 MovprfxHelperScope guard(this, scratch, za);
1686 (this->*fn)(scratch, zn, zm, index);
1689 Mov(zd, scratch);
1707 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
1709 MovprfxHelperScope guard(this, scratch, za);
1710 (this->*fn)(scratch, zn, zm);
1713 Mov(zd, scratch);
1730 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
1732 MovprfxHelperScope guard(this, scratch, za);
1733 (this->*fn)(scratch, scratch, zn, zm);
1736 Mov(zd, scratch);
1754 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
1756 MovprfxHelperScope guard(this, scratch, za);
1757 (this->*fn)(scratch, zn, zm, imm);
1760 Mov(zd, scratch);
1997 // Use a scratch register to keep the argument order exactly as
1999 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zn);
2001 MovprfxHelperScope guard(this, scratch, pg, za);
2002 // scratch = (-)za + ((-)zn * zm)
2003 (this->*fn_zda)(scratch, pg, zn, zm);
2005 Mov(zd, scratch);
2094 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zm);
2095 Mov(scratch, zm);
2097 ftmad(zd, zd, scratch, imm3);
2112 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
2114 MovprfxHelperScope guard(this, scratch, pg, zn);
2115 fcadd(scratch, pg, scratch, zm, rot);
2117 Mov(zd, scratch);
2155 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
2157 MovprfxHelperScope guard(this, scratch, zn);
2158 splice(scratch, pg, scratch, zm);
2160 Mov(zd, scratch);
2174 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
2176 MovprfxHelperScope guard(this, scratch, zn);
2177 clasta(scratch, pg, scratch, zm);
2179 Mov(zd, scratch);
2193 ZRegister scratch = temps.AcquireZ().WithSameLaneSizeAs(zd);
2195 MovprfxHelperScope guard(this, scratch, zn);
2196 clastb(scratch, pg, scratch, zm);
2198 Mov(zd, scratch);