Lines Matching defs:PPCOperand

167 struct PPCOperand : public MCParsedAsmOperand {  struct
168 enum KindTy {
174 } Kind;
176 SMLoc StartLoc, EndLoc;
177 bool IsPPC64;
179 struct TokOp {
184 struct ImmOp {
188 struct ExprOp {
193 struct TLSRegOp {
197 union {
204 PPCOperand(KindTy K) : MCParsedAsmOperand(), Kind(K) {} in PPCOperand() argument
206 PPCOperand(const PPCOperand &o) : MCParsedAsmOperand() { in PPCOperand() argument
230 void operator delete(void *p) { ::operator delete(p); } in operator delete()
233 SMLoc getStartLoc() const override { return StartLoc; } in getStartLoc()
236 SMLoc getEndLoc() const override { return EndLoc; } in getEndLoc()
240 SMRange getLocRange() const { return SMRange(StartLoc, EndLoc); } in getLocRange()
243 bool isPPC64() const { return IsPPC64; } in isPPC64()
245 int64_t getImm() const { in getImm()
249 int64_t getImmS16Context() const { in getImmS16Context()
256 int64_t getImmU16Context() const { in getImmU16Context()
262 const MCExpr *getExpr() const { in getExpr()
267 int64_t getExprCRVal() const { in getExprCRVal()
272 const MCExpr *getTLSReg() const { in getTLSReg()
277 unsigned getReg() const override { in getReg()
282 unsigned getVSReg() const { in getVSReg()
287 unsigned getACCReg() const { in getACCReg()
292 unsigned getVSRpEvenReg() const { in getVSRpEvenReg()
297 unsigned getG8pReg() const { in getG8pReg()
302 unsigned getCCReg() const { in getCCReg()
307 unsigned getCRBit() const { in getCRBit()
312 unsigned getCRBitMask() const { in getCRBitMask()
317 bool isToken() const override { return Kind == Token; } in isToken()
318 bool isImm() const override { in isImm()
321 bool isU1Imm() const { return Kind == Immediate && isUInt<1>(getImm()); } in isU1Imm()
322 bool isU2Imm() const { return Kind == Immediate && isUInt<2>(getImm()); } in isU2Imm()
323 bool isU3Imm() const { return Kind == Immediate && isUInt<3>(getImm()); } in isU3Imm()
324 bool isU4Imm() const { return Kind == Immediate && isUInt<4>(getImm()); } in isU4Imm()
325 bool isU5Imm() const { return Kind == Immediate && isUInt<5>(getImm()); } in isU5Imm()
326 bool isS5Imm() const { return Kind == Immediate && isInt<5>(getImm()); } in isS5Imm()
327 bool isU6Imm() const { return Kind == Immediate && isUInt<6>(getImm()); } in isU6Imm()
328 bool isU6ImmX2() const { return Kind == Immediate && in isU6ImmX2()
331 bool isU7Imm() const { return Kind == Immediate && isUInt<7>(getImm()); } in isU7Imm()
332 bool isU7ImmX4() const { return Kind == Immediate && in isU7ImmX4()
335 bool isU8Imm() const { return Kind == Immediate && isUInt<8>(getImm()); } in isU8Imm()
336 bool isU8ImmX8() const { return Kind == Immediate && in isU8ImmX8()
340 bool isU10Imm() const { return Kind == Immediate && isUInt<10>(getImm()); } in isU10Imm()
341 bool isU12Imm() const { return Kind == Immediate && isUInt<12>(getImm()); } in isU12Imm()
342 bool isU16Imm() const { in isU16Imm()
353 bool isS16Imm() const { in isS16Imm()
364 bool isS16ImmX4() const { return Kind == Expression || in isS16ImmX4()
368 bool isHashImmX8() const { in isHashImmX8()
376 bool isS16ImmX16() const { return Kind == Expression || in isS16ImmX16()
379 bool isS34ImmX16() const { in isS34ImmX16()
383 bool isS34Imm() const { in isS34Imm()
389 bool isS17Imm() const { in isS17Imm()
400 bool isTLSReg() const { return Kind == TLSRegister; } in isTLSReg()
401 bool isDirectBr() const { in isDirectBr()
418 bool isCondBr() const { return Kind == Expression || in isCondBr()
421 bool isImmZero() const { return Kind == Immediate && getImm() == 0; } in isImmZero()
422 bool isRegNumber() const { return Kind == Immediate && isUInt<5>(getImm()); } in isRegNumber()
423 bool isACCRegNumber() const { in isACCRegNumber()
426 bool isVSRpEvenRegNumber() const { in isVSRpEvenRegNumber()
429 bool isVSRegNumber() const { in isVSRegNumber()
432 bool isCCRegNumber() const { return (Kind == Expression in isCCRegNumber()
436 bool isCRBitNumber() const { return (Kind == Expression in isCRBitNumber()
441 bool isEvenRegNumber() const { return isRegNumber() && (getImm() & 1) == 0; } in isEvenRegNumber()
443 bool isCRBitMask() const { return Kind == Immediate && isUInt<8>(getImm()) && in isCRBitMask()
445 bool isATBitsAsHint() const { return false; } in isATBitsAsHint()
446 bool isMem() const override { return false; } in isMem()
447 bool isReg() const override { return false; } in isReg()
449 void addRegOperands(MCInst &Inst, unsigned N) const { in addRegOperands()
453 void addRegGPRCOperands(MCInst &Inst, unsigned N) const { in addRegGPRCOperands()
458 void addRegGPRCNoR0Operands(MCInst &Inst, unsigned N) const { in addRegGPRCNoR0Operands()
463 void addRegG8RCOperands(MCInst &Inst, unsigned N) const { in addRegG8RCOperands()
468 void addRegG8RCNoX0Operands(MCInst &Inst, unsigned N) const { in addRegG8RCNoX0Operands()
473 void addRegG8pRCOperands(MCInst &Inst, unsigned N) const { in addRegG8pRCOperands()
478 void addRegGxRCOperands(MCInst &Inst, unsigned N) const { in addRegGxRCOperands()
485 void addRegGxRCNoR0Operands(MCInst &Inst, unsigned N) const { in addRegGxRCNoR0Operands()
492 void addRegF4RCOperands(MCInst &Inst, unsigned N) const { in addRegF4RCOperands()
497 void addRegF8RCOperands(MCInst &Inst, unsigned N) const { in addRegF8RCOperands()
502 void addRegVFRCOperands(MCInst &Inst, unsigned N) const { in addRegVFRCOperands()
507 void addRegVRRCOperands(MCInst &Inst, unsigned N) const { in addRegVRRCOperands()
512 void addRegVSRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRCOperands()
517 void addRegVSFRCOperands(MCInst &Inst, unsigned N) const { in addRegVSFRCOperands()
522 void addRegVSSRCOperands(MCInst &Inst, unsigned N) const { in addRegVSSRCOperands()
527 void addRegSPE4RCOperands(MCInst &Inst, unsigned N) const { in addRegSPE4RCOperands()
532 void addRegSPERCOperands(MCInst &Inst, unsigned N) const { in addRegSPERCOperands()
537 void addRegACCRCOperands(MCInst &Inst, unsigned N) const { in addRegACCRCOperands()
542 void addRegVSRpRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRpRCOperands()
547 void addRegVSRpEvenRCOperands(MCInst &Inst, unsigned N) const { in addRegVSRpEvenRCOperands()
552 void addRegCRBITRCOperands(MCInst &Inst, unsigned N) const { in addRegCRBITRCOperands()
557 void addRegCRRCOperands(MCInst &Inst, unsigned N) const { in addRegCRRCOperands()
562 void addCRBitMaskOperands(MCInst &Inst, unsigned N) const { in addCRBitMaskOperands()
567 void addImmOperands(MCInst &Inst, unsigned N) const { in addImmOperands()
575 void addS16ImmOperands(MCInst &Inst, unsigned N) const { in addS16ImmOperands()
590 void addU16ImmOperands(MCInst &Inst, unsigned N) const { in addU16ImmOperands()
605 void addBranchTargetOperands(MCInst &Inst, unsigned N) const { in addBranchTargetOperands()
613 void addTLSRegOperands(MCInst &Inst, unsigned N) const { in addTLSRegOperands()
618 StringRef getToken() const { in getToken()
625 static std::unique_ptr<PPCOperand> CreateToken(StringRef Str, SMLoc S, in CreateToken()
637 CreateTokenWithStringCopy(StringRef Str, SMLoc S, bool IsPPC64) { in CreateTokenWithStringCopy()
654 static std::unique_ptr<PPCOperand> CreateImm(int64_t Val, SMLoc S, SMLoc E, in CreateImm()
664 static std::unique_ptr<PPCOperand> CreateExpr(const MCExpr *Val, SMLoc S, in CreateExpr()
676 CreateTLSReg(const MCSymbolRefExpr *Sym, SMLoc S, SMLoc E, bool IsPPC64) { in CreateTLSReg()
686 CreateContextImm(int64_t Val, SMLoc S, SMLoc E, bool IsPPC64) { in CreateContextImm()
696 CreateFromMCExpr(const MCExpr *Val, SMLoc S, SMLoc E, bool IsPPC64) { in CreateFromMCExpr()