From 6211fe5d2ee00dae9cd72d9cccdc900241a8f9a2 Mon Sep 17 00:00:00 2001 From: Korey Sewell Date: Tue, 12 May 2009 15:01:15 -0400 Subject: inorder-float: Fix storage of FP results inorder was incorrectly storing FP values and confusing the integer/fp storage view of floating point operations. A big issue was knowing trying to infer when were doing single or double precision access because this lets you know the size of value to store (32-64 bits). This isnt exactly straightforward since alpha uses all 64-bit regs while mips/sparc uses a dual-reg view. by getting this value from the actual floating point register file, the model can figure out what it needs to store --- src/arch/alpha/floatregfile.hh | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/arch') diff --git a/src/arch/alpha/floatregfile.hh b/src/arch/alpha/floatregfile.hh index a5a3a7861..f6abb1f86 100644 --- a/src/arch/alpha/floatregfile.hh +++ b/src/arch/alpha/floatregfile.hh @@ -52,6 +52,8 @@ const int QuadBytes = QuadWidth / 4; class FloatRegFile { public: + static const int regWidth = DoubleWidth; + union { uint64_t q[NumFloatRegs]; // integer qword view double d[NumFloatRegs]; // double-precision floating point view -- cgit v1.2.3