diff --git a/target-ppc/op.c b/target-ppc/op.c index 70c2a1309fb5ec0c50b911b34bb28a07926b8c13..5451fd47a3e1e28c1d7ed2d5fe311b6c4ef20210 100644 --- a/target-ppc/op.c +++ b/target-ppc/op.c @@ -410,16 +410,6 @@ void OPPROTO op_load_fpscr_FT0 (void) RETURN(); } -void OPPROTO op_set_FT0 (void) -{ - CPU_DoubleU u; - - u.l.upper = 0; - u.l.lower = PARAM1; - FT0 = u.d; - RETURN(); -} - void OPPROTO op_load_fpscr_T0 (void) { T0 = (env->fpscr >> PARAM1) & 0xF; diff --git a/target-ppc/translate.c b/target-ppc/translate.c index f7f31f43fa9ac212849cbe9167e9c236084f438c..d95227682340dfae30b414f16ab96a2b0615fad6 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -2094,7 +2094,7 @@ GEN_HANDLER(mtfsfi, 0x3F, 0x06, 0x04, 0x006f0800, PPC_FLOAT) bf = crbD(ctx->opcode) >> 2; sh = 7 - bf; gen_optimize_fprf(); - gen_op_set_FT0(FPIMM(ctx->opcode) << (4 * sh)); + tcg_gen_movi_i64(cpu_FT[0], FPIMM(ctx->opcode) << (4 * sh)); gen_reset_fpstatus(); gen_op_store_fpscr(1 << sh); if (unlikely(Rc(ctx->opcode) != 0)) {