Lines Matching defs:PPCOperand
168 struct PPCOperand : public MCParsedAsmOperand { struct
169 enum KindTy {
175 } Kind;
177 SMLoc StartLoc, EndLoc;
178 bool IsPPC64;
180 struct TokOp {
185 struct ImmOp {
189 struct ExprOp {
194 struct TLSRegOp {
198 union {
205 PPCOperand(KindTy K) : Kind(K) {} in PPCOperand() argument
208 PPCOperand(const PPCOperand &o) : MCParsedAsmOperand() { in PPCOperand() argument
232 void operator delete(void *p) { ::operator delete(p); } in operator delete()
235 SMLoc getStartLoc() const override { return StartLoc; } in getStartLoc()
238 SMLoc getEndLoc() const override { return EndLoc; } in getEndLoc()
242 SMRange getLocRange() const { return SMRange(StartLoc, EndLoc); } in getLocRange()
245 bool isPPC64() const { return IsPPC64; } in isPPC64()
247 int64_t getImm() const { in getImm()
251 int64_t getImmS16Context() const { in getImmS16Context()
258 int64_t getImmU16Context() const { in getImmU16Context()
264 const MCExpr *getExpr() const { in getExpr()
269 int64_t getExprCRVal() const { in getExprCRVal()
274 const MCExpr *getTLSReg() const { in getTLSReg()
279 unsigned getReg() const override { in getReg()
284 unsigned getFpReg() const { in getFpReg()
289 unsigned getVSReg() const { in getVSReg()
294 unsigned getACCReg() const { in getACCReg()
299 unsigned getDMRROWReg() const { in getDMRROWReg()
304 unsigned getDMRROWpReg() const { in getDMRROWpReg()
309 unsigned getDMRReg() const { in getDMRReg()
314 unsigned getDMRpReg() const { in getDMRpReg()
319 unsigned getVSRpEvenReg() const { in getVSRpEvenReg()
324 unsigned getG8pReg() const { in getG8pReg()
329 unsigned getCCReg() const { in getCCReg()
334 unsigned getCRBit() const { in getCRBit()
339 unsigned getCRBitMask() const { in getCRBitMask()
344 bool isToken() const override { return Kind == Token; } in isToken()
345 bool isImm() const override { in isImm()
348 bool isU1Imm() const { return Kind == Immediate && isUInt<1>(getImm()); } in isU1Imm()
349 bool isU2Imm() const { return Kind == Immediate && isUInt<2>(getImm()); } in isU2Imm()
350 bool isU3Imm() const { return Kind == Immediate && isUInt<3>(getImm()); } in isU3Imm()
351 bool isU4Imm() const { return Kind == Immediate && isUInt<4>(getImm()); } in isU4Imm()
352 bool isU5Imm() const { return Kind == Immediate && isUInt<5>(getImm()); } in isU5Imm()
353 bool isS5Imm() const { return Kind == Immediate && isInt<5>(getImm()); } in isS5Imm()
354 bool isU6Imm() const { return Kind == Immediate && isUInt<6>(getImm()); } in isU6Imm()
355 bool isU6ImmX2() const { return Kind == Immediate && in isU6ImmX2()
358 bool isU7Imm() const { return Kind == Immediate && isUInt<7>(getImm()); } in isU7Imm()
359 bool isU7ImmX4() const { return Kind == Immediate && in isU7ImmX4()
362 bool isU8Imm() const { return Kind == Immediate && isUInt<8>(getImm()); } in isU8Imm()
363 bool isU8ImmX8() const { return Kind == Immediate && in isU8ImmX8()
367 bool isU10Imm() const { return Kind == Immediate && isUInt<10>(getImm()); } in isU10Imm()
368 bool isU12Imm() const { return Kind == Immediate && isUInt<12>(getImm()); } in isU12Imm()
369 bool isU16Imm() const { return isExtImm<16>(/*Signed*/ false, 1); } in isU16Imm()
370 bool isS16Imm() const { return isExtImm<16>(/*Signed*/ true, 1); } in isS16Imm()
371 bool isS16ImmX4() const { return isExtImm<16>(/*Signed*/ true, 4); } in isS16ImmX4()
372 bool isS16ImmX16() const { return isExtImm<16>(/*Signed*/ true, 16); } in isS16ImmX16()
373 bool isS17Imm() const { return isExtImm<17>(/*Signed*/ true, 1); } in isS17Imm()
375 bool isHashImmX8() const { in isHashImmX8()
383 bool isS34ImmX16() const { in isS34ImmX16()
387 bool isS34Imm() const { in isS34Imm()
393 bool isTLSReg() const { return Kind == TLSRegister; } in isTLSReg()
394 bool isDirectBr() const { in isDirectBr()
411 bool isCondBr() const { return Kind == Expression || in isCondBr()
414 bool isImmZero() const { return Kind == Immediate && getImm() == 0; } in isImmZero()
415 bool isRegNumber() const { return Kind == Immediate && isUInt<5>(getImm()); } in isRegNumber()
416 bool isACCRegNumber() const { in isACCRegNumber()
419 bool isDMRROWRegNumber() const { in isDMRROWRegNumber()
422 bool isDMRROWpRegNumber() const { in isDMRROWpRegNumber()
425 bool isDMRRegNumber() const { in isDMRRegNumber()
428 bool isDMRpRegNumber() const { in isDMRpRegNumber()
431 bool isVSRpEvenRegNumber() const { in isVSRpEvenRegNumber()
434 bool isVSRegNumber() const { in isVSRegNumber()
437 bool isCCRegNumber() const { return (Kind == Expression in isCCRegNumber()
441 bool isCRBitNumber() const { return (Kind == Expression in isCRBitNumber()
446 bool isEvenRegNumber() const { return isRegNumber() && (getImm() & 1) == 0; } in isEvenRegNumber()
448 bool isCRBitMask() const { in isCRBitMask()
452 bool isATBitsAsHint() const { return false; } in isATBitsAsHint()
453 bool isMem() const override { return false; } in isMem()
454 bool isReg() const override { return false; } in isReg()
456 void addRegOperands(MCInst &Inst, unsigned N) const { in addRegOperands()
460 void addRegGPRCOperands(MCInst &Inst, unsigned N) const { in addRegGPRCOperands()
465 void addRegGPRCNoR0Operands(MCInst &Inst, unsigned N) const { in addRegGPRCNoR0Operands()
470 void addRegG8RCOperands(MCInst &Inst, unsigned N) const { in addRegG8RCOperands()
475 void addRegG8RCNoX0Operands(MCInst &Inst, unsigned N) const { in addRegG8RCNoX0Operands()
480 void addRegG8pRCOperands(MCInst &Inst, unsigned N) const { in addRegG8pRCOperands()
485 void addRegGxRCOperands(MCInst &Inst, unsigned N) const { in addRegGxRCOperands()
492 void addRegGxRCNoR0Operands(MCInst &Inst, unsigned N) const { in addRegGxRCNoR0Operands()
499 void addRegF4RCOperands(MCInst &Inst, unsigned N) const { in addRegF4RCOperands()
504 void addRegF8RCOperands(MCInst &Inst, unsigned N) const { in addRegF8RCOperands()
509 void addRegFpRCOperands(MCInst &Inst, unsigned N) const { in addRegFpRCOperands()
514 void addRegVFRCOperands(MCInst &Inst, unsigned N) const { in addRegVFRCOperands()
519 void addRegVRRCOperands(MCInst &Inst, unsigned N) const { in addRegVRRCOperands()
524 void addRegVSRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRCOperands()
529 void addRegVSFRCOperands(MCInst &Inst, unsigned N) const { in addRegVSFRCOperands()
534 void addRegVSSRCOperands(MCInst &Inst, unsigned N) const { in addRegVSSRCOperands()
539 void addRegSPE4RCOperands(MCInst &Inst, unsigned N) const { in addRegSPE4RCOperands()
544 void addRegSPERCOperands(MCInst &Inst, unsigned N) const { in addRegSPERCOperands()
549 void addRegACCRCOperands(MCInst &Inst, unsigned N) const { in addRegACCRCOperands()
554 void addRegDMRROWRCOperands(MCInst &Inst, unsigned N) const { in addRegDMRROWRCOperands()
559 void addRegDMRROWpRCOperands(MCInst &Inst, unsigned N) const { in addRegDMRROWpRCOperands()
564 void addRegDMRRCOperands(MCInst &Inst, unsigned N) const { in addRegDMRRCOperands()
569 void addRegDMRpRCOperands(MCInst &Inst, unsigned N) const { in addRegDMRpRCOperands()
574 void addRegWACCRCOperands(MCInst &Inst, unsigned N) const { in addRegWACCRCOperands()
579 void addRegWACC_HIRCOperands(MCInst &Inst, unsigned N) const { in addRegWACC_HIRCOperands()
584 void addRegVSRpRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRpRCOperands()
589 void addRegVSRpEvenRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRpEvenRCOperands()
594 void addRegCRBITRCOperands(MCInst &Inst, unsigned N) const { in addRegCRBITRCOperands()
599 void addRegCRRCOperands(MCInst &Inst, unsigned N) const { in addRegCRRCOperands()
604 void addCRBitMaskOperands(MCInst &Inst, unsigned N) const { in addCRBitMaskOperands()
609 void addImmOperands(MCInst &Inst, unsigned N) const { in addImmOperands()
617 void addS16ImmOperands(MCInst &Inst, unsigned N) const { in addS16ImmOperands()
632 void addU16ImmOperands(MCInst &Inst, unsigned N) const { in addU16ImmOperands()
647 void addBranchTargetOperands(MCInst &Inst, unsigned N) const { in addBranchTargetOperands()
655 void addTLSRegOperands(MCInst &Inst, unsigned N) const { in addTLSRegOperands()
660 StringRef getToken() const { in getToken()
667 static std::unique_ptr<PPCOperand> CreateToken(StringRef Str, SMLoc S, in CreateToken()
679 CreateTokenWithStringCopy(StringRef Str, SMLoc S, bool IsPPC64) { in CreateTokenWithStringCopy()
696 static std::unique_ptr<PPCOperand> CreateImm(int64_t Val, SMLoc S, SMLoc E, in CreateImm()
706 static std::unique_ptr<PPCOperand> CreateExpr(const MCExpr *Val, SMLoc S, in CreateExpr()
718 CreateTLSReg(const MCSymbolRefExpr *Sym, SMLoc S, SMLoc E, bool IsPPC64) { in CreateTLSReg()
728 CreateContextImm(int64_t Val, SMLoc S, SMLoc E, bool IsPPC64) { in CreateContextImm()
738 CreateFromMCExpr(const MCExpr *Val, SMLoc S, SMLoc E, bool IsPPC64) { in CreateFromMCExpr()
758 bool isExtImm(bool Signed, unsigned Multiple) const { in isExtImm()