32 #ifndef __ARCH_SPARC_INSTS_BRANCH_HH__ 33 #define __ARCH_SPARC_INSTS_BRANCH_HH__ 51 using SparcStaticInst::SparcStaticInst;
65 Branch(mnem, _machInst, __opClass), disp(_disp)
97 sext<18>((
bits(_machInst, 21, 20) << 16) |
98 (
bits(_machInst, 13, 0) << 2)))
111 Branch(mnem, _machInst, __opClass),
123 #endif // __ARCH_SPARC_INSTS_BRANCH_HH__ Base class for branches with n bit displacements.
Base class for 16bit split displacements.
BranchNBits(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
BranchDisp(const char *mnem, ExtMachInst _machInst, OpClass __opClass, int32_t _disp)
Base class for branches that use an immediate and a register to compute their displacements.
Base class for all SPARC static instructions.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
BranchSplit(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
Base class for branch operations.
Base class for branch operations with an immediate displacement.
std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const override
Internal function to generate disassembly string.
TheISA::ExtMachInst ExtMachInst
Binary extended machine instruction type.
BranchImm13(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
T bits(T val, int first, int last)
Extract the bitfield from position 'first' to 'last' (inclusive) from 'val' and right justify it...
uint64_t sext(uint64_t val)
Sign-extend an N-bit value to 64 bits.