Go to the documentation of this file.
38 #ifndef __ARCH_X86_TYPES_HH__
39 #define __ARCH_X86_TYPES_HH__
155 static inline const char *
165 case ThreeByte0F38Opcode:
166 return "three byte 0f38";
167 case ThreeByte0F3AOpcode:
168 return "three byte 0f3a";
170 return "unrecognized!";
201 memset(
static_cast<void *
>(
this), 0,
sizeof(*
this));
236 inline static std::ostream &
239 ccprintf(
os,
"\n{\n\tleg = %#x,\n\trex = %#x,\n\t"
241 "op = {\n\t\ttype = %s,\n\t\top = %#x,\n\t\t},\n\t"
242 "modRM = %#x,\n\tsib = %#x,\n\t"
243 "immediate = %#x,\n\tdisplacement = %#x\n\t"
248 (uint8_t)emi.
modRM, (uint8_t)emi.
sib,
318 return (this->
npc() != this->
pc() +
size()) ||
319 (this->
nupc() != this->
upc() + 1);
357 return (((uint64_t)emi.
legacy << 48) |
358 ((uint64_t)emi.
rex << 40) |
359 ((uint64_t)emi.
vex << 32) |
360 ((uint64_t)emi.
modRM << 24) |
361 ((uint64_t)emi.
sib << 16) |
383 #endif // __ARCH_X86_TYPES_HH__
static bool operator==(const ExtMachInst &emi1, const ExtMachInst &emi2)
struct X86ISA::ExtMachInst::@22 opcode
#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.
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 Wed Sep 30 2020 14:02:01 for gem5 by doxygen 1.8.17