summaryrefslogtreecommitdiff
path: root/arch/sparc/isa/base.isa
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-03-16 14:08:31 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-03-16 14:08:31 -0500
commit1d741c48af9f08718d359d9e3b7d3c0bf562a467 (patch)
tree088166d7dbb41b065080a4ace70ce91a9aa24039 /arch/sparc/isa/base.isa
parent31a20c88c52f6051575fe760251407d11e5715ba (diff)
parent558cc7f775dc404e4152212b5c6459ad9f4bb269 (diff)
downloadgem5-1d741c48af9f08718d359d9e3b7d3c0bf562a467.tar.xz
Merge m5.eecs.umich.edu:/bk/newmem
into ewok.(none):/home/gblack/m5/newmem arch/sparc/isa/decoder.isa: SCCS merged --HG-- extra : convert_revision : 460843b49bc96b3fbc5897828c23f9cf9b010ae0
Diffstat (limited to 'arch/sparc/isa/base.isa')
-rw-r--r--arch/sparc/isa/base.isa15
1 files changed, 15 insertions, 0 deletions
diff --git a/arch/sparc/isa/base.isa b/arch/sparc/isa/base.isa
index 916a9c5a5..f8c6ae12c 100644
--- a/arch/sparc/isa/base.isa
+++ b/arch/sparc/isa/base.isa
@@ -48,6 +48,8 @@ output header {{
std::string generateDisassembly(Addr pc,
const SymbolTable *symtab) const;
+
+ void printReg(std::ostream &os, int reg) const;
};
bool passesCondition(condCodes codes, condTest condition);
@@ -55,6 +57,17 @@ output header {{
output decoder {{
+ void
+ SparcStaticInst::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 SparcStaticInst::generateDisassembly(Addr pc,
const SymbolTable *symtab) const
{
@@ -124,6 +137,8 @@ output decoder {{
case OverflowSet:
return codes.v;
}
+ panic("Tried testing condition nonexistant "
+ "condition code %d", condition);
}
}};