summaryrefslogtreecommitdiff
path: root/src/arch/arm/insts/branch.hh
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:03 -0500
committerGabe Black <gblack@eecs.umich.edu>2010-06-02 12:58:03 -0500
commitb6b2f8891a809eeec0409906f820e3e2dc60caa0 (patch)
tree872bd3333e02f10b780612f628aa575d01186d64 /src/arch/arm/insts/branch.hh
parentd082705b01d9ce648651c147636e8e9976406ab2 (diff)
downloadgem5-b6b2f8891a809eeec0409906f820e3e2dc60caa0.tar.xz
ARM: Eliminate the old style branch instructions.
Diffstat (limited to 'src/arch/arm/insts/branch.hh')
-rw-r--r--src/arch/arm/insts/branch.hh74
1 files changed, 0 insertions, 74 deletions
diff --git a/src/arch/arm/insts/branch.hh b/src/arch/arm/insts/branch.hh
index 185d34bab..fbdd10d68 100644
--- a/src/arch/arm/insts/branch.hh
+++ b/src/arch/arm/insts/branch.hh
@@ -46,36 +46,6 @@
namespace ArmISA
{
-/**
- * Base class for instructions whose disassembly is not purely a
- * function of the machine instruction (i.e., it depends on the
- * PC). This class overrides the disassemble() method to check
- * the PC and symbol table values before re-using a cached
- * disassembly string. This is necessary for branches and jumps,
- * where the disassembly string includes the target address (which
- * may depend on the PC and/or symbol table).
- */
-class PCDependentDisassembly : public PredOp
-{
- protected:
- /// Cached program counter from last disassembly
- mutable Addr cachedPC;
-
- /// Cached symbol table pointer from last disassembly
- mutable const SymbolTable *cachedSymtab;
-
- /// Constructor
- PCDependentDisassembly(const char *mnem, ExtMachInst _machInst,
- OpClass __opClass)
- : PredOp(mnem, _machInst, __opClass),
- cachedPC(0), cachedSymtab(0)
- {
- }
-
- const std::string &
- disassemble(Addr pc, const SymbolTable *symtab) const;
-};
-
// Branch to a target computed with an immediate
class BranchImm : public PredOp
{
@@ -160,50 +130,6 @@ class BranchImmReg : public PredOp
{}
};
-/**
- * Base class for branches (PC-relative control transfers),
- * conditional or unconditional.
- */
-class Branch : public PCDependentDisassembly
-{
- protected:
- /// target address (signed) Displacement .
- int32_t disp;
-
- /// Constructor.
- Branch(const char *mnem, ExtMachInst _machInst, OpClass __opClass)
- : PCDependentDisassembly(mnem, _machInst, __opClass),
- disp(machInst.offset << 2)
- {
- //If Bit 26 is 1 then Sign Extend
- if ( (disp & 0x02000000) > 0 ) {
- disp |= 0xFC000000;
- }
- }
-
- Addr branchTarget(Addr branchPC) const;
-
- std::string
- generateDisassembly(Addr pc, const SymbolTable *symtab) const;
-};
-
-/**
- * Base class for branch and exchange instructions on the ARM
- */
-class BranchExchange : public PredOp
-{
- protected:
- /// Constructor
- BranchExchange(const char *mnem, ExtMachInst _machInst,
- OpClass __opClass)
- : PredOp(mnem, _machInst, __opClass)
- {
- }
-
- std::string
- generateDisassembly(Addr pc, const SymbolTable *symtab) const;
-};
-
}
#endif //__ARCH_ARM_INSTS_BRANCH_HH__