38 #ifndef __ARCH_X86_INSTS_MICROOP_HH__ 39 #define __ARCH_X86_INSTS_MICROOP_HH__ 45 namespace ConditionTests
96 const char *mnem,
const char *_instMnem,
97 uint64_t setFlags, OpClass __opClass) :
101 const int ChunkSize =
sizeof(
unsigned long);
102 const int Chunks =
sizeof(setFlags) / ChunkSize;
106 for (
int i = 0;
i < Chunks;
i++) {
107 unsigned shift =
i * ChunkSize * 8;
108 flags |= (std::bitset<Num_Flags>(setFlags >>
shift) << shift);
115 std::stringstream
ss;
117 ccprintf(ss,
"\t%s.%s", instMnem, mnemonic);
122 bool checkCondition(uint64_t flags,
int condition)
const;
127 if (flags[IsLastMicroop])
135 #endif //__ARCH_X86_INSTS_MICROOP_HH__ void ccprintf(cp::Print &print)
void advancePC(PCState &pcState) const
Base class for all X86 static instructions.
X86MicroopBase(ExtMachInst _machInst, const char *mnem, const char *_instMnem, uint64_t setFlags, OpClass __opClass)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const
Internal function to generate disassembly string.
This is exposed globally, independent of the ISA.
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.