arch: Make the ISA register types aliases for the global types.
authorGabe Black <gabeblack@google.com>
Sat, 13 Oct 2018 06:39:36 +0000 (23:39 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 16 Jan 2019 20:26:10 +0000 (20:26 +0000)
The ISA specific types can thus be phased out.

Change-Id: I8ea531a099fad140a4ec9c91cd972fe044111d60
Reviewed-on: https://gem5-review.googlesource.com/c/13623
Reviewed-by: Jason Lowe-Power <jason@lowepower.com>
Maintainer: Jason Lowe-Power <jason@lowepower.com>

src/arch/alpha/registers.hh
src/arch/arm/registers.hh
src/arch/mips/registers.hh
src/arch/null/registers.hh
src/arch/power/registers.hh
src/arch/riscv/registers.hh
src/arch/sparc/registers.hh
src/arch/x86/registers.hh

index 53ade4719e0663a16b90892af6cd22d38a3ea80c..2bff11b5c532aa2c812e41a0c1f013c285b16229 100644 (file)
@@ -45,14 +45,14 @@ using AlphaISAInst::MaxInstDestRegs;
 // Locked read/write flags are can't be detected by the ISA parser
 const int MaxMiscDestRegs = AlphaISAInst::MaxMiscDestRegs + 1;
 
-typedef uint64_t IntReg;
+typedef RegVal IntReg;
 
 // floating point register file entry type
-typedef double FloatReg;
-typedef uint64_t FloatRegBits;
+typedef FloatRegVal FloatReg;
+typedef RegVal FloatRegBits;
 
 // control register file contents
-typedef uint64_t MiscReg;
+typedef RegVal MiscReg;
 
 // dummy typedef since we don't have CC regs
 typedef uint8_t CCReg;
index 3c675cf772c3bec542ab854bb540203003a9f7ef..3e0a74e696220a755023adea248c4d3088d0074f 100644 (file)
@@ -59,11 +59,11 @@ const int MaxInstSrcRegs = ArmISAInst::MaxInstDestRegs +
 using ArmISAInst::MaxInstDestRegs;
 using ArmISAInst::MaxMiscDestRegs;
 
-typedef uint64_t IntReg;
+typedef RegVal IntReg;
 
 // floating point register file entry type
-typedef uint64_t FloatRegBits;
-typedef double FloatReg;
+typedef RegVal FloatRegBits;
+typedef FloatRegVal FloatReg;
 
 // Number of VecElem per Vector Register, computed based on the vector length
 constexpr unsigned NumVecElemPerVecReg = 4;
@@ -73,7 +73,7 @@ using ConstVecReg = ::VecRegT<VecElem, NumVecElemPerVecReg, true>;
 using VecRegContainer = VecReg::Container;
 
 // cop-0/cop-1 system control register
-typedef uint64_t MiscReg;
+typedef RegVal MiscReg;
 
 // condition code register; must be at least 32 bits for FpCondCodes
 typedef uint64_t CCReg;
index dbac83995a4051c52e2e0e389a2e82915a9b49ff..d2095d84d1842ab4e0fcc4370f09ba75f5bfed2e 100644 (file)
@@ -278,14 +278,14 @@ const int NumMiscRegs = MISCREG_NUMREGS;
 
 const int TotalNumRegs = NumIntRegs + NumFloatRegs + NumMiscRegs;
 
-typedef uint64_t IntReg;
+typedef RegVal IntReg;
 
 // floating point register file entry type
-typedef uint64_t FloatRegBits;
-typedef double FloatReg;
+typedef RegVal FloatRegBits;
+typedef FloatRegVal FloatReg;
 
 // cop-0/cop-1 system control register
-typedef uint64_t MiscReg;
+typedef RegVal MiscReg;
 
 // dummy typedef since we don't have CC regs
 typedef uint8_t CCReg;
index 5dd873222bd30ca031b3a8dfb93c20898f5d018c..527193cc436ac36170d074434ca077848c2d0ac9 100644 (file)
 
 namespace NullISA {
 
-typedef uint64_t IntReg;
-typedef uint64_t FloatRegBits;
-typedef double FloatReg;
+typedef RegVal IntReg;
+typedef RegVal FloatRegBits;
+typedef FloatRegVal FloatReg;
 typedef uint8_t CCReg;
-typedef uint64_t MiscReg;
+typedef RegVal MiscReg;
 const RegIndex ZeroReg = 0;
 
 // dummy typedefs since we don't have vector regs
index adbaae539f87e0690acf97f9ff9cf49ecc1bbb20..39f7d34f80fe8ed71cf0c8428154878df67e4b85 100644 (file)
@@ -34,6 +34,7 @@
 #include "arch/generic/vec_reg.hh"
 #include "arch/power/generated/max_inst_regs.hh"
 #include "arch/power/miscregs.hh"
+#include "base/types.hh"
 
 namespace PowerISA {
 
@@ -44,12 +45,12 @@ using PowerISAInst::MaxInstDestRegs;
 // be detected by it. Manually add it here.
 const int MaxMiscDestRegs = PowerISAInst::MaxMiscDestRegs + 1;
 
-typedef uint64_t IntReg;
+typedef RegVal IntReg;
 
 // Floating point register file entry type
-typedef uint64_t FloatRegBits;
-typedef double FloatReg;
-typedef uint64_t MiscReg;
+typedef RegVal FloatRegBits;
+typedef FloatRegVal FloatReg;
+typedef RegVal MiscReg;
 
 // dummy typedef since we don't have CC regs
 typedef uint8_t CCReg;
index bd95cf8210e570b7717d974ea89a5ef4a41b6f57..75f74ef2d2dedea45c0d81848e164e233b6a77ff 100644 (file)
@@ -63,11 +63,11 @@ using RiscvISAInst::MaxInstSrcRegs;
 using RiscvISAInst::MaxInstDestRegs;
 const int MaxMiscDestRegs = 1;
 
-typedef uint64_t IntReg;
-typedef uint64_t FloatRegBits;
-typedef double FloatReg;
+typedef RegVal IntReg;
+typedef RegVal FloatRegBits;
+typedef FloatRegVal FloatReg;
 typedef uint8_t CCReg; // Not applicable to Riscv
-typedef uint64_t MiscReg;
+typedef RegVal MiscReg;
 
 // dummy typedefs since we don't have vector regs
 const unsigned NumVecElemPerVecReg = 2;
index b5acaeff1be6303f0d29b95db2e75dfe012f5458..362126c76004995cecedd6c5966b068d260a5399 100644 (file)
@@ -45,10 +45,10 @@ using SparcISAInst::MaxInstSrcRegs;
 using SparcISAInst::MaxInstDestRegs;
 using SparcISAInst::MaxMiscDestRegs;
 
-typedef uint64_t IntReg;
-typedef uint64_t MiscReg;
-typedef double FloatReg;
-typedef uint64_t FloatRegBits;
+typedef RegVal IntReg;
+typedef RegVal MiscReg;
+typedef FloatRegVal FloatReg;
+typedef RegVal FloatRegBits;
 
 // dummy typedef since we don't have CC regs
 typedef uint8_t CCReg;
index c2977f8a2b3863e763e542f3ad7417141249b7e6..a2a74cc4ab40fe7c3deb7ae11a39067b28dc0841 100644 (file)
@@ -90,9 +90,9 @@ const int FramePointerReg = INTREG_RBP;
 // value
 const int SyscallPseudoReturnReg = INTREG_RDX;
 
-typedef uint64_t IntReg;
+typedef RegVal IntReg;
 typedef uint64_t CCReg;
-typedef uint64_t MiscReg;
+typedef RegVal MiscReg;
 
 // dummy typedefs since we don't have vector regs
 constexpr unsigned NumVecElemPerVecReg = 2;
@@ -105,8 +105,8 @@ constexpr unsigned NumVecRegs = 1;
 
 //These floating point types are correct for mmx, but not
 //technically for x87 (80 bits) or at all for xmm (128 bits)
-typedef double FloatReg;
-typedef uint64_t FloatRegBits;
+typedef FloatRegVal FloatReg;
+typedef RegVal FloatRegBits;
 
 } // namespace X86ISA