summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorVince Weaver <vince@csl.cornell.edu>2009-09-15 05:48:20 -0700
committerVince Weaver <vince@csl.cornell.edu>2009-09-15 05:48:20 -0700
commit0f569b4d9dd5b7be253d45c22e9c40f615e90ecd (patch)
treeabc382d91f888c10de08a3c3320a21ad471359fb /src/arch
parent9900ac95b5c0e197f03e5efd8d9f840a643b32c6 (diff)
downloadgem5-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.isa3
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