Lines Matching refs:mem_op
1133 uint64_t Simulator::ComputeMemOperandAddress(const MemOperand& mem_op) const {
1134 VIXL_ASSERT(mem_op.IsValid());
1135 int64_t base = ReadRegister<int64_t>(mem_op.GetBaseRegister());
1136 if (mem_op.IsImmediateOffset()) {
1137 return base + mem_op.GetOffset();
1139 VIXL_ASSERT(mem_op.GetRegisterOffset().IsValid());
1140 int64_t offset = ReadRegister<int64_t>(mem_op.GetRegisterOffset());
1141 unsigned shift_amount = mem_op.GetShiftAmount();
1142 if (mem_op.GetShift() != NO_SHIFT) {
1143 offset = ShiftOperand(kXRegSize, offset, mem_op.GetShift(), shift_amount);
1145 if (mem_op.GetExtend() != NO_EXTEND) {
1146 offset = ExtendValue(kXRegSize, offset, mem_op.GetExtend(), shift_amount);