Lines Matching defs:TSFlags
120 uint64_t TSFlags, unsigned &CurByte, raw_ostream &OS,
126 void EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, int MemOperand,
130 void EmitSegmentOverridePrefix(uint64_t TSFlags, unsigned &CurByte,
134 void EmitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte, int MemOperand,
156 /// in an instruction with the specified TSFlags.
157 static MCFixupKind getImmFixupKind(uint64_t TSFlags) {
158 unsigned Size = X86II::getSizeOfImm(TSFlags);
159 bool isPCRel = X86II::isImmPCRel(TSFlags);
300 uint64_t TSFlags, unsigned &CurByte,
328 int ImmSize = X86II::hasImm(TSFlags) ? X86II::getSizeOfImm(TSFlags) : 0;
443 void X86MCCodeEmitter::EmitVEXOpcodePrefix(uint64_t TSFlags, unsigned &CurByte,
447 bool HasVEX_4V = (TSFlags >> X86II::VEXShift) & X86II::VEX_4V;
448 bool HasVEX_4VOp3 = (TSFlags >> X86II::VEXShift) & X86II::VEX_4VOp3;
449 bool HasMemOp4 = (TSFlags >> X86II::VEXShift) & X86II::MemOp4;
513 if (TSFlags & X86II::OpSize)
516 if ((TSFlags >> X86II::VEXShift) & X86II::VEX_W)
519 if ((TSFlags >> X86II::VEXShift) & X86II::XOP)
522 if ((TSFlags >> X86II::VEXShift) & X86II::VEX_L)
525 switch (TSFlags & X86II::Op0Mask) {
577 switch (TSFlags & X86II::FormMask) {
703 EmitSegmentOverridePrefix(TSFlags, CurByte, MemOperand, MI, OS);
733 static unsigned DetermineREXPrefix(const MCInst &MI, uint64_t TSFlags,
736 if (TSFlags & X86II::REX_W)
759 switch (TSFlags & X86II::FormMask) {
825 void X86MCCodeEmitter::EmitSegmentOverridePrefix(uint64_t TSFlags,
829 switch (TSFlags & X86II::SegOvrMask) {
859 void X86MCCodeEmitter::EmitOpcodePrefix(uint64_t TSFlags, unsigned &CurByte,
865 if (TSFlags & X86II::LOCK)
869 EmitSegmentOverridePrefix(TSFlags, CurByte, MemOperand, MI, OS);
872 if ((TSFlags & X86II::Op0Mask) == X86II::REP)
877 if (TSFlags & X86II::AdSize) {
895 if (TSFlags & X86II::OpSize)
899 switch (TSFlags & X86II::Op0Mask) {
943 if (unsigned REX = DetermineREXPrefix(MI, TSFlags, Desc))
952 switch (TSFlags & X86II::Op0Mask) {
976 uint64_t TSFlags = Desc.TSFlags;
979 if ((TSFlags & X86II::FormMask) == X86II::Pseudo)
999 bool HasVEXPrefix = (TSFlags >> X86II::VEXShift) & X86II::VEX;
1002 bool HasVEX_4V = (TSFlags >> X86II::VEXShift) & X86II::VEX_4V;
1003 bool HasVEX_4VOp3 = (TSFlags >> X86II::VEXShift) & X86II::VEX_4VOp3;
1004 bool HasMemOp4 = (TSFlags >> X86II::VEXShift) & X86II::MemOp4;
1008 int MemoryOperand = X86II::getMemoryOperandNo(TSFlags, Opcode);
1012 EmitOpcodePrefix(TSFlags, CurByte, MemoryOperand, MI, Desc, OS);
1014 EmitVEXOpcodePrefix(TSFlags, CurByte, MemoryOperand, MI, Desc, OS);
1016 unsigned char BaseOpcode = X86II::getBaseOpcodeFor(TSFlags);
1018 if ((TSFlags >> X86II::VEXShift) & X86II::Has3DNow0F0FOpcode)
1022 switch (TSFlags & X86II::FormMask) {
1025 default: errs() << "FORM: " << (TSFlags & X86II::FormMask) << "\n";
1035 X86II::getSizeOfImm(TSFlags), getImmFixupKind(TSFlags),
1043 X86II::getSizeOfImm(TSFlags), getImmFixupKind(TSFlags),
1074 TSFlags, CurByte, OS, Fixups);
1110 TSFlags, CurByte, OS, Fixups);
1125 (TSFlags & X86II::FormMask)-X86II::MRM0r,
1135 EmitMemModRMByte(MI, CurOp, (TSFlags & X86II::FormMask)-X86II::MRM0m,
1136 TSFlags, CurByte, OS, Fixups);
1153 switch (TSFlags & X86II::FormMask) {
1188 if ((TSFlags >> X86II::VEXShift) & X86II::VEX_I8IMM) {
1216 FixupKind = getImmFixupKind(TSFlags);
1218 X86II::getSizeOfImm(TSFlags), MCFixupKind(FixupKind),
1223 if ((TSFlags >> X86II::VEXShift) & X86II::Has3DNow0F0FOpcode)
1224 EmitByte(X86II::getBaseOpcodeFor(TSFlags), CurByte, OS);