Go to the documentation of this file.
38 #ifndef __ARCH_X86_TYPES_HH__
39 #define __ARCH_X86_TYPES_HH__
156 static inline const char *
166 case ThreeByte0F38Opcode:
167 return "three byte 0f38";
168 case ThreeByte0F3AOpcode:
169 return "three byte 0f3a";
171 return "unrecognized!";
201 void reset() { memset(
static_cast<void *
>(
this), 0,
sizeof(*
this)); }
235 inline static std::ostream &
238 ccprintf(
os,
"\n{\n\tleg = %#x,\n\trex = %#x,\n\t"
240 "op = {\n\t\ttype = %s,\n\t\top = %#x,\n\t\t},\n\t"
241 "modRM = %#x,\n\tsib = %#x,\n\t"
242 "immediate = %#x,\n\tdisplacement = %#x\n\t"
247 (uint8_t)emi.
modRM, (uint8_t)emi.
sib,
317 return (this->
npc() != this->
pc() +
size()) ||
318 (this->
nupc() != this->
upc() + 1);
361 return (((uint64_t)emi.
legacy << 48) |
362 ((uint64_t)emi.
rex << 40) |
363 ((uint64_t)emi.
vex << 32) |
364 ((uint64_t)emi.
modRM << 24) |
365 ((uint64_t)emi.
sib << 16) |
386 #endif // __ARCH_X86_TYPES_HH__
static bool operator==(const ExtMachInst &emi1, const ExtMachInst &emi2)
#define UNSERIALIZE_SCALAR(scalar)
BitUnion8(LegacyPrefixVector) Bitfield< 7
void paramIn(CheckpointIn &cp, const std::string &name, X86ISA::ExtMachInst &machInst)
void serialize(CheckpointOut &cp) const
Serialize an object.
void unserialize(CheckpointIn &cp)
Unserialize an object.
struct X86ISA::ExtMachInst::@20 opcode
void serialize(CheckpointOut &cp) const override
Serialize an object.
void paramOut(CheckpointOut &cp, const std::string &name, const X86ISA::ExtMachInst &machInst)
size_t operator()(const X86ISA::ExtMachInst &emi) const
This is exposed globally, independent of the ISA.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
const std::string & name()
#define SERIALIZE_SCALAR(scalar)
static const char * opcodeTypeToStr(OpcodeType type)
Overload hash function for BasicBlockRange type.
void unserialize(CheckpointIn &cp) override
Unserialize an object.
EndBitUnion(TriggerIntMessage) namespace DeliveryMode
void ccprintf(cp::Print &print)
std::ostream CheckpointOut
LegacyPrefixVector legacy
void size(uint8_t newSize)
static std::ostream & operator<<(std::ostream &os, const ExtMachInst &emi)
GenericISA::UPCState< MachInst > Base
Generated on Tue Mar 23 2021 19:41:20 for gem5 by doxygen 1.8.17