diff options
author | Vince Weaver <vince@csl.cornell.edu> | 2009-09-15 05:48:20 -0700 |
---|---|---|
committer | Vince Weaver <vince@csl.cornell.edu> | 2009-09-15 05:48:20 -0700 |
commit | 0f569b4d9dd5b7be253d45c22e9c40f615e90ecd (patch) | |
tree | abc382d91f888c10de08a3c3320a21ad471359fb /src/arch | |
parent | 9900ac95b5c0e197f03e5efd8d9f840a643b32c6 (diff) | |
download | gem5-0f569b4d9dd5b7be253d45c22e9c40f615e90ecd.tar.xz |
SPARC: Make resTemp in udivcc wide enough to hold all the bits we need.
Diffstat (limited to 'src/arch')
-rw-r--r-- | src/arch/sparc/isa/decoder.isa | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa index e34ca033f..ce5e34ff0 100644 --- a/src/arch/sparc/isa/decoder.isa +++ b/src/arch/sparc/isa/decoder.isa @@ -226,7 +226,8 @@ decode OP default Unknown::unknown() if(Rs2_or_imm13.udw == 0) fault = new DivisionByZero; else Rd = Rs1.udw / Rs2_or_imm13.udw;}}); 0x1E: IntOpCcRes::udivcc({{ - uint32_t resTemp, val2 = Rs2_or_imm13.udw; + uint64_t resTemp; + uint32_t val2 = Rs2_or_imm13.udw; int32_t overflow = 0; if(val2 == 0) fault = new DivisionByZero; else |