diff --git a/target-ppc/op.c b/target-ppc/op.c index 3ee326d5fb..e663e607ec 100644 --- a/target-ppc/op.c +++ b/target-ppc/op.c @@ -136,13 +136,6 @@ void OPPROTO op_set_Rc0 (void) RETURN(); } -/* Constants load */ -void OPPROTO op_moven_T2_T0 (void) -{ - T2 = ~T0; - RETURN(); -} - /* Generate exceptions */ void OPPROTO op_raise_exception_err (void) { diff --git a/target-ppc/translate.c b/target-ppc/translate.c index fe1de7e160..906893657d 100644 --- a/target-ppc/translate.c +++ b/target-ppc/translate.c @@ -914,7 +914,7 @@ GEN_INT_ARITH1_64 (neg, 0x1F, 0x08, 0x03, PPC_INTEGER); /* subf subf. subfo subfo. */ static always_inline void gen_op_subfo (void) { - gen_op_moven_T2_T0(); + tcg_gen_not_tl(cpu_T[2], cpu_T[0]); gen_op_subf(); gen_op_check_addo(); } @@ -922,7 +922,7 @@ static always_inline void gen_op_subfo (void) #define gen_op_subf_64 gen_op_subf static always_inline void gen_op_subfo_64 (void) { - gen_op_moven_T2_T0(); + tcg_gen_not_i64(cpu_T[2], cpu_T[0]); gen_op_subf(); gen_op_check_addo_64(); } @@ -936,7 +936,7 @@ static always_inline void gen_op_subfc (void) } static always_inline void gen_op_subfco (void) { - gen_op_moven_T2_T0(); + tcg_gen_not_tl(cpu_T[2], cpu_T[0]); gen_op_subf(); gen_op_check_subfc(); gen_op_check_addo(); @@ -949,7 +949,7 @@ static always_inline void gen_op_subfc_64 (void) } static always_inline void gen_op_subfco_64 (void) { - gen_op_moven_T2_T0(); + tcg_gen_not_i64(cpu_T[2], cpu_T[0]); gen_op_subf(); gen_op_check_subfc_64(); gen_op_check_addo_64(); @@ -959,7 +959,7 @@ GEN_INT_ARITH2_64 (subfc, 0x1F, 0x08, 0x00, PPC_INTEGER); /* subfe subfe. subfeo subfeo. */ static always_inline void gen_op_subfeo (void) { - gen_op_moven_T2_T0(); + tcg_gen_not_tl(cpu_T[2], cpu_T[0]); gen_op_subfe(); gen_op_check_addo(); } @@ -967,7 +967,7 @@ static always_inline void gen_op_subfeo (void) #define gen_op_subfe_64 gen_op_subfe static always_inline void gen_op_subfeo_64 (void) { - gen_op_moven_T2_T0(); + tcg_gen_not_i64(cpu_T[2], cpu_T[0]); gen_op_subfe_64(); gen_op_check_addo_64(); }