summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target-sparc/translate.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/target-sparc/translate.c b/target-sparc/translate.c
index c19797e3bd..bbd072c37a 100644
--- a/target-sparc/translate.c
+++ b/target-sparc/translate.c
@@ -970,7 +970,7 @@ static void disas_sparc_insn(DisasContext * dc)
case 0x3: /* V9 BPr */
{
target = GET_FIELD_SP(insn, 0, 13) |
- (GET_FIELD_SP(insn, 20, 21) >> 7);
+ (GET_FIELD_SP(insn, 20, 21) << 14);
target = sign_extend(target, 16);
target <<= 2;
rs1 = GET_FIELD(insn, 13, 17);