Lines Matching defs:multiplier
180 int64_t multiplier) {
184 // `VL * multiplier` cannot overflow, for any possible value of VL.
185 VIXL_ASSERT(multiplier <= (INT64_MAX / kZRegMaxSizeInBytes));
186 VIXL_ASSERT(multiplier >= (INT64_MIN / kZRegMaxSizeInBytes));
197 if (IsInt6(multiplier) && !xn.IsZero()) {
199 addpl(xd, xn, static_cast<int>(multiplier));
203 // If `multiplier` is a multiple of 8, we can use `Addvl` instead.
204 if ((multiplier % kZRegBitsPerPRegBit) == 0) {
205 Addvl(xd, xn, multiplier / kZRegBitsPerPRegBit);
209 if (IsInt6(multiplier)) {
215 addpl(xd, xd, static_cast<int>(multiplier));
224 // For other cases, calculate xn + (PL * multiplier) using discrete
233 // scale the multiplier because (we already know) it isn't a multiple of 8.
234 Rdvl(scratch, multiplier);
250 int64_t multiplier) {
255 // Check that `VL * multiplier` cannot overflow, for any possible value of VL.
256 VIXL_ASSERT(multiplier <= (INT64_MAX / kZRegMaxSizeInBytes));
257 VIXL_ASSERT(multiplier >= (INT64_MIN / kZRegMaxSizeInBytes));
266 if (IsInt6(multiplier)) {
269 rdvl(xd, static_cast<int>(multiplier));
271 addvl(xd, xn, static_cast<int>(multiplier));
281 // For other cases, calculate xn + (VL * multiplier) using discrete
289 Mov(a, multiplier);