[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
This commit is contained in:
parent
86c581dc80
commit
f0413473ff
|
@ -136,13 +136,6 @@ void OPPROTO op_set_Rc0 (void)
|
||||||
RETURN();
|
RETURN();
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Constants load */
|
|
||||||
void OPPROTO op_moven_T2_T0 (void)
|
|
||||||
{
|
|
||||||
T2 = ~T0;
|
|
||||||
RETURN();
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Generate exceptions */
|
/* Generate exceptions */
|
||||||
void OPPROTO op_raise_exception_err (void)
|
void OPPROTO op_raise_exception_err (void)
|
||||||
{
|
{
|
||||||
|
|
|
@ -914,7 +914,7 @@ GEN_INT_ARITH1_64 (neg, 0x1F, 0x08, 0x03, PPC_INTEGER);
|
||||||
/* subf subf. subfo subfo. */
|
/* subf subf. subfo subfo. */
|
||||||
static always_inline void gen_op_subfo (void)
|
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_subf();
|
||||||
gen_op_check_addo();
|
gen_op_check_addo();
|
||||||
}
|
}
|
||||||
|
@ -922,7 +922,7 @@ static always_inline void gen_op_subfo (void)
|
||||||
#define gen_op_subf_64 gen_op_subf
|
#define gen_op_subf_64 gen_op_subf
|
||||||
static always_inline void gen_op_subfo_64 (void)
|
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_subf();
|
||||||
gen_op_check_addo_64();
|
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)
|
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_subf();
|
||||||
gen_op_check_subfc();
|
gen_op_check_subfc();
|
||||||
gen_op_check_addo();
|
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)
|
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_subf();
|
||||||
gen_op_check_subfc_64();
|
gen_op_check_subfc_64();
|
||||||
gen_op_check_addo_64();
|
gen_op_check_addo_64();
|
||||||
|
@ -959,7 +959,7 @@ GEN_INT_ARITH2_64 (subfc, 0x1F, 0x08, 0x00, PPC_INTEGER);
|
||||||
/* subfe subfe. subfeo subfeo. */
|
/* subfe subfe. subfeo subfeo. */
|
||||||
static always_inline void gen_op_subfeo (void)
|
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_subfe();
|
||||||
gen_op_check_addo();
|
gen_op_check_addo();
|
||||||
}
|
}
|
||||||
|
@ -967,7 +967,7 @@ static always_inline void gen_op_subfeo (void)
|
||||||
#define gen_op_subfe_64 gen_op_subfe
|
#define gen_op_subfe_64 gen_op_subfe
|
||||||
static always_inline void gen_op_subfeo_64 (void)
|
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_subfe_64();
|
||||||
gen_op_check_addo_64();
|
gen_op_check_addo_64();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue