Lines Matching refs:MemOp

129     MemOp,  enumerator
138 M68kMemOp MemOp; member
153 bool isMemOp() const { return Kind == KindTy::MemOp; } in isMemOp()
164 static std::unique_ptr<M68kOperand> createMemOp(M68kMemOp MemOp, SMLoc Start,
301 return Kind == KindTy::MemOp && MemOp.Op == M68kMemOp::Kind::Reg; in isReg()
306 return MemOp.OuterReg; in getReg()
316 std::unique_ptr<M68kOperand> M68kOperand::createMemOp(M68kMemOp MemOp, in createMemOp() argument
318 auto Op = std::make_unique<M68kOperand>(KindTy::MemOp, Start, End); in createMemOp()
319 Op->MemOp = MemOp; in createMemOp()
358 if (MemOp.Op == M68kMemOp::Kind::RegMask) in isMoveMask()
361 if (MemOp.Op != M68kMemOp::Kind::Reg) in isMoveMask()
366 return getRegisterIndex(MemOp.OuterReg) < 16; in isMoveMask()
373 uint16_t MoveMask = MemOp.RegMask; in addMoveMaskOperands()
374 if (MemOp.Op == M68kMemOp::Kind::Reg) in addMoveMaskOperands()
375 MoveMask = 1 << getRegisterIndex(MemOp.OuterReg); in addMoveMaskOperands()
382 return isMemOp() && MemOp.Op == M68kMemOp::Kind::Addr; in isAddr()
389 if (MemOp.OuterDisp->evaluateAsAbsolute(Res)) in isAddrN()
396 M68kOperand::addExpr(Inst, MemOp.OuterDisp); in addAddrOperands()
401 return isMemOp() && MemOp.Op == M68kMemOp::Kind::RegIndirect && in isARI()
402 M68k::AR32RegClass.contains(MemOp.OuterReg); in isARI()
405 Inst.addOperand(MCOperand::createReg(MemOp.OuterReg)); in addARIOperands()
410 return isMemOp() && MemOp.Op == M68kMemOp::Kind::RegIndirectDisplacement && in isARID()
411 M68k::AR32RegClass.contains(MemOp.OuterReg); in isARID()
414 M68kOperand::addExpr(Inst, MemOp.OuterDisp); in addARIDOperands()
415 Inst.addOperand(MCOperand::createReg(MemOp.OuterReg)); in addARIDOperands()
421 MemOp.Op == M68kMemOp::Kind::RegIndirectDisplacementIndex && in isARII()
422 M68k::AR32RegClass.contains(MemOp.OuterReg); in isARII()
425 M68kOperand::addExpr(Inst, MemOp.OuterDisp); in addARIIOperands()
426 Inst.addOperand(MCOperand::createReg(MemOp.OuterReg)); in addARIIOperands()
427 Inst.addOperand(MCOperand::createReg(MemOp.InnerReg)); in addARIIOperands()
432 return isMemOp() && MemOp.Op == M68kMemOp::Kind::RegPreDecrement && in isARIPD()
433 M68k::AR32RegClass.contains(MemOp.OuterReg); in isARIPD()
436 Inst.addOperand(MCOperand::createReg(MemOp.OuterReg)); in addARIPDOperands()
441 return isMemOp() && MemOp.Op == M68kMemOp::Kind::RegPostIncrement && in isARIPI()
442 M68k::AR32RegClass.contains(MemOp.OuterReg); in isARIPI()
445 Inst.addOperand(MCOperand::createReg(MemOp.OuterReg)); in addARIPIOperands()
450 return isMemOp() && MemOp.Op == M68kMemOp::Kind::RegIndirectDisplacement && in isPCD()
451 MemOp.OuterReg == M68k::PC; in isPCD()
454 M68kOperand::addExpr(Inst, MemOp.OuterDisp); in addPCDOperands()
460 MemOp.Op == M68kMemOp::Kind::RegIndirectDisplacementIndex && in isPCI()
461 MemOp.OuterReg == M68k::PC; in isPCI()
464 M68kOperand::addExpr(Inst, MemOp.OuterDisp); in addPCIOperands()
465 Inst.addOperand(MCOperand::createReg(MemOp.InnerReg)); in addPCIOperands()
712 M68kMemOp MemOp; in parseMemOp() local
726 if (Parser.parseExpression(MemOp.OuterDisp)) { in parseMemOp()
734 MemOp.Op = M68kMemOp::Kind::Addr; in parseMemOp()
736 M68kOperand::createMemOp(MemOp, Start, getLexer().getLoc())); in parseMemOp()
749 if (Parser.parseExpression(MemOp.OuterDisp)) { in parseMemOp()
756 MemOp.Op = M68kMemOp::Kind::Addr; in parseMemOp()
758 M68kOperand::createMemOp(MemOp, Start, getLexer().getLoc())); in parseMemOp()
765 Result = parseRegister(MemOp.OuterReg); in parseMemOp()
780 Result = parseRegister(MemOp.InnerReg); in parseMemOp()
791 MemOp.Size = 4; in parseMemOp()
792 MemOp.Scale = 1; in parseMemOp()
793 MemOp.InnerDisp = MCConstantExpr::create(0, Parser.getContext(), true, 4); in parseMemOp()
819 MemOp.Op = M68kMemOp::Kind::RegPreDecrement; in parseMemOp()
821 MemOp.Op = M68kMemOp::Kind::RegPostIncrement; in parseMemOp()
823 MemOp.Op = M68kMemOp::Kind::RegIndirectDisplacementIndex; in parseMemOp()
825 MemOp.Op = M68kMemOp::Kind::RegIndirectDisplacement; in parseMemOp()
827 MemOp.Op = M68kMemOp::Kind::RegIndirect; in parseMemOp()
830 Operands.push_back(M68kOperand::createMemOp(MemOp, Start, End)); in parseMemOp()
837 M68kMemOp MemOp(M68kMemOp::Kind::RegMask); in parseRegOrMoveMask() local
838 MemOp.RegMask = 0; in parseRegOrMoveMask()
842 (MemOp.Op == M68kMemOp::Kind::RegMask) && (MemOp.RegMask == 0); in parseRegOrMoveMask()
873 MemOp.Op = M68kMemOp::Kind::Reg; in parseRegOrMoveMask()
874 MemOp.OuterReg = FirstRegister; in parseRegOrMoveMask()
876 if (MemOp.Op == M68kMemOp::Kind::Reg) { in parseRegOrMoveMask()
879 MemOp.Op = M68kMemOp::Kind::RegMask; in parseRegOrMoveMask()
880 MemOp.RegMask = 1 << getRegisterIndex(MemOp.OuterReg); in parseRegOrMoveMask()
882 if (MemOp.RegMask == 0) { in parseRegOrMoveMask()
895 if (NewMaskBits & MemOp.RegMask) { in parseRegOrMoveMask()
900 MemOp.RegMask |= NewMaskBits; in parseRegOrMoveMask()
911 M68kOperand::createMemOp(MemOp, Start, getLexer().getLoc())); in parseRegOrMoveMask()
1026 case KindTy::MemOp: in print()
1027 MemOp.print(OS); in print()