summaryrefslogtreecommitdiff
path: root/target-ppc/translate.c
diff options
context:
space:
mode:
Diffstat (limited to 'target-ppc/translate.c')
-rw-r--r--target-ppc/translate.c12
1 files changed, 6 insertions, 6 deletions
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();
}