Go to the documentation of this file.
29 #ifndef __ARCH_SPARC_INSTS_BRANCH_HH__
30 #define __ARCH_SPARC_INSTS_BRANCH_HH__
65 Branch(mnem, _machInst, __opClass),
disp(_disp)
96 sext<18>((
bits(_machInst, 21, 20) << 16) |
97 (
bits(_machInst, 13, 0) << 2)))
122 #endif // __ARCH_SPARC_INSTS_BRANCH_HH__
Base class for all SPARC static instructions.
std::string generateDisassembly(Addr pc, const loader::SymbolTable *symtab) const override
Internal function to generate disassembly string.
Base class for branches with n bit displacements.
Base class for branches that use an immediate and a register to compute their displacements.
Base class for branch operations with an immediate displacement.
constexpr uint64_t sext(uint64_t val)
Sign-extend an N-bit value to 64 bits.
BranchNBits(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
BranchSplit(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
BranchImm13(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
constexpr T bits(T val, unsigned first, unsigned last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
constexpr uint64_t szext(uint64_t val)
Sign-extend an N-bit value to 64 bits.
BranchDisp(const char *mnem, ExtMachInst _machInst, OpClass __opClass, int32_t _disp)
Base class for 16bit split displacements.
SparcStaticInst(const char *_mnemonic, ExtMachInst _machInst, OpClass __opClass)
Base class for branch operations.
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.
Reference material can be found at the JEDEC website: UFS standard http://www.jedec....
Generated on Sun Jul 30 2023 01:56:48 for gem5 by doxygen 1.8.17