diff options
author | Yasuko Eckert <yasuko.eckert@amd.com> | 2013-10-15 14:22:44 -0400 |
---|---|---|
committer | Yasuko Eckert <yasuko.eckert@amd.com> | 2013-10-15 14:22:44 -0400 |
commit | 2c293823aa7cb6d2cac4c0ff35e2023ff132a8f2 (patch) | |
tree | 040fdd5bad814d7cb7ee40934974d2b38b28d67a /src/arch/sparc/registers.hh | |
parent | 552622184752dc798bc81f9b0b395db68aee9511 (diff) | |
download | gem5-2c293823aa7cb6d2cac4c0ff35e2023ff132a8f2.tar.xz |
cpu: add a condition-code register class
Add a third register class for condition codes,
in parallel with the integer and FP classes.
No ISAs use the CC class at this point though.
Diffstat (limited to 'src/arch/sparc/registers.hh')
-rw-r--r-- | src/arch/sparc/registers.hh | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/arch/sparc/registers.hh b/src/arch/sparc/registers.hh index 0e774b69e..b25f34584 100644 --- a/src/arch/sparc/registers.hh +++ b/src/arch/sparc/registers.hh @@ -48,6 +48,10 @@ typedef uint64_t IntReg; typedef uint64_t MiscReg; typedef float FloatReg; typedef uint32_t FloatRegBits; + +// dummy typedef since we don't have CC regs +typedef uint8_t CCReg; + typedef union { IntReg intReg; @@ -70,14 +74,16 @@ const int SyscallPseudoReturnReg = 9; const int NumIntArchRegs = 32; const int NumIntRegs = (MaxGL + 1) * 8 + NWindows * 16 + NumMicroIntRegs; +const int NumCCRegs = 0; const int TotalNumRegs = NumIntRegs + NumFloatRegs + NumMiscRegs; // These enumerate all the registers for dependence tracking. enum DependenceTags { FP_Reg_Base = NumIntRegs, - Misc_Reg_Base = FP_Reg_Base + NumFloatRegs, - Max_Reg_Index = Misc_Reg_Base + NumMiscRegs + CC_Reg_Base = FP_Reg_Base + NumFloatRegs, + Misc_Reg_Base = CC_Reg_Base + NumCCRegs, // NumCCRegs == 0 + Max_Reg_Index = Misc_Reg_Base + NumMiscRegs, }; } // namespace SparcISA |