Commit f0413473ffc804255bad55e71a03e839161409ce

Authored by aurel32
1 parent 86c581dc

[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
target-ppc/op.c
@@ -136,13 +136,6 @@ void OPPROTO op_set_Rc0 (void) @@ -136,13 +136,6 @@ void OPPROTO op_set_Rc0 (void)
136 RETURN(); 136 RETURN();
137 } 137 }
138 138
139 -/* Constants load */  
140 -void OPPROTO op_moven_T2_T0 (void)  
141 -{  
142 - T2 = ~T0;  
143 - RETURN();  
144 -}  
145 -  
146 /* Generate exceptions */ 139 /* Generate exceptions */
147 void OPPROTO op_raise_exception_err (void) 140 void OPPROTO op_raise_exception_err (void)
148 { 141 {
target-ppc/translate.c
@@ -914,7 +914,7 @@ GEN_INT_ARITH1_64 (neg, 0x1F, 0x08, 0x03, PPC_INTEGER); @@ -914,7 +914,7 @@ GEN_INT_ARITH1_64 (neg, 0x1F, 0x08, 0x03, PPC_INTEGER);
914 /* subf subf. subfo subfo. */ 914 /* subf subf. subfo subfo. */
915 static always_inline void gen_op_subfo (void) 915 static always_inline void gen_op_subfo (void)
916 { 916 {
917 - gen_op_moven_T2_T0(); 917 + tcg_gen_not_tl(cpu_T[2], cpu_T[0]);
918 gen_op_subf(); 918 gen_op_subf();
919 gen_op_check_addo(); 919 gen_op_check_addo();
920 } 920 }
@@ -922,7 +922,7 @@ static always_inline void gen_op_subfo (void) @@ -922,7 +922,7 @@ static always_inline void gen_op_subfo (void)
922 #define gen_op_subf_64 gen_op_subf 922 #define gen_op_subf_64 gen_op_subf
923 static always_inline void gen_op_subfo_64 (void) 923 static always_inline void gen_op_subfo_64 (void)
924 { 924 {
925 - gen_op_moven_T2_T0(); 925 + tcg_gen_not_i64(cpu_T[2], cpu_T[0]);
926 gen_op_subf(); 926 gen_op_subf();
927 gen_op_check_addo_64(); 927 gen_op_check_addo_64();
928 } 928 }
@@ -936,7 +936,7 @@ static always_inline void gen_op_subfc (void) @@ -936,7 +936,7 @@ static always_inline void gen_op_subfc (void)
936 } 936 }
937 static always_inline void gen_op_subfco (void) 937 static always_inline void gen_op_subfco (void)
938 { 938 {
939 - gen_op_moven_T2_T0(); 939 + tcg_gen_not_tl(cpu_T[2], cpu_T[0]);
940 gen_op_subf(); 940 gen_op_subf();
941 gen_op_check_subfc(); 941 gen_op_check_subfc();
942 gen_op_check_addo(); 942 gen_op_check_addo();
@@ -949,7 +949,7 @@ static always_inline void gen_op_subfc_64 (void) @@ -949,7 +949,7 @@ static always_inline void gen_op_subfc_64 (void)
949 } 949 }
950 static always_inline void gen_op_subfco_64 (void) 950 static always_inline void gen_op_subfco_64 (void)
951 { 951 {
952 - gen_op_moven_T2_T0(); 952 + tcg_gen_not_i64(cpu_T[2], cpu_T[0]);
953 gen_op_subf(); 953 gen_op_subf();
954 gen_op_check_subfc_64(); 954 gen_op_check_subfc_64();
955 gen_op_check_addo_64(); 955 gen_op_check_addo_64();
@@ -959,7 +959,7 @@ GEN_INT_ARITH2_64 (subfc, 0x1F, 0x08, 0x00, PPC_INTEGER); @@ -959,7 +959,7 @@ GEN_INT_ARITH2_64 (subfc, 0x1F, 0x08, 0x00, PPC_INTEGER);
959 /* subfe subfe. subfeo subfeo. */ 959 /* subfe subfe. subfeo subfeo. */
960 static always_inline void gen_op_subfeo (void) 960 static always_inline void gen_op_subfeo (void)
961 { 961 {
962 - gen_op_moven_T2_T0(); 962 + tcg_gen_not_tl(cpu_T[2], cpu_T[0]);
963 gen_op_subfe(); 963 gen_op_subfe();
964 gen_op_check_addo(); 964 gen_op_check_addo();
965 } 965 }
@@ -967,7 +967,7 @@ static always_inline void gen_op_subfeo (void) @@ -967,7 +967,7 @@ static always_inline void gen_op_subfeo (void)
967 #define gen_op_subfe_64 gen_op_subfe 967 #define gen_op_subfe_64 gen_op_subfe
968 static always_inline void gen_op_subfeo_64 (void) 968 static always_inline void gen_op_subfeo_64 (void)
969 { 969 {
970 - gen_op_moven_T2_T0(); 970 + tcg_gen_not_i64(cpu_T[2], cpu_T[0]);
971 gen_op_subfe_64(); 971 gen_op_subfe_64();
972 gen_op_check_addo_64(); 972 gen_op_check_addo_64();
973 } 973 }