Lines Matching defs:LanaiOperand

103 struct LanaiOperand : public MCParsedAsmOperand {  struct
104 enum KindTy {
111 } Kind;
113 SMLoc StartLoc, EndLoc;
115 struct Token {
120 struct RegOp {
124 struct ImmOp {
128 struct MemOp {
135 union {
142 explicit LanaiOperand(KindTy Kind) : Kind(Kind) {} in LanaiOperand() function
149 SMLoc getStartLoc() const override { return StartLoc; } in getStartLoc()
152 SMLoc getEndLoc() const override { return EndLoc; } in getEndLoc()
154 MCRegister getReg() const override { in getReg()
159 const MCExpr *getImm() const { in getImm()
164 StringRef getToken() const { in getToken()
169 unsigned getMemBaseReg() const { in getMemBaseReg()
174 unsigned getMemOffsetReg() const { in getMemOffsetReg()
179 const MCExpr *getMemOffset() const { in getMemOffset()
184 unsigned getMemOp() const { in getMemOp()
190 bool isReg() const override { return Kind == REGISTER; } in isReg()
192 bool isImm() const override { return Kind == IMMEDIATE; } in isImm()
194 bool isMem() const override { in isMem()
198 bool isMemImm() const { return Kind == MEMORY_IMM; } in isMemImm()
200 bool isMemRegImm() const { return Kind == MEMORY_REG_IMM; } in isMemRegImm()
202 bool isMemRegReg() const { return Kind == MEMORY_REG_REG; } in isMemRegReg()
204 bool isMemSpls() const { return isMemRegImm() || isMemRegReg(); } in isMemSpls()
206 bool isToken() const override { return Kind == TOKEN; } in isToken()
208 bool isBrImm() { in isBrImm()
221 bool isBrTarget() { return isBrImm() || isToken(); } in isBrTarget()
223 bool isCallTarget() { return isImm() || isToken(); } in isCallTarget()
225 bool isHiImm16() { in isHiImm16()
248 bool isHiImm16And() { in isHiImm16And()
261 bool isLoImm16() { in isLoImm16()
285 bool isLoImm16Signed() { in isLoImm16Signed()
309 bool isLoImm16And() { in isLoImm16And()
322 bool isImmShift() { in isImmShift()
333 bool isLoImm21() { in isLoImm21()
364 bool isImm10() { in isImm10()
375 bool isCondCode() { in isCondCode()
389 void addExpr(MCInst &Inst, const MCExpr *Expr) const { in addExpr()
400 void addRegOperands(MCInst &Inst, unsigned N) const { in addRegOperands()
405 void addImmOperands(MCInst &Inst, unsigned N) const { in addImmOperands()
410 void addBrTargetOperands(MCInst &Inst, unsigned N) const { in addBrTargetOperands()
415 void addCallTargetOperands(MCInst &Inst, unsigned N) const { in addCallTargetOperands()
420 void addCondCodeOperands(MCInst &Inst, unsigned N) const { in addCondCodeOperands()
425 void addMemImmOperands(MCInst &Inst, unsigned N) const { in addMemImmOperands()
431 void addMemRegImmOperands(MCInst &Inst, unsigned N) const { in addMemRegImmOperands()
439 void addMemRegRegOperands(MCInst &Inst, unsigned N) const { in addMemRegRegOperands()
447 void addMemSplsOperands(MCInst &Inst, unsigned N) const { in addMemSplsOperands()
454 void addImmShiftOperands(MCInst &Inst, unsigned N) const { in addImmShiftOperands()
459 void addImm10Operands(MCInst &Inst, unsigned N) const { in addImm10Operands()
464 void addLoImm16Operands(MCInst &Inst, unsigned N) const { in addLoImm16Operands()
488 void addLoImm16AndOperands(MCInst &Inst, unsigned N) const { in addLoImm16AndOperands()
496 void addHiImm16Operands(MCInst &Inst, unsigned N) const { in addHiImm16Operands()
519 void addHiImm16AndOperands(MCInst &Inst, unsigned N) const { in addHiImm16AndOperands()
527 void addLoImm21Operands(MCInst &Inst, unsigned N) const { in addLoImm21Operands()
558 void print(raw_ostream &OS) const override { in print()
583 static std::unique_ptr<LanaiOperand> CreateToken(StringRef Str, SMLoc Start) { in CreateToken()
592 static std::unique_ptr<LanaiOperand> createReg(unsigned RegNum, SMLoc Start, in createReg()
601 static std::unique_ptr<LanaiOperand> createImm(const MCExpr *Value, in createImm()
611 MorphToMemImm(std::unique_ptr<LanaiOperand> Op) { in MorphToMemImm()
622 MorphToMemRegReg(unsigned BaseReg, std::unique_ptr<LanaiOperand> Op, in MorphToMemRegReg()
634 MorphToMemRegImm(unsigned BaseReg, std::unique_ptr<LanaiOperand> Op, in MorphToMemRegImm()