aboutsummaryrefslogtreecommitdiff
path: root/target-alpha
diff options
context:
space:
mode:
Diffstat (limited to 'target-alpha')
-rw-r--r--target-alpha/translate.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/target-alpha/translate.c b/target-alpha/translate.c
index 5d7454ce95..936760c5ad 100644
--- a/target-alpha/translate.c
+++ b/target-alpha/translate.c
@@ -1661,7 +1661,10 @@ static void gen_mtpr(int rb, int regno)
static ExitStatus translate_one(DisasContext *ctx, uint32_t insn)
{
uint32_t palcode;
- int32_t disp21, disp16, disp12;
+ int32_t disp21, disp16;
+#ifndef CONFIG_USER_ONLY
+ int32_t disp12;
+#endif
uint16_t fn11;
uint8_t opc, ra, rb, rc, fpfn, fn7, islit, real_islit;
uint8_t lit;
@@ -1681,7 +1684,9 @@ static ExitStatus translate_one(DisasContext *ctx, uint32_t insn)
palcode = insn & 0x03FFFFFF;
disp21 = ((int32_t)((insn & 0x001FFFFF) << 11)) >> 11;
disp16 = (int16_t)(insn & 0x0000FFFF);
+#ifndef CONFIG_USER_ONLY
disp12 = (int32_t)((insn & 0x00000FFF) << 20) >> 20;
+#endif
fn11 = (insn >> 5) & 0x000007FF;
fpfn = fn11 & 0x3F;
fn7 = (insn >> 5) & 0x0000007F;