Lines Matching refs:reg_size
240 int64_t Simulator::AddWithCarry(unsigned reg_size,
246 VIXL_ASSERT((reg_size == kXRegSize) || (reg_size == kWRegSize));
254 if (reg_size == kWRegSize) {
282 N = CalcNFlag(result, reg_size);
295 int64_t Simulator::ShiftOperand(unsigned reg_size,
302 int64_t mask = reg_size == kXRegSize ? kXRegMask : kWRegMask;
310 unsigned s_shift = kXRegSize - reg_size;
316 if (reg_size == kWRegSize) {
321 (reg_size - amount));
330 int64_t Simulator::ExtendValue(unsigned reg_size,
359 int64_t mask = (reg_size == kXRegSize) ? kXRegMask : kWRegMask;
589 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
597 new_val = AddWithCarry(reg_size,
599 reg(reg_size, instr->Rn(), instr->RnMode()),
605 new_val = AddWithCarry(reg_size,
607 reg(reg_size, instr->Rn(), instr->RnMode()),
615 set_reg(reg_size, instr->Rd(), new_val, instr->RdMode());
620 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
621 int64_t op2 = ShiftOperand(reg_size,
622 reg(reg_size, instr->Rm()),
636 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
637 int64_t op2 = ExtendValue(reg_size,
638 reg(reg_size, instr->Rm()),
646 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
647 int64_t op2 = reg(reg_size, instr->Rm());
654 new_val = AddWithCarry(reg_size,
656 reg(reg_size, instr->Rn()),
660 set_reg(reg_size, instr->Rd(), new_val);
665 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
668 int64_t op2 = ShiftOperand(reg_size, reg(reg_size, instr->Rm()), shift_type,
683 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
684 int64_t op1 = reg(reg_size, instr->Rn());
700 nzcv().SetN(CalcNFlag(result, reg_size));
706 set_reg(reg_size, instr->Rd(), result, instr->RdMode());
711 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
712 ConditionalCompareHelper(instr, reg(reg_size, instr->Rm()));
722 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
723 int64_t op1 = reg(reg_size, instr->Rn());
729 AddWithCarry(reg_size, true, op1, ~op2, 1);
732 AddWithCarry(reg_size, true, op1, op2, 0);
1075 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
1076 set_reg(reg_size, instr->Rd(), new_val);
1208 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
1214 result = ShiftOperand(reg_size, reg(reg_size, instr->Rn()), shift_op,
1217 set_reg(reg_size, instr->Rd(), result);
1244 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
1270 set_reg(reg_size, instr->Rd(), result);
1275 unsigned reg_size = instr->SixtyFourBits() ? kXRegSize : kWRegSize;
1282 mask = (diff < (reg_size - 1)) ? (INT64_C(1) << (diff + 1)) - 1
1286 mask = (static_cast<uint64_t>(mask) >> R) | (mask << (reg_size - R));
1287 diff += reg_size;
1312 int64_t dst = inzero ? 0 : reg(reg_size, instr->Rd());
1313 int64_t src = reg(reg_size, instr->Rn());
1315 int64_t result = (static_cast<uint64_t>(src) >> R) | (src << (reg_size - R));
1317 int64_t topbits = ((INT64_C(1) << (reg_size - diff - 1)) - 1) << (diff + 1);
1323 set_reg(reg_size, instr->Rd(), result);
1329 unsigned reg_size = (instr->SixtyFourBits() != 0) ? kXRegSize
1331 set_reg(reg_size,
1333 (static_cast<uint64_t>(reg(reg_size, instr->Rm())) >> lsb) |
1334 (reg(reg_size, instr->Rn()) << (reg_size - lsb)));
1526 unsigned reg_size = (instr->Mask(FP64) == FP64) ? kDRegSize : kSRegSize;
1527 double fn_val = fpreg(reg_size, instr->Rn());
1531 case FCMP_d: FPCompare(fn_val, fpreg(reg_size, instr->Rm())); break;
1548 unsigned reg_size = (instr->Mask(FP64) == FP64) ? kDRegSize : kSRegSize;
1549 FPCompare(fpreg(reg_size, instr->Rn()), fpreg(reg_size, instr->Rm()));