summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--target-ppc/translate.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/target-ppc/translate.c b/target-ppc/translate.c
index 386343ede9..e400cf2da1 100644
--- a/target-ppc/translate.c
+++ b/target-ppc/translate.c
@@ -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)]);