Fix mfcr on ppc64-softmmu
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 7 Mar 2009 20:57:47 +0000 (20:57 +0000)
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>
Sat, 7 Mar 2009 20:57:47 +0000 (20:57 +0000)
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6758 c046a42c-6fe2-441c-8c8c-71466251a162

target-ppc/translate.c

index 386343e..e400cf2 100644 (file)
@@ -3855,8 +3855,8 @@ GEN_HANDLER(mfcr, 0x1F, 0x13, 0x00, 0x00000801, PPC_MISC)
         if (likely(crm && ((crm & (crm - 1)) == 0))) {
             crn = ctz32 (crm);
             tcg_gen_extu_i32_tl(cpu_gpr[rD(ctx->opcode)], cpu_crf[7 - crn]);
-            tcg_gen_shli_i32(cpu_gpr[rD(ctx->opcode)],
-                             cpu_gpr[rD(ctx->opcode)], crn * 4);
+            tcg_gen_shli_tl(cpu_gpr[rD(ctx->opcode)],
+                            cpu_gpr[rD(ctx->opcode)], crn * 4);
         }
     } else {
         gen_helper_load_cr(cpu_gpr[rD(ctx->opcode)]);