40 #ifndef __ARCH_X86_INSTS_MICROOP_HH__
41 #define __ARCH_X86_INSTS_MICROOP_HH__
47 namespace ConditionTests
98 const char *mnem,
const char *_instMnem,
99 uint64_t setFlags, OpClass __opClass) :
103 const int ChunkSize =
sizeof(
unsigned long);
104 const int Chunks =
sizeof(setFlags) / ChunkSize;
108 for (
int i = 0;
i < Chunks;
i++) {
109 unsigned shift =
i * ChunkSize * 8;
110 flags |= (std::bitset<Num_Flags>(setFlags >>
shift) << shift);
117 std::stringstream
ss;
129 if (
flags[IsLastMicroop])
137 #endif //__ARCH_X86_INSTS_MICROOP_HH__
void ccprintf(cp::Print &print)
void advancePC(PCState &pcState) const
const char * mnemonic
Base mnemonic (e.g., "add").
std::bitset< Num_Flags > flags
Flag values for this instruction.
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.
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
bool checkCondition(uint64_t flags, int condition) const