From c59b97aad76ccb9a33c747cae308cc73db7792d8 Mon Sep 17 00:00:00 2001 From: pbrook Date: Mon, 23 Feb 2009 14:17:33 +0000 Subject: [PATCH] Fix ColdFire fdmoved address decoding. git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6641 c046a42c-6fe2-441c-8c8c-71466251a162 --- target-m68k/translate.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/target-m68k/translate.c b/target-m68k/translate.c index ef976cf563..44214a0435 100644 --- a/target-m68k/translate.c +++ b/target-m68k/translate.c @@ -2141,7 +2141,7 @@ DISAS_INSN(fpu) break; case 5: /* OS_DOUBLE */ tcg_gen_mov_i32(tmp32, AREG(insn, 0)); - switch (insn >> 3) { + switch ((insn >> 3) & 7) { case 2: case 3: case 4: @@ -2156,7 +2156,7 @@ DISAS_INSN(fpu) goto undef; } gen_store64(s, tmp32, src); - switch (insn >> 3) { + switch ((insn >> 3) & 7) { case 3: tcg_gen_addi_i32(tmp32, tmp32, 8); tcg_gen_mov_i32(AREG(insn, 0), tmp32); @@ -2254,7 +2254,7 @@ DISAS_INSN(fpu) if (opsize == OS_DOUBLE) { tmp32 = tcg_temp_new_i32(); tcg_gen_mov_i32(tmp32, AREG(insn, 0)); - switch (insn >> 3) { + switch ((insn >> 3) & 7) { case 2: case 3: case 4: @@ -2275,7 +2275,7 @@ DISAS_INSN(fpu) goto undef; } src = gen_load64(s, tmp32); - switch (insn >> 3) { + switch ((insn >> 3) & 7) { case 3: tcg_gen_addi_i32(tmp32, tmp32, 8); tcg_gen_mov_i32(AREG(insn, 0), tmp32); -- 2.11.0