diff options
author | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-02 23:26:40 +0000 |
---|---|---|
committer | aurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-09-02 23:26:40 +0000 |
commit | f0413473ffc804255bad55e71a03e839161409ce (patch) | |
tree | cbf26ba33d3a5838fbdce1f30707102585dbd0c8 | |
parent | 86c581dc80d4be2bb513141edc053b6f284e924d (diff) |
[ppc] Convert op_moven_T2_T0 to TCG
Signed-off-by: Andreas Faerber <andreas.faerber@web.de>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5143 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r-- | target-ppc/op.c | 7 | ||||
-rw-r--r-- | target-ppc/translate.c | 12 |
2 files changed, 6 insertions, 13 deletions
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(); } |