summaryrefslogtreecommitdiff
path: root/src/arch/sparc
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/sparc')
-rw-r--r--src/arch/sparc/isa/decoder.isa8
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 {