Go to the documentation of this file.
38 #ifndef __ARCH_ARM_MEM64_HH__
39 #define __ARCH_ARM_MEM64_HH__
77 if (
flags[IsLastMicroop]) {
79 }
else if (
flags[IsMicroop]) {
124 return uops[microPC];
141 :
Memory64(mnem, _machInst, __opClass, _dest, _base),
imm(_imm)
156 :
MemoryImm64(mnem, _machInst, __opClass, _dest, _base, _imm),
172 :
MemoryDImm64(mnem, _machInst, __opClass, _dest, _dest2,
173 _base, _imm),
result(_result)
186 :
MemoryImm64(mnem, _machInst, __opClass, _dest, _base, _imm)
199 :
MemoryImm64(mnem, _machInst, __opClass, _dest, _base, _imm)
217 :
Memory64(mnem, _machInst, __opClass, _dest, _base),
230 :
Memory64(mnem, _machInst, __opClass, _dest, _base)
245 :
Memory64(mnem, _machInst, __opClass, _dest, _base),
result(_result)
258 OpClass __opClass,
IntRegIndex _dest, int64_t _imm)
268 #endif //__ARCH_ARM_INSTS_MEM_HH__
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::bitset< Num_Flags > flags
Flag values for this instruction.
MemoryImm64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, int64_t _imm)
This class is implementing the Base class for a generic AArch64 instruction which is making use of sy...
static bool isSP(IntRegIndex reg)
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
MemoryRaw64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base)
void startDisassembly(std::ostream &os) const
bool baseIsSP
True if the base register is SP (used for SP alignment checking).
MemoryEx64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, IntRegIndex _result)
StaticInstPtr fetchMicroop(MicroPC microPC) const override
Return the microop that goes with a particular micropc.
SysDC64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _base, MiscRegIndex _dest, uint64_t _imm)
MemoryLiteral64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, int64_t _imm)
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
MemoryDImm64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _dest2, IntRegIndex _base, int64_t _imm)
MightBeMicro64(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void advancePC(PCState &pcState) const override
MemoryDImmEx64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _result, IntRegIndex _dest, IntRegIndex _dest2, IntRegIndex _base, int32_t _imm)
MemoryPreIndex64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, int64_t _imm)
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
static const unsigned numMicroops
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
MemoryReg64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base, IntRegIndex _offset, ArmExtendType _type, uint64_t _shiftAmt)
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
void setExcAcRel(bool exclusive, bool acrel)
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
Memory64(const char *mnem, ExtMachInst _machInst, OpClass __opClass, IntRegIndex _dest, IntRegIndex _base)
GenericISA::DelaySlotPCState< MachInst > PCState
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
std::string generateDisassembly(Addr pc, const Loader::SymbolTable *symtab) const override
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 Loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
Generated on Wed Sep 30 2020 14:02:00 for gem5 by doxygen 1.8.17