Fixed up the code that prints out registers to take into account microregisters.
authorGabe Black <gblack@eecs.umich.edu>
Fri, 10 Nov 2006 20:25:52 +0000 (15:25 -0500)
committerGabe Black <gblack@eecs.umich.edu>
Fri, 10 Nov 2006 20:25:52 +0000 (15:25 -0500)
--HG--
extra : convert_revision : 6809de467e4500ce34447c0544caf0ba04af81e7

src/arch/sparc/isa/base.isa

index a4c022411d00e83ccd5eb6e803fe57c4fdb9f266..122ad2b5202bd5b738e9550c09b7089b9eb1a489 100644 (file)
@@ -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);
             }