Go to the documentation of this file.
38 #ifndef __ARCH_X86_TYPES_HH__
39 #define __ARCH_X86_TYPES_HH__
161 static inline const char *
171 case ThreeByte0F38Opcode:
172 return "three byte 0f38";
173 case ThreeByte0F3AOpcode:
174 return "three byte 0f3a";
176 return "unrecognized!";
214 void reset() { memset(
static_cast<void *
>(
this), 0,
sizeof(*
this)); }
248 inline static std::ostream &
251 ccprintf(
os,
"\n{\n\tleg = %#x,\n\trex = %#x,\n\t"
253 "op = {\n\t\ttype = %s,\n\t\top = %#x,\n\t\t},\n\t"
254 "modRM = %#x,\n\tsib = %#x,\n\t"
255 "immediate = %#x,\n\tdisplacement = %#x\n\t"
260 (uint8_t)emi.
modRM, (uint8_t)emi.
sib,
307 void paramIn(CheckpointIn &cp,
const std::string &
name,
321 return (((uint64_t)emi.
legacy << 48) |
322 ((uint64_t)emi.
rex << 40) |
323 ((uint64_t)emi.
vex << 32) |
324 ((uint64_t)emi.
modRM << 24) |
325 ((uint64_t)emi.
sib << 16) |
337 #endif // __ARCH_X86_TYPES_HH__
size_t operator()(const gem5::X86ISA::ExtMachInst &emi) const
void ccprintf(cp::Print &print)
LegacyPrefixVector legacy
BitUnion8(LegacyPrefixVector) Bitfield< 7
static bool operator==(const ExtMachInst &emi1, const ExtMachInst &emi2)
EndBitUnion(TriggerIntMessage) namespace delivery_mode
const std::string & name()
void paramOut(CheckpointOut &cp, const std::string &name, ExtMachInst const &machInst)
Overload hash function for BasicBlockRange type.
static std::ostream & operator<<(std::ostream &os, const ExtMachInst &emi)
void paramIn(CheckpointIn &cp, const std::string &name, ExtMachInst &machInst)
static const char * opcodeTypeToStr(OpcodeType type)
std::ostream CheckpointOut
struct gem5::X86ISA::ExtMachInst::@32 opcode
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Generated on Sun Jul 30 2023 01:56:50 for gem5 by doxygen 1.8.17