Go to the documentation of this file.
30 #ifndef __ARCH_POWER_INSTS_BRANCH_HH__
31 #define __ARCH_POWER_INSTS_BRANCH_HH__
130 return !((ctr != 0) ^ (
bits(
bo, 1) == 0));
204 #endif //__ARCH_POWER_INSTS_BRANCH_HH__
const std::string & disassemble(Addr pc, const loader::SymbolTable *symtab) const
Return string representation of disassembled instruction.
Base class for conditional, PC-relative or absolute address branches.
constexpr uint64_t sext(uint64_t val)
Sign-extend an N-bit value to 64 bits.
BranchOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
bool ctrOk(uint64_t &ctr) const
std::unique_ptr< PCStateBase > branchTarget(ThreadContext *tc) const override
Return the target address for an indirect branch (jump).
Base class for instructions whose disassembly is not purely a function of the machine instruction (i....
const loader::SymbolTable * cachedSymtab
Cached symbol table pointer from last disassembly.
bool condOk(uint32_t cr) const
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.
BranchRegCondOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
ThreadContext is the external interface to all thread state for anything outside of the CPU.
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
Base class for conditional, register-based branches.
BranchCondOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
Base class for unconditional, PC-relative or absolute address branches.
BranchDispCondOp(const char *mnem, MachInst _machInst, OpClass __opClass)
Constructor.
uint8_t bh
TODO: Branch hints are currently ignored.
PCDependentDisassembly(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
Constructor.
virtual std::unique_ptr< PCStateBase > branchTarget(const PCStateBase &pc) const
Return the target address for a PC-relative branch.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Base class for conditional branches.
std::unique_ptr< PCStateBase > branchTarget(ThreadContext *tc) const override
Return the target address for an indirect branch (jump).
std::unique_ptr< PCStateBase > branchTarget(ThreadContext *tc) const override
Return the target address for an indirect branch (jump).
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
Addr cachedPC
Cached program counter from last disassembly.
Generated on Tue Feb 8 2022 11:46:56 for gem5 by doxygen 1.8.17