summaryrefslogtreecommitdiff
path: root/arch/mips/isa/base.isa
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/isa/base.isa')
-rw-r--r--arch/mips/isa/base.isa96
1 files changed, 0 insertions, 96 deletions
diff --git a/arch/mips/isa/base.isa b/arch/mips/isa/base.isa
deleted file mode 100644
index 4125b5101..000000000
--- a/arch/mips/isa/base.isa
+++ /dev/null
@@ -1,96 +0,0 @@
-// -*- mode:c++ -*-
-
-////////////////////////////////////////////////////////////////////
-//
-// Base class for MIPS instructions, and some support functions
-//
-
-//Outputs to decoder.hh
-output header {{
-
-#define R31 31
-#include "arch/mips/faults.hh"
-#include "arch/mips/isa_traits.hh"
-
- using namespace MipsISA;
-
-
- /**
- * Base class for all MIPS static instructions.
- */
- class MipsStaticInst : public StaticInst
- {
- protected:
-
- /// Make MipsISA register dependence tags directly visible in
- /// this class and derived classes. Maybe these should really
- /// live here and not in the MipsISA namespace.
- /*enum DependenceTags {
- FP_Base_DepTag = MipsISA::FP_Base_DepTag,
- Fpcr_DepTag = MipsISA::Fpcr_DepTag,
- Uniq_DepTag = MipsISA::Uniq_DepTag,
- IPR_Base_DepTag = MipsISA::IPR_Base_DepTag
- };*/
-
- // Constructor
- MipsStaticInst(const char *mnem, MachInst _machInst, OpClass __opClass)
- : StaticInst(mnem, _machInst, __opClass)
- {
- }
-
- /// Print a register name for disassembly given the unique
- /// dependence tag number (FP or int).
- void printReg(std::ostream &os, int reg) const;
-
- std::string generateDisassembly(Addr pc, const SymbolTable *symtab) const;
- };
-
-}};
-
-//Ouputs to decoder.cc
-output decoder {{
-
- void MipsStaticInst::printReg(std::ostream &os, int reg) const
- {
- if (reg < FP_Base_DepTag) {
- ccprintf(os, "r%d", reg);
- }
- else {
- ccprintf(os, "f%d", reg - FP_Base_DepTag);
- }
- }
-
- std::string MipsStaticInst::generateDisassembly(Addr pc, const SymbolTable *symtab) const
- {
- std::stringstream ss;
-
- ccprintf(ss, "%-10s ", mnemonic);
-
- // just print the first two source regs... if there's
- // a third one, it's a read-modify-write dest (Rc),
- // e.g. for CMOVxx
- if(_numSrcRegs > 0)
- {
- printReg(ss, _srcRegIdx[0]);
- }
-
- if(_numSrcRegs > 1)
- {
- ss << ",";
- printReg(ss, _srcRegIdx[1]);
- }
-
- // just print the first dest... if there's a second one,
- // it's generally implicit
- if(_numDestRegs > 0)
- {
- if(_numSrcRegs > 0)
- ss << ",";
- printReg(ss, _destRegIdx[0]);
- }
-
- return ss.str();
- }
-
-}};
-