diff options
Diffstat (limited to 'src/arch')
-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 { |