Minor changes for FP ... MIPS now works for floating-point programs...

Now we are to the point where more benchmarks and instruction-coverage
is necessary to totally verify/validate correct operation across
all MIPS instructions

arch/mips/isa_traits.hh:
    fix for reading double values ... must rearrange bits before using void* to read double.
configs/test/hello_mips:
    real hello world MIPS binary

--HG--
extra : convert_revision : 153de1f8a830882c6972bd0bdb56da818f614def
This commit is contained in:
Korey Sewell 2006-05-07 14:09:19 -04:00
parent a7565418d2
commit 0930024b88
2 changed files with 4 additions and 2 deletions

View file

@ -190,6 +190,7 @@ namespace MipsISA
};
typedef float FloatReg;
typedef double FPVal;
typedef uint32_t FloatReg32;
typedef uint64_t FloatReg64;
@ -230,7 +231,8 @@ namespace MipsISA
return *(float *) float_ptr;
case DoubleWidth:
void *double_ptr = &regs[floatReg];
uint64_t double_val = (FloatReg64)regs[floatReg + 1] << 32 | regs[floatReg];
void *double_ptr = &double_val;
return *(double *) double_ptr;
default:
@ -255,7 +257,7 @@ namespace MipsISA
}
}
Fault setReg(int floatReg, const FloatReg &val, int width)
Fault setReg(int floatReg, const FPVal &val, int width)
{
switch(width)

Binary file not shown.