diff options
author | Gabe Black <gblack@eecs.umich.edu> | 2011-01-15 15:30:17 -0800 |
---|---|---|
committer | Gabe Black <gblack@eecs.umich.edu> | 2011-01-15 15:30:17 -0800 |
commit | 371603f12c901df748bdb9d75ea10660bc876e1f (patch) | |
tree | 0b095aa56378e128f191fa172cbcdc80cfb0035d /src | |
parent | bec0103bb41463b81456f5ab5ac35362feb561b1 (diff) | |
download | gem5-371603f12c901df748bdb9d75ea10660bc876e1f.tar.xz |
SPARC: Adjust the "call" instruction so R15 doesn't get marked as a source.
Diffstat (limited to 'src')
-rw-r--r-- | src/arch/sparc/isa/decoder.isa | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/arch/sparc/isa/decoder.isa b/src/arch/sparc/isa/decoder.isa index e1d4a8fbd..5ca015a8f 100644 --- a/src/arch/sparc/isa/decoder.isa +++ b/src/arch/sparc/isa/decoder.isa @@ -138,11 +138,9 @@ decode OP default Unknown::unknown() } } 0x1: BranchN::call(30, {{ - if (Pstate<3:>) - R15 = (PC)<31:0>; - else - R15 = PC; - NNPC = R15 + disp; + IntReg midVal; + R15 = midVal = (Pstate<3:> ? (PC)<31:0> : PC); + NNPC = midVal + disp; }}); 0x2: decode OP3 { format IntOp { |