Lines Matching defs:PPCOperand
172 struct PPCOperand : public MCParsedAsmOperand { struct
173 enum KindTy {
179 } Kind;
181 SMLoc StartLoc, EndLoc;
182 bool IsPPC64;
184 struct TokOp {
189 struct ImmOp {
193 struct ExprOp {
198 struct TLSRegOp {
202 union {
209 PPCOperand(KindTy K) : MCParsedAsmOperand(), Kind(K) {} in PPCOperand() function
211 PPCOperand(const PPCOperand &o) : MCParsedAsmOperand() { in PPCOperand() function
235 void operator delete(void *p) { ::operator delete(p); } in operator delete()
238 SMLoc getStartLoc() const override { return StartLoc; } in getStartLoc()
241 SMLoc getEndLoc() const override { return EndLoc; } in getEndLoc()
245 SMRange getLocRange() const { return SMRange(StartLoc, EndLoc); } in getLocRange()
248 bool isPPC64() const { return IsPPC64; } in isPPC64()
250 int64_t getImm() const { in getImm()
254 int64_t getImmS16Context() const { in getImmS16Context()
261 int64_t getImmU16Context() const { in getImmU16Context()
267 const MCExpr *getExpr() const { in getExpr()
272 int64_t getExprCRVal() const { in getExprCRVal()
277 const MCExpr *getTLSReg() const { in getTLSReg()
282 unsigned getReg() const override { in getReg()
287 unsigned getVSReg() const { in getVSReg()
292 unsigned getCCReg() const { in getCCReg()
297 unsigned getCRBit() const { in getCRBit()
302 unsigned getCRBitMask() const { in getCRBitMask()
307 bool isToken() const override { return Kind == Token; } in isToken()
308 bool isImm() const override { in isImm()
311 bool isU1Imm() const { return Kind == Immediate && isUInt<1>(getImm()); } in isU1Imm()
312 bool isU2Imm() const { return Kind == Immediate && isUInt<2>(getImm()); } in isU2Imm()
313 bool isU3Imm() const { return Kind == Immediate && isUInt<3>(getImm()); } in isU3Imm()
314 bool isU4Imm() const { return Kind == Immediate && isUInt<4>(getImm()); } in isU4Imm()
315 bool isU5Imm() const { return Kind == Immediate && isUInt<5>(getImm()); } in isU5Imm()
316 bool isS5Imm() const { return Kind == Immediate && isInt<5>(getImm()); } in isS5Imm()
317 bool isU6Imm() const { return Kind == Immediate && isUInt<6>(getImm()); } in isU6Imm()
318 bool isU6ImmX2() const { return Kind == Immediate && in isU6ImmX2()
321 bool isU7Imm() const { return Kind == Immediate && isUInt<7>(getImm()); } in isU7Imm()
322 bool isU7ImmX4() const { return Kind == Immediate && in isU7ImmX4()
325 bool isU8Imm() const { return Kind == Immediate && isUInt<8>(getImm()); } in isU8Imm()
326 bool isU8ImmX8() const { return Kind == Immediate && in isU8ImmX8()
330 bool isU10Imm() const { return Kind == Immediate && isUInt<10>(getImm()); } in isU10Imm()
331 bool isU12Imm() const { return Kind == Immediate && isUInt<12>(getImm()); } in isU12Imm()
332 bool isU16Imm() const { in isU16Imm()
343 bool isS16Imm() const { in isS16Imm()
354 bool isS16ImmX4() const { return Kind == Expression || in isS16ImmX4()
357 bool isS16ImmX16() const { return Kind == Expression || in isS16ImmX16()
360 bool isS17Imm() const { in isS17Imm()
371 bool isTLSReg() const { return Kind == TLSRegister; } in isTLSReg()
372 bool isDirectBr() const { in isDirectBr()
389 bool isCondBr() const { return Kind == Expression || in isCondBr()
392 bool isRegNumber() const { return Kind == Immediate && isUInt<5>(getImm()); } in isRegNumber()
393 bool isVSRegNumber() const { in isVSRegNumber()
396 bool isCCRegNumber() const { return (Kind == Expression in isCCRegNumber()
400 bool isCRBitNumber() const { return (Kind == Expression in isCRBitNumber()
404 bool isCRBitMask() const { return Kind == Immediate && isUInt<8>(getImm()) && in isCRBitMask()
406 bool isATBitsAsHint() const { return false; } in isATBitsAsHint()
407 bool isMem() const override { return false; } in isMem()
408 bool isReg() const override { return false; } in isReg()
410 void addRegOperands(MCInst &Inst, unsigned N) const { in addRegOperands()
414 void addRegGPRCOperands(MCInst &Inst, unsigned N) const { in addRegGPRCOperands()
419 void addRegGPRCNoR0Operands(MCInst &Inst, unsigned N) const { in addRegGPRCNoR0Operands()
424 void addRegG8RCOperands(MCInst &Inst, unsigned N) const { in addRegG8RCOperands()
429 void addRegG8RCNoX0Operands(MCInst &Inst, unsigned N) const { in addRegG8RCNoX0Operands()
434 void addRegGxRCOperands(MCInst &Inst, unsigned N) const { in addRegGxRCOperands()
441 void addRegGxRCNoR0Operands(MCInst &Inst, unsigned N) const { in addRegGxRCNoR0Operands()
448 void addRegF4RCOperands(MCInst &Inst, unsigned N) const { in addRegF4RCOperands()
453 void addRegF8RCOperands(MCInst &Inst, unsigned N) const { in addRegF8RCOperands()
458 void addRegVFRCOperands(MCInst &Inst, unsigned N) const { in addRegVFRCOperands()
463 void addRegVRRCOperands(MCInst &Inst, unsigned N) const { in addRegVRRCOperands()
468 void addRegVSRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRCOperands()
473 void addRegVSFRCOperands(MCInst &Inst, unsigned N) const { in addRegVSFRCOperands()
478 void addRegVSSRCOperands(MCInst &Inst, unsigned N) const { in addRegVSSRCOperands()
483 void addRegQFRCOperands(MCInst &Inst, unsigned N) const { in addRegQFRCOperands()
488 void addRegQSRCOperands(MCInst &Inst, unsigned N) const { in addRegQSRCOperands()
493 void addRegQBRCOperands(MCInst &Inst, unsigned N) const { in addRegQBRCOperands()
498 void addRegSPE4RCOperands(MCInst &Inst, unsigned N) const { in addRegSPE4RCOperands()
503 void addRegSPERCOperands(MCInst &Inst, unsigned N) const { in addRegSPERCOperands()
508 void addRegCRBITRCOperands(MCInst &Inst, unsigned N) const { in addRegCRBITRCOperands()
513 void addRegCRRCOperands(MCInst &Inst, unsigned N) const { in addRegCRRCOperands()
518 void addCRBitMaskOperands(MCInst &Inst, unsigned N) const { in addCRBitMaskOperands()
523 void addImmOperands(MCInst &Inst, unsigned N) const { in addImmOperands()
531 void addS16ImmOperands(MCInst &Inst, unsigned N) const { in addS16ImmOperands()
546 void addU16ImmOperands(MCInst &Inst, unsigned N) const { in addU16ImmOperands()
561 void addBranchTargetOperands(MCInst &Inst, unsigned N) const { in addBranchTargetOperands()
569 void addTLSRegOperands(MCInst &Inst, unsigned N) const { in addTLSRegOperands()
574 StringRef getToken() const { in getToken()
581 static std::unique_ptr<PPCOperand> CreateToken(StringRef Str, SMLoc S, in CreateToken()
593 CreateTokenWithStringCopy(StringRef Str, SMLoc S, bool IsPPC64) { in CreateTokenWithStringCopy()
610 static std::unique_ptr<PPCOperand> CreateImm(int64_t Val, SMLoc S, SMLoc E, in CreateImm()
620 static std::unique_ptr<PPCOperand> CreateExpr(const MCExpr *Val, SMLoc S, in CreateExpr()
632 CreateTLSReg(const MCSymbolRefExpr *Sym, SMLoc S, SMLoc E, bool IsPPC64) { in CreateTLSReg()
642 CreateContextImm(int64_t Val, SMLoc S, SMLoc E, bool IsPPC64) { in CreateContextImm()
652 CreateFromMCExpr(const MCExpr *Val, SMLoc S, SMLoc E, bool IsPPC64) { in CreateFromMCExpr()