Commit c59b97aad76ccb9a33c747cae308cc73db7792d8

Authored by pbrook
1 parent aab8588a

Fix ColdFire fdmoved address decoding.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6641 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 4 additions and 4 deletions
target-m68k/translate.c
@@ -2141,7 +2141,7 @@ DISAS_INSN(fpu) @@ -2141,7 +2141,7 @@ DISAS_INSN(fpu)
2141 break; 2141 break;
2142 case 5: /* OS_DOUBLE */ 2142 case 5: /* OS_DOUBLE */
2143 tcg_gen_mov_i32(tmp32, AREG(insn, 0)); 2143 tcg_gen_mov_i32(tmp32, AREG(insn, 0));
2144 - switch (insn >> 3) { 2144 + switch ((insn >> 3) & 7) {
2145 case 2: 2145 case 2:
2146 case 3: 2146 case 3:
2147 case 4: 2147 case 4:
@@ -2156,7 +2156,7 @@ DISAS_INSN(fpu) @@ -2156,7 +2156,7 @@ DISAS_INSN(fpu)
2156 goto undef; 2156 goto undef;
2157 } 2157 }
2158 gen_store64(s, tmp32, src); 2158 gen_store64(s, tmp32, src);
2159 - switch (insn >> 3) { 2159 + switch ((insn >> 3) & 7) {
2160 case 3: 2160 case 3:
2161 tcg_gen_addi_i32(tmp32, tmp32, 8); 2161 tcg_gen_addi_i32(tmp32, tmp32, 8);
2162 tcg_gen_mov_i32(AREG(insn, 0), tmp32); 2162 tcg_gen_mov_i32(AREG(insn, 0), tmp32);
@@ -2254,7 +2254,7 @@ DISAS_INSN(fpu) @@ -2254,7 +2254,7 @@ DISAS_INSN(fpu)
2254 if (opsize == OS_DOUBLE) { 2254 if (opsize == OS_DOUBLE) {
2255 tmp32 = tcg_temp_new_i32(); 2255 tmp32 = tcg_temp_new_i32();
2256 tcg_gen_mov_i32(tmp32, AREG(insn, 0)); 2256 tcg_gen_mov_i32(tmp32, AREG(insn, 0));
2257 - switch (insn >> 3) { 2257 + switch ((insn >> 3) & 7) {
2258 case 2: 2258 case 2:
2259 case 3: 2259 case 3:
2260 case 4: 2260 case 4:
@@ -2275,7 +2275,7 @@ DISAS_INSN(fpu) @@ -2275,7 +2275,7 @@ DISAS_INSN(fpu)
2275 goto undef; 2275 goto undef;
2276 } 2276 }
2277 src = gen_load64(s, tmp32); 2277 src = gen_load64(s, tmp32);
2278 - switch (insn >> 3) { 2278 + switch ((insn >> 3) & 7) {
2279 case 3: 2279 case 3:
2280 tcg_gen_addi_i32(tmp32, tmp32, 8); 2280 tcg_gen_addi_i32(tmp32, tmp32, 8);
2281 tcg_gen_mov_i32(AREG(insn, 0), tmp32); 2281 tcg_gen_mov_i32(AREG(insn, 0), tmp32);