39 #ifndef __ARCH_ARM_MEM64_HH__
40 #define __ARCH_ARM_MEM64_HH__
72 if (
flags[IsLastMicroop]) {
74 }
else if (
flags[IsMicroop]) {
119 return uops[microPC];
136 :
Memory64(mnem, _machInst, __opClass, _dest, _base),
imm(_imm)
150 :
MemoryImm64(mnem, _machInst, __opClass, _dest, _base, _imm),
165 :
MemoryDImm64(mnem, _machInst, __opClass, _dest, _dest2,
166 _base, _imm),
result(_result)
178 :
MemoryImm64(mnem, _machInst, __opClass, _dest, _base, _imm)
190 :
MemoryImm64(mnem, _machInst, __opClass, _dest, _base, _imm)
207 :
Memory64(mnem, _machInst, __opClass, _dest, _base),
219 :
Memory64(mnem, _machInst, __opClass, _dest, _base)
233 :
Memory64(mnem, _machInst, __opClass, _dest, _base),
result(_result)
245 OpClass __opClass,
IntRegIndex _dest, int64_t _imm)
253 #endif //__ARCH_ARM_INSTS_MEM_HH__
void setExcAcRel(bool exclusive, bool acrel)
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
MemoryPostIndex64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, int64_t _imm)
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
MemoryPreIndex64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, int64_t _imm)
MightBeMicro64(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
MemoryDImmEx64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _result, IntRegIndex _dest, IntRegIndex _dest2, IntRegIndex _base, int32_t _imm)
MemoryReg64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, IntRegIndex _offset, ArmExtendType _type, uint64_t _shiftAmt)
MemoryLiteral64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, int64_t _imm)
MemoryEx64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, IntRegIndex _result)
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::bitset< Num_Flags > flags
Flag values for this instruction.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
bool baseIsSP
True if the base register is SP (used for SP alignment checking).
MemoryRaw64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Memory64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base)
SysDC64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _base, IntRegIndex _dest, uint64_t _imm)
static const unsigned numMicroops
GenericISA::SimplePCState< MachInst > PCState
MemoryImm64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, int64_t _imm)
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.
static bool isSP(IntRegIndex reg)
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const
Internal function to generate disassembly string.
void advancePC(PCState &pcState) const
MemoryDImm64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _dest2, IntRegIndex _base, int64_t _imm)
void startDisassembly(std::ostream &os) const
StaticInstPtr fetchMicroop(MicroPC microPC) const
Return the microop that goes with a particular micropc.