40 #ifndef __ARCH_X86_TYPES_HH__
41 #define __ARCH_X86_TYPES_HH__
157 static inline const char *
167 case ThreeByte0F38Opcode:
168 return "three byte 0f38";
169 case ThreeByte0F3AOpcode:
170 return "three byte 0f3a";
172 return "unrecognized!";
234 inline static std::ostream &
237 ccprintf(os,
"\n{\n\tleg = %#x,\n\trex = %#x,\n\t"
239 "op = {\n\t\ttype = %s,\n\t\top = %#x,\n\t\t},\n\t"
240 "modRM = %#x,\n\tsib = %#x,\n\t"
241 "immediate = %#x,\n\tdisplacement = %#x\n\t"
246 (uint8_t)emi.
modRM, (uint8_t)emi.
sib,
316 return (this->
npc() != this->
pc() +
size()) ||
317 (this->
nupc() != this->
upc() + 1);
355 return (((uint64_t)emi.
legacy << 48) |
356 ((uint64_t)emi.
rex << 40) |
357 ((uint64_t)emi.
vex << 32) |
358 ((uint64_t)emi.
modRM << 24) |
359 ((uint64_t)emi.
sib << 16) |
381 #endif // __ARCH_X86_TYPES_HH__
void paramIn(CheckpointIn &cp, const std::string &name, X86ISA::ExtMachInst &machInst)
struct X86ISA::ExtMachInst::@25 opcode
void ccprintf(cp::Print &print)
const std::string & name()
EndBitUnion(TriggerIntMessage) namespace DeliveryMode
void serialize(CheckpointOut &cp) const
Serialize an object.
static std::ostream & operator<<(std::ostream &os, const ExtMachInst &emi)
#define UNSERIALIZE_SCALAR(scalar)
static bool operator==(const ExtMachInst &emi1, const ExtMachInst &emi2)
LegacyPrefixVector legacy
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void unserialize(CheckpointIn &cp)
Unserialize an object.
void paramOut(CheckpointOut &cp, const std::string &name, const X86ISA::ExtMachInst &machInst)
Defines global host-dependent types: Counter, Tick, and (indirectly) {int,uint}{8,16,32,64}_t.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
#define SERIALIZE_SCALAR(scalar)
static const char * opcodeTypeToStr(OpcodeType type)
void serialize(CheckpointOut &cp) const override
Serialize an object.
std::ostream CheckpointOut
void size(uint8_t newSize)
BitUnion8(LegacyPrefixVector) Bitfield<7
int Opcode(MachInst inst)
size_t operator()(const X86ISA::ExtMachInst &emi) const
GenericISA::UPCState< MachInst > Base