Lines Matching defs:X86Operand
25 struct X86Operand : public MCParsedAsmOperand { struct
26 enum KindTy {
31 } Kind;
33 SMLoc StartLoc, EndLoc;
34 SMLoc OffsetOfLoc;
35 StringRef SymName;
36 void *OpDecl;
37 bool AddressOf;
39 struct TokOp {
44 struct RegOp {
69 X86Operand(KindTy K, SMLoc Start, SMLoc End) in X86Operand() argument
72 StringRef getSymName() override { return SymName; } in getSymName()
73 void *getOpDecl() override { return OpDecl; } in getOpDecl()
76 SMLoc getStartLoc() const override { return StartLoc; } in getStartLoc()
78 SMLoc getEndLoc() const override { return EndLoc; } in getEndLoc()
81 SMRange getLocRange() const { return SMRange(StartLoc, EndLoc); } in getLocRange()
83 SMLoc getOffsetOfLoc() const override { return OffsetOfLoc; } in getOffsetOfLoc()
85 void print(raw_ostream &OS) const override {} in print()
87 StringRef getToken() const { in getToken()
91 void setTokenValue(StringRef Value) { in setTokenValue()
97 unsigned getReg() const override { in getReg()
102 const MCExpr *getImm() const { in getImm()
107 const MCExpr *getMemDisp() const { in getMemDisp()
111 unsigned getMemSegReg() const { in getMemSegReg()
115 unsigned getMemBaseReg() const { in getMemBaseReg()
119 unsigned getMemIndexReg() const { in getMemIndexReg()
123 unsigned getMemScale() const { in getMemScale()
127 unsigned getMemModeSize() const { in getMemModeSize()
132 bool isToken() const override {return Kind == Token; } in isToken()
134 bool isImm() const override { return Kind == Immediate; } in isImm()
136 bool isImmSExti16i8() const { in isImmSExti16i8()
150 bool isImmSExti32i8() const { in isImmSExti32i8()
164 bool isImmSExti64i8() const { in isImmSExti64i8()
178 bool isImmSExti64i32() const { in isImmSExti64i32()
193 bool isImmUnsignedi8() const { in isImmUnsignedi8()
200 bool isOffsetOf() const override { in isOffsetOf()
204 bool needAddressOf() const override { in needAddressOf()
208 bool isMem() const override { return Kind == Memory; } in isMem()
209 bool isMemUnsized() const { in isMemUnsized()
212 bool isMem8() const { in isMem8()
215 bool isMem16() const { in isMem16()
218 bool isMem32() const { in isMem32()
221 bool isMem64() const { in isMem64()
224 bool isMem80() const { in isMem80()
227 bool isMem128() const { in isMem128()
230 bool isMem256() const { in isMem256()
233 bool isMem512() const { in isMem512()
236 bool isMemIndexReg(unsigned LowR, unsigned HighR) const { in isMemIndexReg()
241 bool isMem64_RC128() const { in isMem64_RC128()
244 bool isMem128_RC128() const { in isMem128_RC128()
247 bool isMem128_RC256() const { in isMem128_RC256()
250 bool isMem256_RC128() const { in isMem256_RC128()
253 bool isMem256_RC256() const { in isMem256_RC256()
257 bool isMem64_RC128X() const { in isMem64_RC128X()
260 bool isMem128_RC128X() const { in isMem128_RC128X()
263 bool isMem128_RC256X() const { in isMem128_RC256X()
266 bool isMem256_RC128X() const { in isMem256_RC128X()
269 bool isMem256_RC256X() const { in isMem256_RC256X()
272 bool isMem512_RC256X() const { in isMem512_RC256X()
275 bool isMem512_RC512() const { in isMem512_RC512()
279 bool isAbsMem() const { in isAbsMem()
283 bool isAVX512RC() const{ in isAVX512RC()
287 bool isAbsMem16() const { in isAbsMem16()
291 bool isSrcIdx() const { in isSrcIdx()
297 bool isSrcIdx8() const { in isSrcIdx8()
300 bool isSrcIdx16() const { in isSrcIdx16()
303 bool isSrcIdx32() const { in isSrcIdx32()
306 bool isSrcIdx64() const { in isSrcIdx64()
310 bool isDstIdx() const { in isDstIdx()
317 bool isDstIdx8() const { in isDstIdx8()
320 bool isDstIdx16() const { in isDstIdx16()
323 bool isDstIdx32() const { in isDstIdx32()
326 bool isDstIdx64() const { in isDstIdx64()
330 bool isMemOffs() const { in isMemOffs()
335 bool isMemOffs16_8() const { in isMemOffs16_8()
338 bool isMemOffs16_16() const { in isMemOffs16_16()
341 bool isMemOffs16_32() const { in isMemOffs16_32()
344 bool isMemOffs32_8() const { in isMemOffs32_8()
347 bool isMemOffs32_16() const { in isMemOffs32_16()
350 bool isMemOffs32_32() const { in isMemOffs32_32()
353 bool isMemOffs32_64() const { in isMemOffs32_64()
356 bool isMemOffs64_8() const { in isMemOffs64_8()
359 bool isMemOffs64_16() const { in isMemOffs64_16()
362 bool isMemOffs64_32() const { in isMemOffs64_32()
365 bool isMemOffs64_64() const { in isMemOffs64_64()
369 bool isReg() const override { return Kind == Register; } in isReg()
371 bool isGR32orGR64() const { in isGR32orGR64()
377 void addExpr(MCInst &Inst, const MCExpr *Expr) const { in addExpr()
385 void addRegOperands(MCInst &Inst, unsigned N) const { in addRegOperands()
390 static unsigned getGR32FromGR64(unsigned RegNo) { in getGR32FromGR64()
413 void addGR32orGR64Operands(MCInst &Inst, unsigned N) const { in addGR32orGR64Operands()
420 void addAVX512RCOperands(MCInst &Inst, unsigned N) const { in addAVX512RCOperands()
424 void addImmOperands(MCInst &Inst, unsigned N) const { in addImmOperands()
429 void addMemOperands(MCInst &Inst, unsigned N) const { in addMemOperands()
438 void addAbsMemOperands(MCInst &Inst, unsigned N) const { in addAbsMemOperands()
467 static std::unique_ptr<X86Operand> CreateToken(StringRef Str, SMLoc Loc) { in CreateToken() argument
479 auto Res = llvm::make_unique<X86Operand>(Register, StartLoc, EndLoc); argument
488 static std::unique_ptr<X86Operand> CreateImm(const MCExpr *Val, in CreateImm() argument
500 auto Res = llvm::make_unique<X86Operand>(Memory, StartLoc, EndLoc); argument
527 auto Res = llvm::make_unique<X86Operand>(Memory, StartLoc, EndLoc); argument