summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2006-11-10 15:25:52 -0500
committerGabe Black <gblack@eecs.umich.edu>2006-11-10 15:25:52 -0500
commit27b43b62b753ba4e2323c487960338b94d156b6c (patch)
tree2c31aa08be8f02973596a33347728872de01bd8e
parent8390e4631174c2ca90755448e5ce336145679559 (diff)
downloadgem5-27b43b62b753ba4e2323c487960338b94d156b6c.tar.xz
Fixed up the code that prints out registers to take into account microregisters.
--HG-- extra : convert_revision : 6809de467e4500ce34447c0544caf0ba04af81e7
-rw-r--r--src/arch/sparc/isa/base.isa3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/arch/sparc/isa/base.isa b/src/arch/sparc/isa/base.isa
index a4c022411..122ad2b52 100644
--- a/src/arch/sparc/isa/base.isa
+++ b/src/arch/sparc/isa/base.isa
@@ -189,6 +189,7 @@ output decoder {{
const int MaxOutput = 16;
const int MaxLocal = 24;
const int MaxInput = 32;
+ const int MaxMicroReg = 33;
if (reg == FramePointerReg)
ccprintf(os, "%%fp");
else if (reg == StackPointerReg)
@@ -201,6 +202,8 @@ output decoder {{
ccprintf(os, "%%l%d", reg - MaxOutput);
else if(reg < MaxInput)
ccprintf(os, "%%i%d", reg - MaxLocal);
+ else if(reg < MaxMicroReg)
+ ccprintf(os, "%%u%d", reg - MaxInput);
else {
ccprintf(os, "%%f%d", reg - FP_Base_DepTag);
}